aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands/tablespace.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2006-03-29 15:15:43 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2006-03-29 15:15:43 +0000
commit2154e1c11e4fbb6b41f6db1ea7c49e25f98d0df7 (patch)
tree1d654ced0de8eb905226e0aad86c6ac75b7b501b /src/backend/commands/tablespace.c
parent0a971e2f2059a23ad6f03ef23a0f48f3d2b2146b (diff)
downloadpostgresql-2154e1c11e4fbb6b41f6db1ea7c49e25f98d0df7.tar.gz
postgresql-2154e1c11e4fbb6b41f6db1ea7c49e25f98d0df7.zip
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 */
}
/*