diff options
Diffstat (limited to 'src/pl/plpython/expected/plpython_unicode_3.out')
-rw-r--r-- | src/pl/plpython/expected/plpython_unicode_3.out | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/pl/plpython/expected/plpython_unicode_3.out b/src/pl/plpython/expected/plpython_unicode_3.out new file mode 100644 index 00000000000..8e48c20a62b --- /dev/null +++ b/src/pl/plpython/expected/plpython_unicode_3.out @@ -0,0 +1,52 @@ +-- +-- 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(); +ERROR: PL/Python: could not convert Python Unicode object to PostgreSQL server encoding +DETAIL: exceptions.UnicodeEncodeError: 'ascii' codec can't encode character u'\x80' in position 0: ordinal not in range(128) +CONTEXT: while creating return value +PL/Python function "unicode_return" +INSERT INTO unicode_test (testvalue) VALUES ('test'); +ERROR: PL/Python: could not convert Python Unicode object to PostgreSQL server encoding +DETAIL: exceptions.UnicodeEncodeError: 'ascii' codec can't encode character u'\x80' in position 0: ordinal not in range(128) +CONTEXT: while modifying trigger row +PL/Python function "unicode_trigger" +SELECT * FROM unicode_test; + testvalue +----------- +(0 rows) + +SELECT unicode_plan1(); +WARNING: PL/Python: plpy.Error: unrecognized error in PLy_spi_execute_plan +CONTEXT: PL/Python function "unicode_plan1" +ERROR: PL/Python: could not convert Python Unicode object to PostgreSQL server encoding +DETAIL: exceptions.UnicodeEncodeError: 'ascii' codec can't encode character u'\x80' in position 0: ordinal not in range(128) +CONTEXT: PL/Python function "unicode_plan1" +SELECT unicode_plan2(); + unicode_plan2 +--------------- + foobar +(1 row) + |