|
|
|
|
@ -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) |
|
|
|
|
|