diff options
author | Bruce Momjian <bruce@momjian.us> | 2003-03-27 16:58:21 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2003-03-27 16:58:21 +0000 |
commit | 9b59ddfb403af197c6ec8df8f8673bd9c033106d (patch) | |
tree | 413a310f73e459c4c45e674a6f433d32dfc579da | |
parent | c75d65485d1025c6ec62044e46ac74d467f1243b (diff) | |
download | postgresql-9b59ddfb403af197c6ec8df8f8673bd9c033106d.tar.gz postgresql-9b59ddfb403af197c6ec8df8f8673bd9c033106d.zip |
It may not be obvious to you, but the plpython regression tests
include output that vary depending on the python build one is
running. Basically, the order of keys in a dictionary is
non-deterministic, and that part of the test fails for me regularly.
I rewrote the test to work around this problem, and include a patch
file with that change and the change to the expected otuput as well.
Mike Meyer
-rw-r--r-- | src/pl/plpython/feature.expected | 10 | ||||
-rw-r--r-- | src/pl/plpython/plpython_function.sql | 7 |
2 files changed, 11 insertions, 6 deletions
diff --git a/src/pl/plpython/feature.expected b/src/pl/plpython/feature.expected index b689c1f6154..66e4e6709c2 100644 --- a/src/pl/plpython/feature.expected +++ b/src/pl/plpython/feature.expected @@ -54,11 +54,11 @@ select import_test_two(users) from users where fname = 'willem'; (1 row) select argument_test_one(users, fname, lname) from users where lname = 'doe' order by 1; - argument_test_one -------------------------------------------------------------------------------------- - jane doe => {'fname': 'jane', 'userid': 1, 'lname': 'doe', 'username': 'j_doe'} - john doe => {'fname': 'john', 'userid': 2, 'lname': 'doe', 'username': 'johnd'} - willem doe => {'fname': 'willem', 'userid': 3, 'lname': 'doe', 'username': 'w_doe'} + argument_test_one +----------------------------------------------------------------------- + jane doe => {fname: jane, lname: doe, userid: 1, username: j_doe} + john doe => {fname: john, lname: doe, userid: 2, username: johnd} + willem doe => {fname: willem, lname: doe, userid: 3, username: w_doe} (3 rows) select nested_call_one('pass this along'); diff --git a/src/pl/plpython/plpython_function.sql b/src/pl/plpython/plpython_function.sql index 46ab4babd35..2769e9de36f 100644 --- a/src/pl/plpython/plpython_function.sql +++ b/src/pl/plpython/plpython_function.sql @@ -82,7 +82,12 @@ return "sha hash of " + plain + " is " + digest.hexdigest()' CREATE FUNCTION argument_test_one(users, text, text) RETURNS text AS -'words = args[1] + " " + args[2] + " => " + str(args[0]) +'keys = args[0].keys() +keys.sort() +out = [] +for key in keys: + out.append("%s: %s" % (key, args[0][key])) +words = args[1] + " " + args[2] + " => {" + ", ".join(out) + "}" return words' LANGUAGE 'plpython'; |