Skip to content
Snippets Groups Projects
Commit c282b36d authored by Bruce Momjian's avatar Bruce Momjian
Browse files

More tablespace.c comment improvements.

parent 85fcbd86
No related branches found
No related tags found
No related merge requests found
......@@ -37,7 +37,7 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/commands/tablespace.c,v 1.69 2010/01/07 04:05:39 momjian Exp $
* $PostgreSQL: pgsql/src/backend/commands/tablespace.c,v 1.70 2010/01/07 04:10:39 momjian Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -99,9 +99,8 @@ static void write_version_file(const char *path);
* 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.
* If tablespaces are not supported, 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)
......@@ -123,6 +122,7 @@ TablespaceCreateDbspace(Oid spcNode, Oid dbNode, bool isRedo)
if (stat(dir, &st) < 0)
{
/* Directory does not exist? */
if (errno == ENOENT)
{
/*
......@@ -137,7 +137,7 @@ TablespaceCreateDbspace(Oid spcNode, Oid dbNode, bool isRedo)
*/
if (stat(dir, &st) == 0 && S_ISDIR(st.st_mode))
{
/* Directory was created. */
/* Directory was created */
}
else
{
......@@ -152,6 +152,7 @@ TablespaceCreateDbspace(Oid spcNode, Oid dbNode, bool isRedo)
(errcode_for_file_access(),
errmsg("could not create directory \"%s\": %m",
dir)));
/* Parent directory must be missing */
parentdir = pstrdup(dir);
get_parent_directory(parentdir);
......@@ -162,6 +163,7 @@ TablespaceCreateDbspace(Oid spcNode, Oid dbNode, bool isRedo)
errmsg("could not create directory \"%s\": %m",
parentdir)));
pfree(parentdir);
/* Create database directory */
if (mkdir(dir, S_IRWXU) < 0)
ereport(ERROR,
......@@ -252,7 +254,7 @@ CreateTableSpace(CreateTableSpaceStmt *stmt)
* '/<dboid>/<relid>.<nnn>' (XXX but do we ever form the whole path
* explicitly? This may be overly conservative.)
*/
if (strlen(location) >= (MAXPGPATH - 1 - OIDCHARS - 1 - OIDCHARS - 1 - OIDCHARS))
if (strlen(location) >= MAXPGPATH - 1 - OIDCHARS - 1 - OIDCHARS - 1 - OIDCHARS)
ereport(ERROR,
(errcode(ERRCODE_INVALID_OBJECT_DEFINITION),
errmsg("tablespace location \"%s\" is too long",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment