Per Tatsuo's recommendation, change mdopen so that it won't

automatically create the file, except during bootstrap mode where that
seems to be necessary.
This commit is contained in:
Tom Lane 1999-09-05 23:24:53 +00:00
parent 0041202b98
commit b9d01fe288
1 changed files with 14 additions and 4 deletions

View File

@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/storage/smgr/md.c,v 1.52 1999/09/02 02:57:49 tgl Exp $
* $Header: /cvsroot/pgsql/src/backend/storage/smgr/md.c,v 1.53 1999/09/05 23:24:53 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@ -284,13 +284,23 @@ mdopen(Relation reln)
fd = FileNameOpenFile(path, O_RDWR | O_BINARY, 0600);
#endif
/* this should only happen during bootstrap processing */
if (fd < 0)
{
/* in bootstrap mode, accept mdopen as substitute for mdcreate */
if (IsBootstrapProcessingMode())
{
#ifndef __CYGWIN32__
fd = FileNameOpenFile(path, O_RDWR | O_CREAT | O_EXCL, 0600);
fd = FileNameOpenFile(path, O_RDWR | O_CREAT | O_EXCL, 0600);
#else
fd = FileNameOpenFile(path, O_RDWR | O_CREAT | O_EXCL | O_BINARY, 0600);
fd = FileNameOpenFile(path, O_RDWR | O_CREAT | O_EXCL | O_BINARY, 0600);
#endif
}
if (fd < 0)
{
elog(ERROR, "mdopen: couldn't open %s: %m", path);
return -1;
}
}
vfd = _fdvec_alloc();
if (vfd < 0)