On Sun, August 22, 2010 17:54, Tom Lane wrote:
> "Erik Rijkers" <[email protected]> writes:
>> If only for consistency, this patch adds the path info to that message.
>
> Seems reasonable, but speaking of consistency:
>
>> +#ifdef WIN32
>> + snprintf(WALFilePath, MAXPGPATH, "%s\\%s",
>> archiveLocation, exclusiveCleanupFileName);
>> +#else
>> + snprintf(WALFilePath, MAXPGPATH, "%s/%s",
>> archiveLocation, exclusiveCleanupFileName);
>> +#endif
>
> I see that you copied-and-pasted this pattern from somewhere else in
> pg_archivecleanup.c, but I'd like to argue that it's out of place there
> too. We don't go out of our way to show Windows paths with backslashes
> anywhere in the core code, so why is pg_archivecleanup doing it? I
> think we should just drop the ifdef and do %s/%s always.
>
yes, I agree that's better; attached is that change.
And it works fine on linux; but I am not in a position to try it on windows.
Erik Rijkers
--- contrib/pg_archivecleanup/pg_archivecleanup.c.orig 2010-08-22 18:31:03.000000000 +0200
+++ contrib/pg_archivecleanup/pg_archivecleanup.c 2010-08-22 18:33:12.000000000 +0200
@@ -117,12 +117,7 @@
strspn(xlde->d_name, "0123456789ABCDEF") == XLOG_DATA_FNAME_LEN &&
strcmp(xlde->d_name + 8, exclusiveCleanupFileName + 8) < 0)
{
-#ifdef WIN32
- snprintf(WALFilePath, MAXPGPATH, "%s\\%s", archiveLocation, xlde->d_name);
-#else
snprintf(WALFilePath, MAXPGPATH, "%s/%s", archiveLocation, xlde->d_name);
-#endif
-
if (debug)
fprintf(stderr, "%s: removing file \"%s\"\n",
progname, WALFilePath);
@@ -308,8 +303,10 @@
SetWALFileNameForCleanup();
if (debug)
- fprintf(stderr, "%s: keep WAL file \"%s\" and later\n",
- progname, exclusiveCleanupFileName);
+ {
+ snprintf(WALFilePath, MAXPGPATH, "%s/%s", archiveLocation, exclusiveCleanupFileName);
+ fprintf(stderr, "%s: keep WAL file \"%s\" and later\n", progname, WALFilePath);
+ }
/*
* Remove WAL files older than cut-off
--
Sent via pgsql-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers