diff options
Diffstat (limited to 'src/pl/plpython/sql/plpython_import.sql')
| -rw-r--r-- | src/pl/plpython/sql/plpython_import.sql | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/src/pl/plpython/sql/plpython_import.sql b/src/pl/plpython/sql/plpython_import.sql new file mode 100644 index 0000000000..7830dd7362 --- /dev/null +++ b/src/pl/plpython/sql/plpython_import.sql @@ -0,0 +1,63 @@ +-- import python modules + +CREATE FUNCTION import_fail() returns text + AS +'try: + import foosocket +except Exception, ex: + plpy.notice("import socket failed -- %s" % str(ex)) + return "failed as expected" +return "succeeded, that wasn''t supposed to happen"' + LANGUAGE plpythonu; + + +CREATE FUNCTION import_succeed() returns text + AS +'try: + import array + import bisect + import calendar + import cmath + import errno + import math + import md5 + import operator + import random + import re + import sha + import string + import time +except Exception, ex: + plpy.notice("import failed -- %s" % str(ex)) + return "failed, that wasn''t supposed to happen" +return "succeeded, as expected"' + LANGUAGE plpythonu; + +CREATE FUNCTION import_test_one(p text) RETURNS text + AS +'import sha +digest = sha.new(p) +return digest.hexdigest()' + LANGUAGE plpythonu; + +CREATE FUNCTION import_test_two(u users) RETURNS text + AS +'import sha +plain = u["fname"] + u["lname"] +digest = sha.new(plain); +return "sha hash of " + plain + " is " + digest.hexdigest()' + LANGUAGE plpythonu; + + +-- import python modules +-- +SELECT import_fail(); +SELECT import_succeed(); + +-- test import and simple argument handling +-- +SELECT import_test_one('sha hash of this string'); + +-- test import and tuple argument handling +-- +select import_test_two(users) from users where fname = 'willem'; |
