From: Tom Lane <tgl@sss.pgh.pa.us>
authorMarc G. Fournier <scrappy@hub.org>
Thu, 9 Jul 1998 03:35:39 +0000 (03:35 +0000)
committerMarc G. Fournier <scrappy@hub.org>
Thu, 9 Jul 1998 03:35:39 +0000 (03:35 +0000)
commit3a3c1b85a30ba6106c488f64d2b26d83a82d5e3b
treeda1ecaaaf59d3f607270eac1a8b68e2c7179ac48
parentbd029bcb4a115d2dd409319cfc8db4f77d2dd048
From: Tom Lane <tgl@sss.pgh.pa.us>

I see someone missed an ancient bit of shell-scripting lore:
on some older shells, if your script's argument list is empty,
then "$@" generates an empty-string word rather than no word
at all.  You need to write ${1+"$@"} to get the latter behavior.
(Read your shell man page to see exactly how that works,
but it does the Right Thing on every Bourne shell.)

In particular, pg_dumpall fails when invoked without any switches
on HPUX 9.*, because pg_dump gets an empty-string argument that it
thinks is the name of the database to dump.  I expect this bug
also affects some other OSes, but couldn't tell you just which ones.
Patch attached.
src/bin/pg_dump/pg_dumpall