Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 79e6648

Browse files
Jan WieckJan Wieck
Jan Wieck
authored and
Jan Wieck
committed
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)