Mark Stosberg wrote:
> Bruce Momjian wrote:
> > Mark Stosberg wrote:
> >> It woud also be nice to document that the full names "custom" and "tar" are
> >> supported. Longer names can be nice for clarity.
> >>
> >> ( Unfortunately, wrong formats like "txx" also work instead of throwing
> >> an error. )
> >
> > I don't see that with current CVS:
> >
> > $ pg_dump --format=x test
> > pg_dump: invalid output format "x" specified
>
> Bruce,
>
> I think the specific test case would have to start with a valid letter,
> like "t", and then include invalid characters. Try this instead:
>
> pg_dump --format=tx test
Thanks for the report. I have corrected this and the fix will be in
PostgreSQL 8.3. Interestingly, we support non-documented option
"append" and "file" too.
Patch attached and applied.
--
Bruce Momjian <[EMAIL PROTECTED]> http://momjian.us
EnterpriseDB http://www.enterprisedb.com
+ If your life is a hard drive, Christ can be your backup. +
Index: src/bin/pg_dump/pg_dump.c
===================================================================
RCS file: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v
retrieving revision 1.461
diff -c -c -r1.461 pg_dump.c
*** src/bin/pg_dump/pg_dump.c 19 Mar 2007 23:38:30 -0000 1.461
--- src/bin/pg_dump/pg_dump.c 22 Mar 2007 18:39:53 -0000
***************
*** 476,513 ****
}
/* open the output file */
! switch (format[0])
{
! case 'a':
! case 'A':
! plainText = 1;
! g_fout = CreateArchive(filename, archNull, 0, archModeAppend);
! break;
!
! case 'c':
! case 'C':
! g_fout = CreateArchive(filename, archCustom, compressLevel, archModeWrite);
! break;
!
! case 'f':
! case 'F':
! g_fout = CreateArchive(filename, archFiles, compressLevel, archModeWrite);
! break;
!
! case 'p':
! case 'P':
! plainText = 1;
! g_fout = CreateArchive(filename, archNull, 0, archModeWrite);
! break;
!
! case 't':
! case 'T':
! g_fout = CreateArchive(filename, archTar, compressLevel, archModeWrite);
! break;
!
! default:
! write_msg(NULL, "invalid output format \"%s\" specified\n", format);
! exit(1);
}
if (g_fout == NULL)
--- 476,508 ----
}
/* open the output file */
! if (strcasecmp(format, "a") == 0 || strcasecmp(format, "append") == 0)
{
! /* not documented */
! plainText = 1;
! g_fout = CreateArchive(filename, archNull, 0, archModeAppend);
! }
! else if (strcasecmp(format, "c") == 0 || strcasecmp(format, "custom") == 0)
! g_fout = CreateArchive(filename, archCustom, compressLevel, archModeWrite);
! else if (strcasecmp(format, "f") == 0 || strcasecmp(format, "file") == 0)
! {
! /*
! * Dump files into the current directory; for demonstration only, not
! * documented.
! */
! g_fout = CreateArchive(filename, archFiles, compressLevel, archModeWrite);
! }
! else if (strcasecmp(format, "p") == 0 || strcasecmp(format, "plain") == 0)
! {
! plainText = 1;
! g_fout = CreateArchive(filename, archNull, 0, archModeWrite);
! }
! else if (strcasecmp(format, "t") == 0 || strcasecmp(format, "tar") == 0)
! g_fout = CreateArchive(filename, archTar, compressLevel, archModeWrite);
! else
! {
! write_msg(NULL, "invalid output format \"%s\" specified\n", format);
! exit(1);
}
if (g_fout == NULL)
---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly