Re: make createlang match docs - Mailing list pgsql-patches
From | Bruce Momjian |
---|---|
Subject | Re: make createlang match docs |
Date | |
Msg-id | 200201030529.g035TRs09996@candle.pha.pa.us Whole thread Raw |
In response to | Re: make createlang match docs (Marko Kreen <marko@l-t.ee>) |
Responses |
Re: make createlang match docs
Re: make createlang match docs |
List | pgsql-patches |
Marko Kreen wrote: > On Thu, Dec 13, 2001 at 05:47:37AM +0000, Thomas Lockhart wrote: > > > > > * make createlang match docs: "createlang dbname" did not work. > > > > What is the meaning of that command? > > > You give a database to act on, like to other scripts, then it > > > asks what language to install. > > > > But since it respects PGHOST and should use a database name the same as > > your user name, that usage is degenerate with "createlang newlanguage". > > Isn't it? Or shouldn't it be? > > Well, it does not respect PGDATABASE nor uses username as > default - and making it do so changes the current behaviour... > > Although I think too 'createlang langname' would be saner. I was going to add this to TODO: Change 'createlang [langname] dbname' to 'createlang langname [dbname]' However, when I started to look at the createlang script, I saw: if [ "$list" != "t" ] then langname="$1" if [ "$2" ] then shift dbname="$1" fi else dbname="$1" fi which said that dbname was already behaving as optional, even though there was code to handle a missing langname. Rather than change the script to make langname optional, I have fixed the script to work the way everyone wants it to work, namely dbname is now optional. I grabbed the dbname default code from createdb. Applied to CVS with doc updates. Patch attached. Also, can someone explain why we have a createlang.sh? Makefile shows: createlang: createlang.sh cp $< $@ chmod a+x $@ Not much doing there. -- 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/createlang.sgml =================================================================== RCS file: /cvsroot/pgsql/doc/src/sgml/ref/createlang.sgml,v retrieving revision 1.21 diff -c -r1.21 createlang.sgml *** doc/src/sgml/ref/createlang.sgml 2001/12/08 03:24:35 1.21 --- doc/src/sgml/ref/createlang.sgml 2002/01/03 05:27:34 *************** *** 23,30 **** <cmdsynopsis> <command>createlang</command> <arg rep="repeat"><replaceable>connection-options</replaceable></arg> ! <arg><replaceable>langname</replaceable></arg> ! <arg choice="plain"><replaceable>dbname</replaceable></arg> <sbr> <command>createlang</command> <arg rep="repeat"><replaceable>connection-options</replaceable></arg> --- 23,30 ---- <cmdsynopsis> <command>createlang</command> <arg rep="repeat"><replaceable>connection-options</replaceable></arg> ! <arg choice="plain"><replaceable>langname</replaceable></arg> ! <arg><replaceable>dbname</replaceable></arg> <sbr> <command>createlang</command> <arg rep="repeat"><replaceable>connection-options</replaceable></arg> *************** *** 46,54 **** <para> Specifies the name of the procedural programming language to be defined. - <application>createlang</application> will prompt for - <replaceable class="parameter">langname</replaceable> - if it is not specified on the command line. </para> </listitem> </varlistentry> --- 46,51 ---- *************** *** 58,63 **** --- 55,62 ---- <listitem> <para> Specifies to which database the language should be added. + The default is to create a database with the same name as the + current system user. </para> </listitem> </varlistentry> Index: src/bin/scripts/createlang.sh =================================================================== RCS file: /cvsroot/pgsql/src/bin/scripts/createlang.sh,v retrieving revision 1.31 diff -c -r1.31 createlang.sh *** src/bin/scripts/createlang.sh 2001/09/30 22:17:51 1.31 --- src/bin/scripts/createlang.sh 2002/01/03 05:27:35 *************** *** 125,131 **** echo "$CMDNAME installs a procedural language into a PostgreSQL database." echo echo "Usage:" ! echo " $CMDNAME [options] [langname] dbname" echo echo "Options:" echo " -h, --host=HOSTNAME Database server host" --- 125,131 ---- echo "$CMDNAME installs a procedural language into a PostgreSQL database." echo echo "Usage:" ! echo " $CMDNAME [options] langname [dbname]" echo echo "Options:" echo " -h, --host=HOSTNAME Database server host" *************** *** 136,161 **** echo " -L, --pglib=DIRECTORY Find language interpreter file in DIRECTORY" echo " -l, --list Show a list of currently installed languages" echo - echo "If 'langname' is not specified, you will be prompted interactively." - echo "A database name must be specified." - echo echo "Report bugs to <pgsql-bugs@postgresql.org>." exit 0 fi - # ---------- - # Check that we have a database - # ---------- if [ -z "$dbname" ]; then ! echo "$CMDNAME: missing required argument database name" 1>&2 ! echo "Try '$CMDNAME --help' for help." 1>&2 ! exit 1 fi # ---------- ! # List option # ---------- if [ "$list" ]; then sqlcmd="SELECT lanname as \"Name\", lanpltrusted as \"Trusted?\" FROM pg_language WHERE lanispl = TRUE;" --- 136,158 ---- echo " -L, --pglib=DIRECTORY Find language interpreter file in DIRECTORY" echo " -l, --list Show a list of currently installed languages" echo echo "Report bugs to <pgsql-bugs@postgresql.org>." exit 0 fi if [ -z "$dbname" ]; then ! if [ "$PGUSER" ]; then ! dbname="$PGUSER" ! else ! dbname=`${PATHNAME}pg_id -u -n` ! fi ! [ "$?" -ne 0 ] && exit 1 fi # ---------- ! # List option, doesn't need langname # ---------- if [ "$list" ]; then sqlcmd="SELECT lanname as \"Name\", lanpltrusted as \"Trusted?\" FROM pg_language WHERE lanispl = TRUE;" *************** *** 168,185 **** # ---------- ! # Check that we have PGLIB # ---------- ! if [ -z "$PGLIB" ]; then ! PGLIB='$libdir' fi # ---------- ! # If not given on the command line, ask for the language # ---------- ! if [ -z "$langname" ]; then ! $ECHO_N "Language to install in database $dbname: "$ECHO_C ! read langname fi # ---------- --- 165,183 ---- # ---------- ! # We can't go any farther without a langname # ---------- ! if [ -z "$langname" ]; then ! echo "$CMDNAME: missing required argument language name" 1>&2 ! echo "Try '$CMDNAME --help' for help." 1>&2 ! exit 1 fi # ---------- ! # Check that we have PGLIB # ---------- ! if [ -z "$PGLIB" ]; then ! PGLIB='$libdir' fi # ----------
pgsql-patches by date: