From ea2467d78bec32a8c423ef887aa56f80b5806bb1 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Wed, 14 Oct 2009 21:42:58 +0000 Subject: [PATCH] Add alternative expected file for unicode test for client encoding not UTF8 --- src/pl/plpython/expected/README | 3 +- .../plpython/expected/plpython_unicode_0.out | 50 +++++++++++++++++++ 2 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 src/pl/plpython/expected/plpython_unicode_0.out diff --git a/src/pl/plpython/expected/README b/src/pl/plpython/expected/README index 24f5e80a29..47f31e86d3 100644 --- a/src/pl/plpython/expected/README +++ b/src/pl/plpython/expected/README @@ -3,7 +3,8 @@ Guide to alternative expected files: plpython_error_2.out Python 2.2, 2.3, 2.4 plpython_error.out Python 2.5, 2.6 -plpython_unicode.out any version, when server encoding != SQL_ASCII; else ... +plpython_unicode.out any version, when server encoding != SQL_ASCII and client encoding = UTF8; else ... +plpython_unicode_0.out any version, when server encoding != SQL_ASCII and client encoding != UTF8; else ... plpython_unicode_2.out Python 2.2 plpython_unicode_3.out Python 2.3, 2.4 plpython_unicode_5.out Python 2.5, 2.6 diff --git a/src/pl/plpython/expected/plpython_unicode_0.out b/src/pl/plpython/expected/plpython_unicode_0.out new file mode 100644 index 0000000000..4db95ad8a0 --- /dev/null +++ b/src/pl/plpython/expected/plpython_unicode_0.out @@ -0,0 +1,50 @@ +-- +-- Unicode handling +-- +CREATE TABLE unicode_test ( + testvalue text NOT NULL +); +CREATE FUNCTION unicode_return() RETURNS text AS E' +return u"\\x80" +' LANGUAGE plpythonu; +CREATE FUNCTION unicode_trigger() RETURNS trigger AS E' +TD["new"]["testvalue"] = u"\\x80" +return "MODIFY" +' LANGUAGE plpythonu; +CREATE TRIGGER unicode_test_bi BEFORE INSERT ON unicode_test + FOR EACH ROW EXECUTE PROCEDURE unicode_trigger(); +CREATE FUNCTION unicode_plan1() RETURNS text AS E' +plan = plpy.prepare("SELECT $1 AS testvalue", ["text"]) +rv = plpy.execute(plan, [u"\\x80"], 1) +return rv[0]["testvalue"] +' LANGUAGE plpythonu; +CREATE FUNCTION unicode_plan2() RETURNS text AS E' +plan = plpy.prepare("SELECT $1 || $2 AS testvalue", ["text", u"text"]) +rv = plpy.execute(plan, ["foo", "bar"], 1) +return rv[0]["testvalue"] +' LANGUAGE plpythonu; +SELECT unicode_return(); + unicode_return +---------------- + +(1 row) + +INSERT INTO unicode_test (testvalue) VALUES ('test'); +SELECT * FROM unicode_test; + testvalue +----------- + +(1 row) + +SELECT unicode_plan1(); + unicode_plan1 +--------------- + +(1 row) + +SELECT unicode_plan2(); + unicode_plan2 +--------------- + foobar +(1 row) +