mirror of
https://github.com/postgres/postgres.git
synced 2025-08-09 17:03:00 +03:00
The string representation of ImportError changed. Remove printing that; it's not necessary for the test. The order in which members of a dict are printed changed. But this was always implementation-dependent, so we have just been lucky for a long time. Do the printing the hard way to ensure sorted order.
69 lines
1.4 KiB
SQL
69 lines
1.4 KiB
SQL
-- import python modules
|
|
|
|
CREATE FUNCTION import_fail() returns text
|
|
AS
|
|
'try:
|
|
import foosocket
|
|
except ImportError:
|
|
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 operator
|
|
import random
|
|
import re
|
|
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
|
|
'try:
|
|
import hashlib
|
|
digest = hashlib.sha1(p.encode("ascii"))
|
|
except ImportError:
|
|
import sha
|
|
digest = sha.new(p)
|
|
return digest.hexdigest()'
|
|
LANGUAGE plpythonu;
|
|
|
|
CREATE FUNCTION import_test_two(u users) RETURNS text
|
|
AS
|
|
'plain = u["fname"] + u["lname"]
|
|
try:
|
|
import hashlib
|
|
digest = hashlib.sha1(plain.encode("ascii"))
|
|
except ImportError:
|
|
import sha
|
|
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';
|