summaryrefslogtreecommitdiff
path: root/src/bin/createlang/createlang.sh
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/createlang/createlang.sh')
-rw-r--r--src/bin/createlang/createlang.sh173
1 files changed, 0 insertions, 173 deletions
diff --git a/src/bin/createlang/createlang.sh b/src/bin/createlang/createlang.sh
deleted file mode 100644
index aa5533fa30f..00000000000
--- a/src/bin/createlang/createlang.sh
+++ /dev/null
@@ -1,173 +0,0 @@
-#!/bin/sh
-#-------------------------------------------------------------------------
-#
-# createlang.sh--
-# Install a procedural language in a database
-#
-# Copyright (c) 1994, Regents of the University of California
-#
-#
-# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/bin/createlang/Attic/createlang.sh,v 1.2 1999/07/09 17:57:46 momjian Exp $
-#
-#-------------------------------------------------------------------------
-
-CMDNAME=`basename $0`
-
-# ----------
-# Find the default PGLIB directory
-# ----------
-postconfig_result="`sh -c postconfig 2>/dev/null`"
-if [ ! -z "$postconfig_result" ]; then
- set -a
- eval "$postconfig_result"
- set +a
-fi
-
-# ----------
-# Determine username
-# ----------
-if [ -z "$USER" ]; then
- if [ -z "$LOGNAME" ]; then
- if [ -z "`whoami`" ]; then
- echo "$CMDNAME: cannot determine user name"
- exit 1
- fi
- else
- USER=$LOGNAME
- export USER
- fi
-fi
-
-# ----------
-# Get options, language name and dbname
-# ----------
-dbname=$USER
-while [ -n "$1" ]
-do
- case $1 in
- --pglib) PGLIB=$2; shift;;
- -a) AUTHSYS=$2; shift;;
- -h) PGHOST=$2; shift;;
- -p) PGPORT=$2; shift;;
- *) langname=$1
- if [ -n "$2" ]; then
- shift
- dbname=$1
- fi;;
- esac
- shift;
-done
-
-# ----------
-# Check that we have PGLIB
-# ----------
-if [ -z "$PGLIB" ]; then
- echo "Cannot determine PostgreSQL lib directory (PGLIB)."
- echo "You must identify the PGLIB either with a --pglib option"
- echo "or by setting the PGLIB environment variable."
- exit 1
-fi
-
-# ----------
-# If not given on the commandline, ask for the language
-# ----------
-if [ -z "$langname" ]; then
- echo -n "Language to install in database $dbname: "
- read langname
-fi
-
-# ----------
-# Check if supported and set related values
-# ----------
-case "$langname" in
- plpgsql) lancomp="PL/pgSQL"
- trusted="TRUSTED"
- handler="plpgsql_call_handler";;
- pltcl) lancomp="PL/Tcl"
- trusted="TRUSTED"
- handler="pltcl_call_handler";;
- *) echo "$CMDNAME: unsupported language '$langname'"
- echo " supported languages are plpgsql and pltcl"
- exit 1;;
-esac
-
-# ----------
-# Check that the shared object for the call handler is installed
-# in PGLIB
-# ----------
-if [ ! -f $PGLIB/${langname}__DLSUFFIX__ ]; then
- echo "Cannot find the file $PGLIB/${langname}__DLSUFFIX__"
- echo "This shared object contains the call handler for $lancomp."
- echo "By default, only PL/pgSQL is built and installed. Other"
- echo "languages must be explicitly enabled at configure."
- echo ""
- echo "To install PL/Tcl make sure the option --with-tcl is"
- echo "given to configure, then recompile and install."
- exit 1
-fi
-
-# ----------
-# Combine psql with options given
-# ----------
-if [ -z "$AUTHSYS" ]; then
- AUTHOPT=""
-else
- AUTHOPT="-a $AUTHSYS"
-fi
-
-if [ -z "$PGHOST" ]; then
- PGHOSTOPT=""
-else
- PGHOSTOPT="-h $PGHOST"
-fi
-
-if [ -z "$PGPORT" ]; then
- PGPORTOPT=""
-else
- PGPORTOPT="-p $PGPORT"
-fi
-
-MONITOR="psql -tq $AUTHOPT $PGHOSTOPT $PGPORTOPT -c"
-
-# ----------
-# Make sure the language isn't already installed
-# ----------
-res=`$MONITOR "select oid from pg_language where lanname = '$langname'" $dbname`
-if [ $? -ne 0 ]; then
- echo "Cannot install language"
- exit 1
-fi
-if [ ! -z "$res" ]; then
- echo "The language '$langname' is already installed in database $dbname"
- exit 2
-fi
-
-# ----------
-# Check that there is no function named as the call handler
-# ----------
-res=`$MONITOR "select oid from pg_proc where proname = '$handler'" $dbname`
-if [ ! -z "$res" ]; then
- echo "The language $lancomp isn't created up to now but there"
- echo "is already a function named '$handler' declared."
- echo "Language installation aborted."
- exit 1
-fi
-
-# ----------
-# Create the call handler and the language
-# ----------
-$MONITOR "create function $handler () returns opaque as '$PGLIB/${langname}__DLSUFFIX__' language 'C'" $dbname
-if [ $? -ne 0 ]; then
- echo "Language installation failed"
- exit 1
-fi
-$MONITOR "create $trusted procedural language '$langname' handler $handler lancompiler '$lancomp'" $dbname
-if [ $? -ne 0 ]; then
- echo "Language installation failed"
- exit 1
-fi
-
-
-exit 0
-