From fbcc0d69e81ce679a29182cbecc9ffa09b9cf239 Mon Sep 17 00:00:00 2001 From: Bruce Momjian <bruce@momjian.us> Date: Mon, 18 Feb 2002 05:48:45 +0000 Subject: [PATCH] Fix param handling of create* admin scripts as described months ago. Properly handles default values. --- doc/src/sgml/ref/vacuumdb.sgml | 6 +++--- src/bin/scripts/createdb | 16 +++++++++++----- src/bin/scripts/createlang.sh | 7 ++++++- src/bin/scripts/createuser | 7 ++++++- src/bin/scripts/dropdb | 7 ++++++- src/bin/scripts/droplang | 7 ++++++- src/bin/scripts/dropuser | 7 ++++++- src/bin/scripts/vacuumdb | 16 ++++++++++++---- 8 files changed, 56 insertions(+), 17 deletions(-) diff --git a/doc/src/sgml/ref/vacuumdb.sgml b/doc/src/sgml/ref/vacuumdb.sgml index 57420d6f518..b1c3cab01a8 100644 --- a/doc/src/sgml/ref/vacuumdb.sgml +++ b/doc/src/sgml/ref/vacuumdb.sgml @@ -1,5 +1,5 @@ <!-- -$Header: /cvsroot/pgsql/doc/src/sgml/ref/vacuumdb.sgml,v 1.20 2001/12/08 03:24:40 thomas Exp $ +$Header: /cvsroot/pgsql/doc/src/sgml/ref/vacuumdb.sgml,v 1.21 2002/02/18 05:48:43 momjian Exp $ PostgreSQL documentation --> @@ -23,13 +23,13 @@ PostgreSQL documentation <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>--table | -t '<replaceable>table</replaceable> <arg>( <replaceable class="parameter">column</replaceable> [,...] )</arg>' </arg> + <arg><replaceable>dbname</replaceable></arg> <sbr> <command>vacuumdb</command> <arg rep="repeat"><replaceable>connection-options</replaceable></arg> diff --git a/src/bin/scripts/createdb b/src/bin/scripts/createdb index 95e8c12d757..34562440461 100644 --- a/src/bin/scripts/createdb +++ b/src/bin/scripts/createdb @@ -12,7 +12,7 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createdb,v 1.18 2001/09/30 22:17:51 momjian Exp $ +# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createdb,v 1.19 2002/02/18 05:48:44 momjian Exp $ # #------------------------------------------------------------------------- @@ -104,11 +104,17 @@ do exit 1 ;; *) - if [ -z "$dbname" ]; then - dbname="$1" - else + 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,7 +124,7 @@ if [ "$usage" ]; then echo "$CMDNAME creates a PostgreSQL database." echo echo "Usage:" - echo " $CMDNAME [options] dbname [description]" + echo " $CMDNAME [options] [dbname] [description]" echo echo "Options:" echo " -D, --location=PATH Alternative place to store the database" diff --git a/src/bin/scripts/createlang.sh b/src/bin/scripts/createlang.sh index 881257157bc..5034f65cbe6 100644 --- a/src/bin/scripts/createlang.sh +++ b/src/bin/scripts/createlang.sh @@ -7,7 +7,7 @@ # Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group # Portions Copyright (c) 1994, Regents of the University of California # -# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createlang.sh,v 1.32 2002/01/03 05:30:04 momjian Exp $ +# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createlang.sh,v 1.33 2002/02/18 05:48:44 momjian Exp $ # #------------------------------------------------------------------------- @@ -116,6 +116,11 @@ do 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 diff --git a/src/bin/scripts/createuser b/src/bin/scripts/createuser index fa20aa101cf..02e97c58c42 100644 --- a/src/bin/scripts/createuser +++ b/src/bin/scripts/createuser @@ -9,7 +9,7 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createuser,v 1.22 2001/09/30 22:17:51 momjian Exp $ +# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createuser,v 1.23 2002/02/18 05:48:44 momjian Exp $ # # Note - this should NOT be setuid. # @@ -123,6 +123,11 @@ do ;; *) 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; diff --git a/src/bin/scripts/dropdb b/src/bin/scripts/dropdb index 75ad3cea762..42ff00a0a15 100644 --- a/src/bin/scripts/dropdb +++ b/src/bin/scripts/dropdb @@ -11,7 +11,7 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/dropdb,v 1.13 2001/09/30 22:17:51 momjian Exp $ +# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/dropdb,v 1.14 2002/02/18 05:48:44 momjian Exp $ # #------------------------------------------------------------------------- @@ -89,6 +89,11 @@ do ;; *) 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 diff --git a/src/bin/scripts/droplang b/src/bin/scripts/droplang index b56d73ec354..579c570cf72 100644 --- a/src/bin/scripts/droplang +++ b/src/bin/scripts/droplang @@ -7,7 +7,7 @@ # Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group # Portions Copyright (c) 1994, Regents of the University of California # -# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/droplang,v 1.20 2002/01/03 08:53:00 momjian Exp $ +# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/droplang,v 1.21 2002/02/18 05:48:44 momjian Exp $ # #------------------------------------------------------------------------- @@ -105,6 +105,11 @@ do 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 diff --git a/src/bin/scripts/dropuser b/src/bin/scripts/dropuser index ed95ec6c739..298710ee3b7 100644 --- a/src/bin/scripts/dropuser +++ b/src/bin/scripts/dropuser @@ -9,7 +9,7 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/dropuser,v 1.14 2001/09/30 22:17:51 momjian Exp $ +# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/dropuser,v 1.15 2002/02/18 05:48:45 momjian Exp $ # # Note - this should NOT be setuid. # @@ -91,6 +91,11 @@ do ;; *) 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; diff --git a/src/bin/scripts/vacuumdb b/src/bin/scripts/vacuumdb index 35c8cc4b3bd..b14991d178d 100644 --- a/src/bin/scripts/vacuumdb +++ b/src/bin/scripts/vacuumdb @@ -12,7 +12,7 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/vacuumdb,v 1.19 2001/09/30 22:17:51 momjian Exp $ +# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/vacuumdb,v 1.20 2002/02/18 05:48:45 momjian Exp $ # #------------------------------------------------------------------------- @@ -112,6 +112,11 @@ do ;; *) 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,9 +156,12 @@ if [ "$alldb" ]; then 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 + if [ "$PGUSER" ]; then + dbname="$PGUSER" + else + dbname=`${PATHNAME}pg_id -u -n` + fi + [ "$?" -ne 0 ] && exit 1 fi for db in $dbname -- GitLab