In createlang, make dbname optional, not langname, or rather, make
authorBruce Momjian
Thu, 3 Jan 2002 05:30:04 +0000 (05:30 +0000)
committerBruce Momjian
Thu, 3 Jan 2002 05:30:04 +0000 (05:30 +0000)
existing code of dbname optional actually work.

doc/src/sgml/ref/createlang.sgml
src/bin/scripts/createlang.sh

index 3c9f84d183df62a371808a21ea67d8fef6610d40..8078b5d4ff364a1115fe04964678c02ef63bcd7b 100644 (file)
@@ -1,5 +1,5 @@
 
 
@@ -23,8 +23,8 @@ PostgreSQL documentation
   
    createlang
    connection-options
-   langname
-    choice="plain">dbname
+    choice="plain">langname
+   dbname
    
    createlang
    connection-options
@@ -46,9 +46,6 @@ PostgreSQL documentation
        
    Specifies the name of the procedural programming language to be
    defined.
-   createlang will prompt for
-   langname
-   if it is not specified on the command line.
        
       
      
@@ -58,6 +55,8 @@ PostgreSQL documentation
       
        
    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.
        
       
      
index 121fa8cde1acb9227eeadb6ca4a344a33a88a997..881257157bc4613df0d07c124793ebb1f39923ef 100644 (file)
@@ -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.31 2001/09/30 22:17:51 momjian Exp $
+# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createlang.sh,v 1.32 2002/01/03 05:30:04 momjian Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -125,7 +125,7 @@ if [ -n "$usage" ]; then
         echo "$CMDNAME installs a procedural language into a PostgreSQL database."
    echo
    echo "Usage:"
-        echo "  $CMDNAME [options] [langname] dbname"
+        echo "  $CMDNAME [options] langname [dbname]"
         echo
    echo "Options:"
    echo "  -h, --host=HOSTNAME             Database server host"
@@ -136,26 +136,23 @@ if [ -n "$usage" ]; then
    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 ."
    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
+        if [ "$PGUSER" ]; then
+                dbname="$PGUSER"
+        else
+                dbname=`${PATHNAME}pg_id -u -n`
+        fi
+        [ "$?" -ne 0 ] && exit 1
 fi
 
 
 # ----------
-# List option
+# List option, doesn't need langname
 # ----------
 if [ "$list" ]; then
    sqlcmd="SELECT lanname as \"Name\", lanpltrusted as \"Trusted?\" FROM pg_language WHERE lanispl = TRUE;"
@@ -168,18 +165,19 @@ fi
 
 
 # ----------
-# Check that we have PGLIB
+# We can't go any farther without a langname
 # ----------
-if [ -z "$PGLIB" ]; then
-   PGLIB='$libdir'
+if [ -z "$langname" ]; then
+   echo "$CMDNAME: missing required argument language name" 1>&2
+        echo "Try '$CMDNAME --help' for help." 1>&2
+   exit 1
 fi
 
 # ----------
-# If not given on the command line, ask for the language
+# Check that we have PGLIB
 # ----------
-if [ -z "$langname" ]; then
-   $ECHO_N "Language to install in database $dbname: "$ECHO_C
-   read langname
+if [ -z "$PGLIB" ]; then
+   PGLIB='$libdir'
 fi
 
 # ----------