summaryrefslogtreecommitdiff
path: root/src/backend/commands/tablespace.c
diff options
context:
space:
mode:
authorTom Lane2006-03-29 15:15:43 +0000
committerTom Lane2006-03-29 15:15:43 +0000
commit2154e1c11e4fbb6b41f6db1ea7c49e25f98d0df7 (patch)
tree1d654ced0de8eb905226e0aad86c6ac75b7b501b /src/backend/commands/tablespace.c
parent0a971e2f2059a23ad6f03ef23a0f48f3d2b2146b (diff)
TablespaceCreateDbspace should function normally even on platforms that do not
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.
Diffstat (limited to 'src/backend/commands/tablespace.c')
-rw-r--r--src/backend/commands/tablespace.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/backend/commands/tablespace.c b/src/backend/commands/tablespace.c
index 026bbf5169f..84b8f02736d 100644
--- 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 */
}
/*