Re: More problem with scripts - Mailing list pgsql-hackers
From | Bruce Momjian |
---|---|
Subject | Re: More problem with scripts |
Date | |
Msg-id | 200201040534.g045YrI26643@candle.pha.pa.us Whole thread Raw |
In response to | Re: More problem with scripts (Brent Verner <brent@rcfile.org>) |
Responses |
Re: More problem with scripts
|
List | pgsql-hackers |
Brent Verner wrote: > [2002-01-03 23:33] Peter Eisentraut said: > | > Brent Verner wrote: > | > > [2002-01-03 14:19] Bruce Momjian said: > | > > | > | > > | Actually, we can just do: > > | > > +1 > | > > > | > > I can't see a reason to /not/ fix something this simple for the 7.2 > | > > release. In general, I think it's best to fix things like this[1] > | > > "on sight" as opposed to queueing them in TODO where they /might/ sit > | > > untouched through another release cycle. > | > > > | > > [1] meaning problems that require little effort to fix, and whose > | > > solutions are /very/ localized. > | > > | > OK, one more +1 and I will get to it. > | > | -4 OK, here's the patch. Seems createdb wasn't properly handling the db comment (arg code now similar to createlang), createlang dbname being optional wasn't documented in --help, and vacuumdb wasn't handlling an optional dbname. I added the required checks so extra arguments report a failure: $ dropdb lkjas asdfljk test dropdb: invalid option: asdfljk Try 'dropdb --help' for more information. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026 Index: doc/src/sgml/ref/vacuumdb.sgml =================================================================== RCS file: /cvsroot/pgsql/doc/src/sgml/ref/vacuumdb.sgml,v retrieving revision 1.20 diff -c -r1.20 vacuumdb.sgml *** doc/src/sgml/ref/vacuumdb.sgml 2001/12/08 03:24:40 1.20 --- doc/src/sgml/ref/vacuumdb.sgml 2002/01/04 05:23:04 *************** *** 23,33 **** <cmdsynopsis> <command>vacuumdb</command> <arg rep="repeat"><replaceable>connection-options</replaceable></arg> ! <arg><arg>-d</arg> <replaceable>dbname</replaceable></arg> <group><arg>--full</arg><arg>-f</arg></group> <group><arg>--verbose</arg><arg>-v</arg></group> <group><arg>--analyze</arg><arg>-z</arg></group> ! <arg>--table '<replaceable>table</replaceable> <arg>( <replaceable class="parameter">column</replaceable> [,...] )</arg>' </arg> <sbr> --- 23,33 ---- <cmdsynopsis> <command>vacuumdb</command> <arg rep="repeat"><replaceable>connection-options</replaceable></arg> ! <arg><replaceable>dbname</replaceable></arg> <group><arg>--full</arg><arg>-f</arg></group> <group><arg>--verbose</arg><arg>-v</arg></group> <group><arg>--analyze</arg><arg>-z</arg></group> ! <arg>--table | -t '<replaceable>table</replaceable> <arg>( <replaceable class="parameter">column</replaceable> [,...] )</arg>' </arg> <sbr> Index: src/bin/scripts/createdb =================================================================== RCS file: /cvsroot/pgsql/src/bin/scripts/createdb,v retrieving revision 1.18 diff -c -r1.18 createdb *** src/bin/scripts/createdb 2001/09/30 22:17:51 1.18 --- src/bin/scripts/createdb 2002/01/04 05:23:05 *************** *** 104,114 **** exit 1 ;; *) ! if [ -z "$dbname" ]; then ! dbname="$1" ! else dbcomment="$1" fi ;; esac shift --- 104,120 ---- exit 1 ;; *) ! dbname="$1" ! if [ "$2" ] ! then ! shift dbcomment="$1" fi + if [ "$#" -ne 1 ]; then + echo "$CMDNAME: invalid option: $2" 1>&2 + echo "Try '$CMDNAME --help' for more information." 1>&2 + exit 1 + fi ;; esac shift *************** *** 118,124 **** echo "$CMDNAME creates a PostgreSQL database." echo echo "Usage:" ! echo " $CMDNAME [options] dbname [description]" echo echo "Options:" echo " -D, --location=PATH Alternative place to store the database" --- 124,130 ---- echo "$CMDNAME creates a PostgreSQL database." echo echo "Usage:" ! echo " $CMDNAME [options] [dbname] [description]" echo echo "Options:" echo " -D, --location=PATH Alternative place to store the database" Index: src/bin/scripts/createlang.sh =================================================================== RCS file: /cvsroot/pgsql/src/bin/scripts/createlang.sh,v retrieving revision 1.32 diff -c -r1.32 createlang.sh *** src/bin/scripts/createlang.sh 2002/01/03 05:30:04 1.32 --- src/bin/scripts/createlang.sh 2002/01/04 05:23:05 *************** *** 116,121 **** --- 116,126 ---- fi else dbname="$1" fi + if [ "$#" -ne 1 ]; then + echo "$CMDNAME: invalid option: $2" 1>&2 + echo "Try '$CMDNAME --help' for more information." 1>&2 + exit 1 + fi ;; esac shift Index: src/bin/scripts/createuser =================================================================== RCS file: /cvsroot/pgsql/src/bin/scripts/createuser,v retrieving revision 1.22 diff -c -r1.22 createuser *** src/bin/scripts/createuser 2001/09/30 22:17:51 1.22 --- src/bin/scripts/createuser 2002/01/04 05:23:05 *************** *** 123,128 **** --- 123,133 ---- ;; *) NewUser="$1" + if [ "$#" -ne 1 ]; then + echo "$CMDNAME: invalid option: $2" 1>&2 + echo "Try '$CMDNAME --help' for more information." 1>&2 + exit 1 + fi ;; esac shift; Index: src/bin/scripts/dropdb =================================================================== RCS file: /cvsroot/pgsql/src/bin/scripts/dropdb,v retrieving revision 1.13 diff -c -r1.13 dropdb *** src/bin/scripts/dropdb 2001/09/30 22:17:51 1.13 --- src/bin/scripts/dropdb 2002/01/04 05:23:05 *************** *** 89,94 **** --- 89,99 ---- ;; *) dbname="$1" + if [ "$#" -ne 1 ]; then + echo "$CMDNAME: invalid option: $2" 1>&2 + echo "Try '$CMDNAME --help' for more information." 1>&2 + exit 1 + fi ;; esac shift Index: src/bin/scripts/droplang =================================================================== RCS file: /cvsroot/pgsql/src/bin/scripts/droplang,v retrieving revision 1.20 diff -c -r1.20 droplang *** src/bin/scripts/droplang 2002/01/03 08:53:00 1.20 --- src/bin/scripts/droplang 2002/01/04 05:23:05 *************** *** 105,110 **** --- 105,115 ---- fi else dbname="$1" fi + if [ "$#" -ne 1 ]; then + echo "$CMDNAME: invalid option: $2" 1>&2 + echo "Try '$CMDNAME --help' for more information." 1>&2 + exit 1 + fi ;; esac shift Index: src/bin/scripts/dropuser =================================================================== RCS file: /cvsroot/pgsql/src/bin/scripts/dropuser,v retrieving revision 1.14 diff -c -r1.14 dropuser *** src/bin/scripts/dropuser 2001/09/30 22:17:51 1.14 --- src/bin/scripts/dropuser 2002/01/04 05:23:05 *************** *** 91,96 **** --- 91,101 ---- ;; *) DelUser="$1" + if [ "$#" -ne 1 ]; then + echo "$CMDNAME: invalid option: $2" 1>&2 + echo "Try '$CMDNAME --help' for more information." 1>&2 + exit 1 + fi ;; esac shift; Index: src/bin/scripts/vacuumdb =================================================================== RCS file: /cvsroot/pgsql/src/bin/scripts/vacuumdb,v retrieving revision 1.19 diff -c -r1.19 vacuumdb *** src/bin/scripts/vacuumdb 2001/09/30 22:17:51 1.19 --- src/bin/scripts/vacuumdb 2002/01/04 05:23:05 *************** *** 112,117 **** --- 112,122 ---- ;; *) dbname="$1" + if [ "$#" -ne 1 ]; then + echo "$CMDNAME: invalid option: $2" 1>&2 + echo "Try '$CMDNAME --help' for more information." 1>&2 + exit 1 + fi ;; esac shift *************** *** 151,159 **** dbname=`${PATHNAME}psql $PSQLOPT -q -t -A -d template1 -c 'SELECT datname FROM pg_database WHERE datallowconn'` elif [ -z "$dbname" ]; then ! echo "$CMDNAME: missing required argument: database name" 1>&2 ! echo "Try '$CMDNAME -?' for help." 1>&2 ! exit 1 fi for db in $dbname --- 156,167 ---- dbname=`${PATHNAME}psql $PSQLOPT -q -t -A -d template1 -c 'SELECT datname FROM pg_database WHERE datallowconn'` elif [ -z "$dbname" ]; then ! if [ "$PGUSER" ]; then ! dbname="$PGUSER" ! else ! dbname=`${PATHNAME}pg_id -u -n` ! fi ! [ "$?" -ne 0 ] && exit 1 fi for db in $dbname
pgsql-hackers by date: