mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-06 15:24:56 +08:00
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.
This commit is contained in:
parent
8bed238c87
commit
5dff93638c
@ -45,7 +45,7 @@ CONTEXT: PL/Python function "exception_index_invalid_nested"
|
||||
*/
|
||||
CREATE FUNCTION invalid_type_uncaught(a text) RETURNS text
|
||||
AS
|
||||
'if not SD.has_key("plan"):
|
||||
'if "plan" not in SD:
|
||||
q = "SELECT fname FROM users WHERE lname = $1"
|
||||
SD["plan"] = plpy.prepare(q, [ "test" ])
|
||||
rv = plpy.execute(SD["plan"], [ a ])
|
||||
@ -64,7 +64,7 @@ CONTEXT: PL/Python function "invalid_type_uncaught"
|
||||
*/
|
||||
CREATE FUNCTION invalid_type_caught(a text) RETURNS text
|
||||
AS
|
||||
'if not SD.has_key("plan"):
|
||||
'if "plan" not in SD:
|
||||
q = "SELECT fname FROM users WHERE lname = $1"
|
||||
try:
|
||||
SD["plan"] = plpy.prepare(q, [ "test" ])
|
||||
@ -87,7 +87,7 @@ CONTEXT: PL/Python function "invalid_type_caught"
|
||||
*/
|
||||
CREATE FUNCTION invalid_type_reraised(a text) RETURNS text
|
||||
AS
|
||||
'if not SD.has_key("plan"):
|
||||
'if "plan" not in SD:
|
||||
q = "SELECT fname FROM users WHERE lname = $1"
|
||||
try:
|
||||
SD["plan"] = plpy.prepare(q, [ "test" ])
|
||||
@ -108,7 +108,7 @@ CONTEXT: PL/Python function "invalid_type_reraised"
|
||||
*/
|
||||
CREATE FUNCTION valid_type(a text) RETURNS text
|
||||
AS
|
||||
'if not SD.has_key("plan"):
|
||||
'if "plan" not in SD:
|
||||
SD["plan"] = plpy.prepare("SELECT fname FROM users WHERE lname = $1", [ "text" ])
|
||||
rv = plpy.execute(SD["plan"], [ a ])
|
||||
if len(rv):
|
||||
|
@ -45,7 +45,7 @@ CONTEXT: PL/Python function "exception_index_invalid_nested"
|
||||
*/
|
||||
CREATE FUNCTION invalid_type_uncaught(a text) RETURNS text
|
||||
AS
|
||||
'if not SD.has_key("plan"):
|
||||
'if "plan" not in SD:
|
||||
q = "SELECT fname FROM users WHERE lname = $1"
|
||||
SD["plan"] = plpy.prepare(q, [ "test" ])
|
||||
rv = plpy.execute(SD["plan"], [ a ])
|
||||
@ -64,7 +64,7 @@ CONTEXT: PL/Python function "invalid_type_uncaught"
|
||||
*/
|
||||
CREATE FUNCTION invalid_type_caught(a text) RETURNS text
|
||||
AS
|
||||
'if not SD.has_key("plan"):
|
||||
'if "plan" not in SD:
|
||||
q = "SELECT fname FROM users WHERE lname = $1"
|
||||
try:
|
||||
SD["plan"] = plpy.prepare(q, [ "test" ])
|
||||
@ -87,7 +87,7 @@ CONTEXT: PL/Python function "invalid_type_caught"
|
||||
*/
|
||||
CREATE FUNCTION invalid_type_reraised(a text) RETURNS text
|
||||
AS
|
||||
'if not SD.has_key("plan"):
|
||||
'if "plan" not in SD:
|
||||
q = "SELECT fname FROM users WHERE lname = $1"
|
||||
try:
|
||||
SD["plan"] = plpy.prepare(q, [ "test" ])
|
||||
@ -108,7 +108,7 @@ CONTEXT: PL/Python function "invalid_type_reraised"
|
||||
*/
|
||||
CREATE FUNCTION valid_type(a text) RETURNS text
|
||||
AS
|
||||
'if not SD.has_key("plan"):
|
||||
'if "plan" not in SD:
|
||||
SD["plan"] = plpy.prepare("SELECT fname FROM users WHERE lname = $1", [ "text" ])
|
||||
rv = plpy.execute(SD["plan"], [ a ])
|
||||
if len(rv):
|
||||
|
@ -3,23 +3,23 @@
|
||||
--
|
||||
CREATE FUNCTION global_test_one() returns text
|
||||
AS
|
||||
'if not SD.has_key("global_test"):
|
||||
'if "global_test" not in SD:
|
||||
SD["global_test"] = "set by global_test_one"
|
||||
if not GD.has_key("global_test"):
|
||||
if "global_test" not in GD:
|
||||
GD["global_test"] = "set by global_test_one"
|
||||
return "SD: " + SD["global_test"] + ", GD: " + GD["global_test"]'
|
||||
LANGUAGE plpythonu;
|
||||
CREATE FUNCTION global_test_two() returns text
|
||||
AS
|
||||
'if not SD.has_key("global_test"):
|
||||
'if "global_test" not in SD:
|
||||
SD["global_test"] = "set by global_test_two"
|
||||
if not GD.has_key("global_test"):
|
||||
if "global_test" not in GD:
|
||||
GD["global_test"] = "set by global_test_two"
|
||||
return "SD: " + SD["global_test"] + ", GD: " + GD["global_test"]'
|
||||
LANGUAGE plpythonu;
|
||||
CREATE FUNCTION static_test() returns int4
|
||||
AS
|
||||
'if SD.has_key("call"):
|
||||
'if "call" in SD:
|
||||
SD["call"] = SD["call"] + 1
|
||||
else:
|
||||
SD["call"] = 1
|
||||
|
@ -17,11 +17,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:
|
||||
@ -31,15 +29,23 @@ return "succeeded, as expected"'
|
||||
LANGUAGE plpythonu;
|
||||
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;
|
||||
-- import python modules
|
||||
|
@ -13,7 +13,7 @@ return [ content ]*count
|
||||
$$ LANGUAGE plpythonu;
|
||||
CREATE FUNCTION test_setof_as_tuple(count integer, content text) RETURNS SETOF text AS $$
|
||||
t = ()
|
||||
for i in xrange(count):
|
||||
for i in range(count):
|
||||
t += ( content, )
|
||||
return t
|
||||
$$ LANGUAGE plpythonu;
|
||||
|
@ -19,7 +19,7 @@ CREATE FUNCTION nested_call_three(a text) RETURNS text
|
||||
-- some spi stuff
|
||||
CREATE FUNCTION spi_prepared_plan_test_one(a text) RETURNS text
|
||||
AS
|
||||
'if not SD.has_key("myplan"):
|
||||
'if "myplan" not in SD:
|
||||
q = "SELECT count(*) FROM users WHERE lname = $1"
|
||||
SD["myplan"] = plpy.prepare(q, [ "text" ])
|
||||
try:
|
||||
@ -32,7 +32,7 @@ return None
|
||||
LANGUAGE plpythonu;
|
||||
CREATE FUNCTION spi_prepared_plan_test_nested(a text) RETURNS text
|
||||
AS
|
||||
'if not SD.has_key("myplan"):
|
||||
'if "myplan" not in SD:
|
||||
q = "SELECT spi_prepared_plan_test_one(''%s'') as count" % a
|
||||
SD["myplan"] = plpy.prepare(q)
|
||||
try:
|
||||
|
@ -10,7 +10,7 @@ select stupid();
|
||||
-- test multiple arguments
|
||||
CREATE FUNCTION argument_test_one(u users, a1 text, a2 text) RETURNS text
|
||||
AS
|
||||
'keys = u.keys()
|
||||
'keys = list(u.keys())
|
||||
keys.sort()
|
||||
out = []
|
||||
for key in keys:
|
||||
|
@ -69,10 +69,10 @@ CREATE TABLE trigger_test
|
||||
(i int, v text );
|
||||
CREATE FUNCTION trigger_data() returns trigger language plpythonu as $$
|
||||
|
||||
if TD.has_key('relid'):
|
||||
if 'relid' in TD:
|
||||
TD['relid'] = "bogus:12345"
|
||||
|
||||
skeys = TD.keys()
|
||||
skeys = list(TD.keys())
|
||||
skeys.sort()
|
||||
for key in skeys:
|
||||
val = TD[key]
|
||||
|
@ -37,7 +37,7 @@ SELECT exception_index_invalid_nested();
|
||||
*/
|
||||
CREATE FUNCTION invalid_type_uncaught(a text) RETURNS text
|
||||
AS
|
||||
'if not SD.has_key("plan"):
|
||||
'if "plan" not in SD:
|
||||
q = "SELECT fname FROM users WHERE lname = $1"
|
||||
SD["plan"] = plpy.prepare(q, [ "test" ])
|
||||
rv = plpy.execute(SD["plan"], [ a ])
|
||||
@ -55,7 +55,7 @@ SELECT invalid_type_uncaught('rick');
|
||||
*/
|
||||
CREATE FUNCTION invalid_type_caught(a text) RETURNS text
|
||||
AS
|
||||
'if not SD.has_key("plan"):
|
||||
'if "plan" not in SD:
|
||||
q = "SELECT fname FROM users WHERE lname = $1"
|
||||
try:
|
||||
SD["plan"] = plpy.prepare(q, [ "test" ])
|
||||
@ -77,7 +77,7 @@ SELECT invalid_type_caught('rick');
|
||||
*/
|
||||
CREATE FUNCTION invalid_type_reraised(a text) RETURNS text
|
||||
AS
|
||||
'if not SD.has_key("plan"):
|
||||
'if "plan" not in SD:
|
||||
q = "SELECT fname FROM users WHERE lname = $1"
|
||||
try:
|
||||
SD["plan"] = plpy.prepare(q, [ "test" ])
|
||||
@ -97,7 +97,7 @@ SELECT invalid_type_reraised('rick');
|
||||
*/
|
||||
CREATE FUNCTION valid_type(a text) RETURNS text
|
||||
AS
|
||||
'if not SD.has_key("plan"):
|
||||
'if "plan" not in SD:
|
||||
SD["plan"] = plpy.prepare("SELECT fname FROM users WHERE lname = $1", [ "text" ])
|
||||
rv = plpy.execute(SD["plan"], [ a ])
|
||||
if len(rv):
|
||||
|
@ -4,18 +4,18 @@
|
||||
|
||||
CREATE FUNCTION global_test_one() returns text
|
||||
AS
|
||||
'if not SD.has_key("global_test"):
|
||||
'if "global_test" not in SD:
|
||||
SD["global_test"] = "set by global_test_one"
|
||||
if not GD.has_key("global_test"):
|
||||
if "global_test" not in GD:
|
||||
GD["global_test"] = "set by global_test_one"
|
||||
return "SD: " + SD["global_test"] + ", GD: " + GD["global_test"]'
|
||||
LANGUAGE plpythonu;
|
||||
|
||||
CREATE FUNCTION global_test_two() returns text
|
||||
AS
|
||||
'if not SD.has_key("global_test"):
|
||||
'if "global_test" not in SD:
|
||||
SD["global_test"] = "set by global_test_two"
|
||||
if not GD.has_key("global_test"):
|
||||
if "global_test" not in GD:
|
||||
GD["global_test"] = "set by global_test_two"
|
||||
return "SD: " + SD["global_test"] + ", GD: " + GD["global_test"]'
|
||||
LANGUAGE plpythonu;
|
||||
@ -23,7 +23,7 @@ return "SD: " + SD["global_test"] + ", GD: " + GD["global_test"]'
|
||||
|
||||
CREATE FUNCTION static_test() returns int4
|
||||
AS
|
||||
'if SD.has_key("call"):
|
||||
'if "call" in SD:
|
||||
SD["call"] = SD["call"] + 1
|
||||
else:
|
||||
SD["call"] = 1
|
||||
|
@ -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;
|
||||
|
||||
|
@ -15,7 +15,7 @@ $$ LANGUAGE plpythonu;
|
||||
|
||||
CREATE FUNCTION test_setof_as_tuple(count integer, content text) RETURNS SETOF text AS $$
|
||||
t = ()
|
||||
for i in xrange(count):
|
||||
for i in range(count):
|
||||
t += ( content, )
|
||||
return t
|
||||
$$ LANGUAGE plpythonu;
|
||||
|
@ -25,7 +25,7 @@ CREATE FUNCTION nested_call_three(a text) RETURNS text
|
||||
|
||||
CREATE FUNCTION spi_prepared_plan_test_one(a text) RETURNS text
|
||||
AS
|
||||
'if not SD.has_key("myplan"):
|
||||
'if "myplan" not in SD:
|
||||
q = "SELECT count(*) FROM users WHERE lname = $1"
|
||||
SD["myplan"] = plpy.prepare(q, [ "text" ])
|
||||
try:
|
||||
@ -39,7 +39,7 @@ return None
|
||||
|
||||
CREATE FUNCTION spi_prepared_plan_test_nested(a text) RETURNS text
|
||||
AS
|
||||
'if not SD.has_key("myplan"):
|
||||
'if "myplan" not in SD:
|
||||
q = "SELECT spi_prepared_plan_test_one(''%s'') as count" % a
|
||||
SD["myplan"] = plpy.prepare(q)
|
||||
try:
|
||||
|
@ -9,7 +9,7 @@ select stupid();
|
||||
-- test multiple arguments
|
||||
CREATE FUNCTION argument_test_one(u users, a1 text, a2 text) RETURNS text
|
||||
AS
|
||||
'keys = u.keys()
|
||||
'keys = list(u.keys())
|
||||
keys.sort()
|
||||
out = []
|
||||
for key in keys:
|
||||
|
@ -69,10 +69,10 @@ CREATE TABLE trigger_test
|
||||
|
||||
CREATE FUNCTION trigger_data() returns trigger language plpythonu as $$
|
||||
|
||||
if TD.has_key('relid'):
|
||||
if 'relid' in TD:
|
||||
TD['relid'] = "bogus:12345"
|
||||
|
||||
skeys = TD.keys()
|
||||
skeys = list(TD.keys())
|
||||
skeys.sort()
|
||||
for key in skeys:
|
||||
val = TD[key]
|
||||
|
Loading…
Reference in New Issue
Block a user