git.postgresql.org Git - postgresql.git/commitdiff

git projects / postgresql.git / commitdiff
? search:
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 0a971e2)
TablespaceCreateDbspace should function normally even on platforms that do not
2006年3月29日 15:15:43 +0000 (15:15 +0000)
2006年3月29日 15:15:43 +0000 (15:15 +0000)
have symlinks (ie, Windows). Although it'll never be called on to do anything
useful during normal operation on such a platform, it's still needed to
re-create dropped directories during WAL replay.


diff --git a/src/backend/commands/tablespace.c b/src/backend/commands/tablespace.c
index 026bbf5169ff8624f7b0814af4188fdfe1784638..84b8f02736d24caaad59c777e0e83078f57ed348 100644 (file)
--- a/src/backend/commands/tablespace.c
+++ b/src/backend/commands/tablespace.c
@@ -37,7 +37,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/commands/tablespace.c,v 1.32 2006年03月24日 04:32:13 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/commands/tablespace.c,v 1.33 2006年03月29日 15:15:43 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -81,9 +81,6 @@ static void set_short_version(const char *path);
* object in the tablespace, create the subdirectory. If the subdirectory
* already exists, just fall through quietly.
*
- * If tablespaces are not supported, this is just a no-op; CREATE DATABASE
- * is expected to create the default subdirectory for the database.
- *
* isRedo indicates that we are creating an object during WAL replay.
* In this case we will cope with the possibility of the tablespace
* directory not being there either --- this could happen if we are
@@ -91,11 +88,14 @@ static void set_short_version(const char *path);
* We handle this by making a directory in the place where the tablespace
* symlink would normally be. This isn't an exact replay of course, but
* it's the best we can do given the available information.
+ *
+ * If tablespaces are not supported, you might think this could be a no-op,
+ * but you'd be wrong: we still need it in case we have to re-create a
+ * database subdirectory (of $PGDATA/base) during WAL replay.
*/
void
TablespaceCreateDbspace(Oid spcNode, Oid dbNode, bool isRedo)
{
-#ifdef HAVE_SYMLINK
struct stat st;
char *dir;
@@ -178,7 +178,6 @@ TablespaceCreateDbspace(Oid spcNode, Oid dbNode, bool isRedo)
}
pfree(dir);
-#endif /* HAVE_SYMLINK */
}
/*
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /