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: