[HACKERS] very elaborate mkdir error checking in pg_dump

2012-07-19 Thread Peter Eisentraut
Is there a real point to all this code in pg_backup_directory.c?

static void
createDirectory(const char *dir)
{
struct stat st;

/* the directory must not exist yet. */
if (stat(dir, st) == 0)
{
if (S_ISDIR(st.st_mode))
exit_horribly(modulename,
  cannot create directory %s, it exists already\n,
  dir);
else
exit_horribly(modulename,
  cannot create directory %s, a file with this name 
  exists already\n, dir);
}

/*
 * Now we create the directory. Note that for some race condition we could
 * also run into the situation that the directory has been created just
 * between our two calls.
 */
if (mkdir(dir, 0700)  0)
exit_horribly(modulename, could not create directory %s: %s\n,
  dir, strerror(errno));
}

Couldn't we just call mkdir() and report the strerrno(errno) to begin
with, like everyone else does?


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] very elaborate mkdir error checking in pg_dump

2012-07-19 Thread Tom Lane
Peter Eisentraut pete...@gmx.net writes:
 Couldn't we just call mkdir() and report the strerrno(errno) to begin
 with, like everyone else does?

+1.  It'll provide pretty much the same information anyway.

regards, tom lane

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers