Re: createlang patch - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: createlang patch
Date
Msg-id 200104071524.LAA03641@candle.pha.pa.us
Whole thread Raw
In response to createlang patch  ("Oliver Elphick" <olly@lfix.co.uk>)
List pgsql-hackers
I will save this for 7.2.  Thanks.

> The man page for createlang refers to the --echo option, but in fact
> that option does not exist.
> 
> This patch implements it and also expands the man page for a couple of
> options that were not documented.
> 
> diff -ur postgresql-7.1RC3/doc/src/sgml/ref/createlang.sgml postgresql-7.1cRC3/doc/src/sgml/ref/createlang.sgml
> --- postgresql-7.1RC3/doc/src/sgml/ref/createlang.sgml    Sun Jan  7 02:03:28 2001
> +++ postgresql-7.1cRC3/doc/src/sgml/ref/createlang.sgml    Sat Apr  7 08:56:26 2001
> @@ -62,11 +62,39 @@
>       </varlistentry>
>  
>       <varlistentry>
> +      <term>--pglib <replaceable class="parameter">directory</replaceable></term>
> +      <listitem>
> +       <para>
> +    Specifies the directory in which the language interpreter is
> +        to be found.
> +       </para>
> +      </listitem>
> +     </varlistentry>
> +
> +     <varlistentry>
>        <term>-l, --list</term>
>        <listitem>
>         <para>
>          Shows a list of already installed languages in the target database
>          (which must be specified).
> +       </para>
> +      </listitem>
> +     </varlistentry>
> +
> +     <varlistentry>
> +      <term>--echo</term>
> +      <listitem>
> +       <para>
> +        Displays SQL commands as they are executed.
> +       </para>
> +      </listitem>
> +     </varlistentry>
> +
> +     <varlistentry>
> +      <term>-?, --help</term>
> +      <listitem>
> +       <para>
> +        Shows a brief help message.
>         </para>
>        </listitem>
>       </varlistentry>
> diff -ur postgresql-7.1RC3/src/bin/scripts/createlang.sh postgresql-7.1cRC3/src/bin/scripts/createlang.sh
> --- postgresql-7.1RC3/src/bin/scripts/createlang.sh    Fri Feb 23 18:12:18 2001
> +++ postgresql-7.1cRC3/src/bin/scripts/createlang.sh    Sat Apr  7 07:59:18 2001
> @@ -98,6 +98,9 @@
>                  PGLIB=`echo "$1" | sed 's/^--pglib=//'`
>                  ;;
>  
> +    --echo)
> +        listcmd=TRUE
> +        ;;
>      -*)
>          echo "$CMDNAME: invalid option: $1" 1>&2
>                  echo "Try '$CMDNAME --help' for more information." 1>&2
> @@ -155,7 +158,12 @@
>  # List option
>  # ----------
>  if [ "$list" ]; then
> -        ${PATHNAME}psql $PSQLOPT -d "$dbname" -P 'title=Procedural languages' -c "SELECT lanname as \"Name\",
lanpltrustedas \"Trusted?\", lancompiler as \"Compiler\" FROM pg_language WHERE lanispl = 't'"
 
> +    sqlcmd="SELECT lanname as \"Name\", lanpltrusted as \"Trusted?\", lancompiler as \"Compiler\" FROM pg_language
WHERElanispl = 't'"
 
> +    if [ -n "$listcmd" ]
> +    then
> +        echo $sqlcmd
> +    fi
> +        ${PATHNAME}psql $PSQLOPT -d "$dbname" -P 'title=Procedural languages' -c "$sqlcmd"
>          exit $?
>  fi
>  
> @@ -237,7 +245,12 @@
>  # ----------
>  # Make sure the language isn't already installed
>  # ----------
> -res=`$PSQL "SELECT oid FROM pg_language WHERE lanname = '$langname'"`
> +sqlcmd="SELECT oid FROM pg_language WHERE lanname = '$langname'"
> +if [ -n "$listcmd" ]
> +then
> +    echo $sqlcmd
> +fi
> +res=`$PSQL "$sqlcmd"`
>  if [ $? -ne 0 ]; then
>      echo "$CMDNAME: external error" 1>&2
>      exit 1
> @@ -251,7 +264,12 @@
>  # ----------
>  # Check that there is no function named as the call handler
>  # ----------
> -res=`$PSQL "SELECT oid FROM pg_proc WHERE proname = '$handler'"`
> +sqlcmd="SELECT oid FROM pg_proc WHERE proname = '$handler'"
> +if [ -n "$listcmd" ]
> +then
> +    echo $sqlcmd
> +fi
> +res=`$PSQL "$sqlcmd"`
>  if [ ! -z "$res" ]; then
>      echo "$CMDNAME: A function named '$handler' already exists. Installation aborted." 1>&2
>      exit 1
> @@ -260,13 +278,23 @@
>  # ----------
>  # Create the call handler and the language
>  # ----------
> -$PSQL "CREATE FUNCTION $handler () RETURNS OPAQUE AS '$PGLIB/${object}$DLSUFFIX' LANGUAGE 'C'"
> +sqlcmd="CREATE FUNCTION $handler () RETURNS OPAQUE AS '$PGLIB/${object}$DLSUFFIX' LANGUAGE 'C'"
> +if [ -n "$listcmd" ]
> +then
> +    echo $sqlcmd
> +fi
> +$PSQL "$sqlcmd"
>  if [ $? -ne 0 ]; then
>      echo "$CMDNAME: language installation failed" 1>&2
>      exit 1
>  fi
>  
> -$PSQL "CREATE ${trusted}PROCEDURAL LANGUAGE '$langname' HANDLER $handler LANCOMPILER '$lancomp'"
> +sqlcmd="CREATE ${trusted}PROCEDURAL LANGUAGE '$langname' HANDLER $handler LANCOMPILER '$lancomp'"
> +if [ -n "$listcmd" ]
> +then
> +    echo $sqlcmd
> +fi
> +$PSQL "$sqlcmd"
>  if [ $? -ne 0 ]; then
>      echo "$CMDNAME: language installation failed" 1>&2
>      exit 1
> 
> -- 
> Oliver Elphick                                Oliver.Elphick@lfix.co.uk
> Isle of Wight                              http://www.lfix.co.uk/oliver
> PGP: 1024R/32B8FAA1: 97 EA 1D 47 72 3F 28 47  6B 7E 39 CC 56 E4 C1 47
> GPG: 1024D/3E1D0C1C: CA12 09E0 E8D5 8870 5839  932A 614D 4C34 3E1D 0C1C
>                  ========================================
>      "I sought the Lord, and he answered me; he delivered me
>       from all my fears."       Psalm 34:4  
> 
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
> 


--  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,
Pennsylvania19026
 


pgsql-hackers by date:

Previous
From: Lamar Owen
Date:
Subject: Re: Re: RC3 ...
Next
From: Peter Eisentraut
Date:
Subject: Re: RC3 ...