-- -- Unicode handling -- -- This test case would fail if the database encoding is EUC_CN, EUC_JP, -- EUC_KR, or EUC_TW, for lack of any equivalent to U+00A0 (no-break space) in -- those encodings. However, testing with plain ASCII data would be rather -- useless, so we must live with that. -- SELECT getdatabaseencoding() IN ('EUC_CN', 'EUC_JP', 'EUC_KR', 'EUC_TW') AS skip_test \gset
\if :skip_test
\quit
\endif
SET client_encoding TO UTF8;
CREATETABLE unicode_test (
testvalue text NOTNULL
);
CREATE FUNCTION unicode_return() RETURNS text AS E' return"\\xA0" ' LANGUAGE plpython3u;
CREATE FUNCTION unicode_trigger() RETURNS triggerAS E'
TD["new"]["testvalue"] = "\\xA0" return"MODIFY" ' LANGUAGE plpython3u;
CREATE FUNCTION unicode_plan1() RETURNS text AS E'
plan = plpy.prepare("SELECT $1 AS testvalue", ["text"])
rv = plpy.execute(plan, ["\\xA0"], 1) return rv[0]["testvalue"] ' LANGUAGE plpython3u;
CREATE FUNCTION unicode_plan2() RETURNS text AS E'
plan = plpy.prepare("SELECT $1 || $2 AS testvalue", ["text", "text"])
rv = plpy.execute(plan, ["foo", "bar"], 1) return rv[0]["testvalue"] ' LANGUAGE plpython3u;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.