summaryrefslogtreecommitdiff
path: root/src/pl/plpython/sql/plpython_import.sql
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2009-08-24 20:25:25 +0000
committerPeter Eisentraut <peter_e@gmx.net>2009-08-24 20:25:25 +0000
commit5dff93638c4443d3afba017f64c9ade69e0fbd3b (patch)
treef3d9c7456f569a2b68dc7e3227485d15c0d358dc /src/pl/plpython/sql/plpython_import.sql
parent8bed238c871fae205c5c6615f3b9ab8a039359e2 (diff)
downloadpostgresql-5dff93638c4443d3afba017f64c9ade69e0fbd3b.tar.gz
Make PL/Python tests more compatible with Python 3
This changes a bunch of incidentially used constructs in the PL/Python regression tests to equivalent constructs in cases where Python 3 no longer supports the old syntax. Support for older Python versions is unchanged.
Diffstat (limited to 'src/pl/plpython/sql/plpython_import.sql')
-rw-r--r--src/pl/plpython/sql/plpython_import.sql20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/pl/plpython/sql/plpython_import.sql b/src/pl/plpython/sql/plpython_import.sql
index 7830dd7362..477af328d1 100644
--- a/src/pl/plpython/sql/plpython_import.sql
+++ b/src/pl/plpython/sql/plpython_import.sql
@@ -20,11 +20,9 @@ CREATE FUNCTION import_succeed() returns text
import cmath
import errno
import math
- import md5
import operator
import random
import re
- import sha
import string
import time
except Exception, ex:
@@ -35,16 +33,24 @@ return "succeeded, as expected"'
CREATE FUNCTION import_test_one(p text) RETURNS text
AS
-'import sha
-digest = sha.new(p)
+'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
-'import sha
-plain = u["fname"] + u["lname"]
-digest = sha.new(plain);
+'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;