Skip to content

Commit 79e6648

Browse files
Jan WieckJan Wieck
authored andcommitted
Added untrusted PL/TclU (pltclu) language. Executes all procedures
in a non-safe interpreter, so with full OS access! Language is restricted to be used by DB superusers. Added "argisnull n" and "return_null" commands to gain full control over NULL values from new FMGR capabilities. Jan
1 parent ec1ea52 commit 79e6648

File tree

2 files changed

+269
-125
lines changed

2 files changed

+269
-125
lines changed

src/bin/scripts/createlang.sh

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
#
99
#
1010
# IDENTIFICATION
11-
# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createlang.sh,v 1.12 2000/05/28 17:56:08 tgl Exp $
11+
# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createlang.sh,v 1.13 2000/07/19 11:53:02 wieck Exp $
1212
#
1313
#-------------------------------------------------------------------------
1414

@@ -180,18 +180,29 @@ fi
180180
# ----------
181181
case "$langname" in
182182
plpgsql)
183-
lancomp="PL/pgSQL"
183+
lancomp="PL/pgSQL"
184184
trusted="TRUSTED "
185185
handler="plpgsql_call_handler"
186-
;;
186+
object="plpgsql"
187+
;;
187188
pltcl)
188189
lancomp="PL/Tcl"
189190
trusted="TRUSTED "
190-
handler="pltcl_call_handler";;
191+
handler="pltcl_call_handler"
192+
object="pltcl"
193+
;;
194+
pltclu)
195+
lancomp="PL/Tcl (untrusted)"
196+
trusted=""
197+
handler="pltclu_call_handler"
198+
object="pltcl"
199+
;;
191200
plperl)
192201
lancomp="PL/Perl"
193202
trusted="TRUSTED "
194-
handler="plperl_call_handler";;
203+
handler="plperl_call_handler"
204+
object="plperl"
205+
;;
195206
*)
196207
echo "$CMDNAME: unsupported language '$langname'"
197208
echo "Supported languages are 'plpgsql', 'pltcl', and 'plperl'."
@@ -204,7 +215,7 @@ esac
204215
# Check that the shared object for the call handler is installed
205216
# in PGLIB
206217
# ----------
207-
if [ ! -f $PGLIB/${langname}__DLSUFFIX__ ]; then
218+
if [ ! -f $PGLIB/${object}__DLSUFFIX__ ]; then
208219
echo "$CMDNAME: cannot find the file $PGLIB/${langname}__DLSUFFIX__"
209220
echo ""
210221
echo "This file contains the call handler for $lancomp. By default,"
@@ -244,7 +255,7 @@ fi
244255
# ----------
245256
# Create the call handler and the language
246257
# ----------
247-
$PSQL "CREATE FUNCTION $handler () RETURNS OPAQUE AS '$PGLIB/${langname}__DLSUFFIX__' LANGUAGE 'newC'"
258+
$PSQL "CREATE FUNCTION $handler () RETURNS OPAQUE AS '$PGLIB/${object}__DLSUFFIX__' LANGUAGE 'newC'"
248259
if [ $? -ne 0 ]; then
249260
echo "$CMDNAME: language installation failed"
250261
exit 1

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy