Registering pre-existing tables emp CREATE TABLE xmltest ( id int, data xml ); INSERT INTO xmltest VALUES (1, 'one'); INSERT INTO xmltest VALUES (2, 'two'); INSERT INTO xmltest VALUES (3, ' -stdin-:
: Fatal: Execution -stdin-:
:1:1: Fatal: Execution of node: YtFill! INSERT INTO xmltest VALUES (3, ':1:1: Fatal: ERROR: invalid XML document DETAIL: line 1: Couldn't find end of Start Tag wrong line 1 SELECT * FROM xmltest; SELECT xmlcomment('test'); SELECT xmlcomment('-test'); SELECT xmlcomment('test-'); -stdin-:
: Fatal: Execution -stdin-:
:1:1: Fatal: Execution of node: Result SELECT xmlcomment('test-'); ^ -stdin-:
:1:1: Fatal: ERROR: invalid XML comment SELECT xmlcomment('test-'); ^ SELECT xmlcomment('--test'); -stdin-:
: Fatal: Execution -stdin-:
:1:1: Fatal: Execution of node: Result SELECT xmlcomment('--test'); ^ -stdin-:
:1:1: Fatal: ERROR: invalid XML comment SELECT xmlcomment('--test'); ^ SELECT xmlcomment('te st'); SELECT xmlconcat(xmlcomment('hello'), xmlelement(NAME qux, 'foo'), xmlcomment('world')); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlconcat(xmlcomment('hello'), ^ SELECT xmlconcat('hello', 'you'); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlconcat('hello', 'you'); ^ SELECT xmlconcat(1, 2); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlconcat(1, 2); ^ SELECT xmlconcat('bad', ' -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlconcat('bad', ' SELECT xmlconcat('', NULL, ''); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlconcat('', NULL, ''); ^ SELECT xmlconcat('', NULL, ''); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlconcat('', NULL, ''); ^ SELECT xmlconcat(NULL); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlconcat(NULL); ^ SELECT xmlconcat(NULL, NULL); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlconcat(NULL, NULL); ^ SELECT xmlelement(name element, xmlattributes (1 as one, 'deuce' as two), 'content'); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlelement(name element, ^ SELECT xmlelement(name element, xmlattributes ('unnamed and wrong')); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlelement(name element, ^ SELECT xmlelement(name element, xmlelement(name nested, 'stuff')); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlelement(name element, xmlelement(name nested, 'stuff')); ^ SELECT xmlelement(name employee, xmlforest(name, age, salary as pay)) FROM emp; -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlelement(name employee, xmlforest(name, age, salary as pay)) FROM emp; ^ SELECT xmlelement(name duplicate, xmlattributes(1 as a, 2 as b, 3 as a)); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlelement(name duplicate, xmlattributes(1 as a, 2 as b, 3 as a)); ^ SELECT xmlelement(name num, 37); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlelement(name num, 37); ^ SELECT xmlelement(name foo, text 'bar'); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlelement(name foo, text 'bar'); ^ SELECT xmlelement(name foo, xml 'bar'); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlelement(name foo, xml 'bar'); ^ SELECT xmlelement(name foo, text 'br'); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlelement(name foo, text 'br'); ^ SELECT xmlelement(name foo, xml 'br'); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlelement(name foo, xml 'br'); ^ SELECT xmlelement(name foo, array[1, 2, 3]); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlelement(name foo, array[1, 2, 3]); ^ SET xmlbinary TO base64; -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: VariableSetStmt, not supported name: xmlbinary SET xmlbinary TO base64; ^ SELECT xmlelement(name foo, bytea 'bar'); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlelement(name foo, bytea 'bar'); ^ SET xmlbinary TO hex; -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: VariableSetStmt, not supported name: xmlbinary SET xmlbinary TO hex; ^ SELECT xmlelement(name foo, bytea 'bar'); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlelement(name foo, bytea 'bar'); ^ SELECT xmlelement(name foo, xmlattributes(true as bar)); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlelement(name foo, xmlattributes(true as bar)); ^ SELECT xmlelement(name foo, xmlattributes('2009-04-09 00:24:37'::timestamp as bar)); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlelement(name foo, xmlattributes('2009-04-09 00:24:37'::timestamp as bar)); ^ SELECT xmlelement(name foo, xmlattributes('infinity'::timestamp as bar)); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlelement(name foo, xmlattributes('infinity'::timestamp as bar)); ^ SELECT xmlelement(name foo, xmlattributes('<>&"''' as funny, xml 'br' as funnier)); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlelement(name foo, xmlattributes('<>&"''' as funny, xml 'br' as funnier)); ^ SELECT xmlparse(content ''); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlparse(content ''); ^ SELECT xmlparse(content ' '); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlparse(content ' '); ^ SELECT xmlparse(content 'abc'); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlparse(content 'abc'); ^ SELECT xmlparse(content 'x'); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlparse(content 'x'); ^ SELECT xmlparse(content '&'); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlparse(content '&'); ^ SELECT xmlparse(content '&idontexist;'); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlparse(content '&idontexist;'); ^ SELECT xmlparse(content ''); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlparse(content ''); ^ SELECT xmlparse(content ''); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlparse(content ''); ^ SELECT xmlparse(content '&idontexist;'); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlparse(content '&idontexist;'); ^ SELECT xmlparse(content ''); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlparse(content ''); ^ SELECT xmlparse(document ' '); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlparse(document ' '); ^ SELECT xmlparse(document 'abc'); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlparse(document 'abc'); ^ SELECT xmlparse(document 'x'); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlparse(document 'x'); ^ SELECT xmlparse(document '&'); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlparse(document '&'); ^ SELECT xmlparse(document '&idontexist;'); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlparse(document '&idontexist;'); ^ SELECT xmlparse(document ''); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlparse(document ''); ^ SELECT xmlparse(document ''); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlparse(document ''); ^ SELECT xmlparse(document '&idontexist;'); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlparse(document '&idontexist;'); ^ SELECT xmlparse(document ''); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlparse(document ''); ^ SELECT xmlpi(name foo); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlpi(name foo); ^ SELECT xmlpi(name xml); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlpi(name xml); ^ SELECT xmlpi(name xmlstuff); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlpi(name xmlstuff); ^ SELECT xmlpi(name foo, 'bar'); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlpi(name foo, 'bar'); ^ SELECT xmlpi(name foo, 'in?>valid'); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlpi(name foo, 'in?>valid'); ^ SELECT xmlpi(name foo, null); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlpi(name foo, null); ^ SELECT xmlpi(name xml, null); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlpi(name xml, null); ^ SELECT xmlpi(name xmlstuff, null); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlpi(name xmlstuff, null); ^ SELECT xmlpi(name "xml-stylesheet", 'href="mystyle.css" type="text/css"'); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlpi(name "xml-stylesheet", 'href="mystyle.css" type="text/css"'); ^ SELECT xmlpi(name foo, ' bar'); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlpi(name foo, ' bar'); ^ SELECT xmlroot(xml '', version no value, standalone no value); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlroot(xml '', version no value, standalone no value); ^ SELECT xmlroot(xml '', version '2.0'); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlroot(xml '', version '2.0'); ^ SELECT xmlroot(xml '', version no value, standalone yes); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlroot(xml '', version no value, standalone yes); ^ SELECT xmlroot(xml '', version no value, standalone yes); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlroot(xml '', version no value, standalone yes); ^ SELECT xmlroot(xmlroot(xml '', version '1.0'), version '1.1', standalone no); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlroot(xmlroot(xml '', version '1.0'), version '1.1', standalone no); ^ SELECT xmlroot('', version no value, standalone no); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlroot('', version no value, standalone no); ^ SELECT xmlroot('', version no value, standalone no value); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlroot('', version no value, standalone no value); ^ SELECT xmlroot('', version no value); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlroot('', version no value); ^ SELECT xmlroot ( xmlelement ( name gazonk, xmlattributes ( 'val' AS name, 1 + 1 AS num ), xmlelement ( NAME qux, 'foo' ) ), version '1.0', standalone yes ); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlroot ( ^ SELECT xmlserialize(content data as character varying(20)) FROM xmltest; -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 393 SELECT xmlserialize(content data as character varying(20)) FROM xmltest; ^ SELECT xmlserialize(content 'good' as char(10)); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 393 SELECT xmlserialize(content 'good' as char(10)); ^ SELECT xmlserialize(document 'bad' as text); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 393 SELECT xmlserialize(document 'bad' as text); ^ SELECT xml 'bar' IS DOCUMENT; -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xml 'bar' IS DOCUMENT; ^ SELECT xml 'barfoo' IS DOCUMENT; -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xml 'barfoo' IS DOCUMENT; ^ SELECT xml '' IS NOT DOCUMENT; -stdin-:
: Error: Parse Sql -stdin-:
:1:21: Error: alternative is not implemented yet : 143 SELECT xml '' IS NOT DOCUMENT; ^ SELECT xml 'abc' IS NOT DOCUMENT; -stdin-:
: Error: Parse Sql -stdin-:
:1:18: Error: alternative is not implemented yet : 143 SELECT xml 'abc' IS NOT DOCUMENT; ^ SELECT '<>' IS NOT DOCUMENT; -stdin-:
: Error: Parse Sql -stdin-:
:1:13: Error: alternative is not implemented yet : 143 SELECT '<>' IS NOT DOCUMENT; ^ SELECT xmlagg(data) FROM xmltest; -stdin-:
: Fatal: Execution -stdin-:
:1:1: Fatal: Execution of node: Result SELECT xmlagg(data) FROM xmltest; ^ -stdin-:
:1:1: Fatal: ERROR: invalid XML document DETAIL: line 1: Extra content at the end of the document onetwo ^ SELECT xmlagg(data) FROM xmltest; ^ SELECT xmlagg(data) FROM xmltest WHERE id > 10; SELECT xmlelement(name employees, xmlagg(xmlelement(name name, name))) FROM emp; -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlelement(name employees, xmlagg(xmlelement(name name, name))) FROM emp; ^ -- Check mapping SQL identifier to XML name SELECT xmlpi(name ":::_xml_abc135.%-&_"); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 -- Check mapping SQL identifier to XML name ^ SELECT xmlpi(name "123"); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT xmlpi(name "123"); ^ PREPARE foo (xml) AS SELECT xmlconcat('', $1); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: RawStmt: alternative is not implemented yet : 301 PREPARE foo (xml) AS SELECT xmlconcat('', $1); ^ SET XML OPTION DOCUMENT; EXECUTE foo (''); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: RawStmt: alternative is not implemented yet : 302 EXECUTE foo (''); ^ EXECUTE foo ('bad'); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: RawStmt: alternative is not implemented yet : 302 EXECUTE foo ('bad'); ^ SELECT xml ''; -stdin-:
: Fatal: Execution -stdin-:
:1:1: Fatal: Execution of node: Result SELECT xml ''; ^ -stdin-:
:1:1: Fatal: ERROR: invalid XML document DETAIL: line 1: Extra content at the end of the document ^ SELECT xml ''; ^ SET XML OPTION CONTENT; EXECUTE foo (''); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: RawStmt: alternative is not implemented yet : 302 EXECUTE foo (''); ^ EXECUTE foo ('good'); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: RawStmt: alternative is not implemented yet : 302 EXECUTE foo ('good'); ^ SELECT xml ' '; SELECT xml ' '; SELECT xml ''; SELECT xml ' oops '; -stdin-:
: Fatal: Execution -stdin-:
:1:1: Fatal: Execution of node: Result SELECT xml ' oops '; ^ -stdin-:
:1:1: Fatal: ERROR: invalid XML document DETAIL: line 1: Start tag expected, '<' not found oops ^ SELECT xml ' oops '; ^ SELECT xml ' '; -stdin-:
: Fatal: Execution -stdin-:
:1:1: Fatal: Execution of node: Result SELECT xml ' '; ^ -stdin-:
:1:1: Fatal: ERROR: invalid XML document DETAIL: line 1: Extra content at the end of the document ^ SELECT xml ' '; ^ SELECT xml ''; -stdin-:
: Fatal: Execution -stdin-:
:1:1: Fatal: Execution of node: Result SELECT xml ''; ^ -stdin-:
:1:1: Fatal: ERROR: invalid XML document DETAIL: line 1: Extra content at the end of the document ^ SELECT xml ''; ^ -- Test backwards parsing CREATE VIEW xmlview1 AS SELECT xmlcomment('test'); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: expected at least one target column -- Test backwards parsing ^ CREATE VIEW xmlview2 AS SELECT xmlconcat('hello', 'you'); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: expected at least one target column CREATE VIEW xmlview2 AS SELECT xmlconcat('hello', 'you'); ^ CREATE VIEW xmlview3 AS SELECT xmlelement(name element, xmlattributes (1 as ":one:", 'deuce' as two), 'content&'); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: expected at least one target column CREATE VIEW xmlview3 AS SELECT xmlelement(name element, xmlattributes (1 as ":one:", 'deuce' as two), 'content&'); ^ CREATE VIEW xmlview4 AS SELECT xmlelement(name employee, xmlforest(name, age, salary as pay)) FROM emp; -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: expected at least one target column CREATE VIEW xmlview4 AS SELECT xmlelement(name employee, xmlforest(name, age, salary as pay)) FROM emp; ^ CREATE VIEW xmlview5 AS SELECT xmlparse(content 'x'); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: expected at least one target column CREATE VIEW xmlview5 AS SELECT xmlparse(content 'x'); ^ CREATE VIEW xmlview6 AS SELECT xmlpi(name foo, 'bar'); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: expected at least one target column CREATE VIEW xmlview6 AS SELECT xmlpi(name foo, 'bar'); ^ CREATE VIEW xmlview7 AS SELECT xmlroot(xml '', version no value, standalone yes); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: expected at least one target column CREATE VIEW xmlview7 AS SELECT xmlroot(xml '', version no value, standalone yes); ^ CREATE VIEW xmlview8 AS SELECT xmlserialize(content 'good' as char(10)); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: expected at least one target column CREATE VIEW xmlview8 AS SELECT xmlserialize(content 'good' as char(10)); ^ CREATE VIEW xmlview9 AS SELECT xmlserialize(content 'good' as text); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: expected at least one target column CREATE VIEW xmlview9 AS SELECT xmlserialize(content 'good' as text); ^ SELECT table_name, view_definition FROM information_schema.views WHERE table_name LIKE 'xmlview%' ORDER BY 1; -- Text XPath expressions evaluation SELECT xpath('/value', data) FROM xmltest; -stdin-:
: Error: Type annotation -stdin-:
:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem -- Text XPath expressions evaluation ^ -stdin-:
:2:8: Error: At function: PgCall SELECT xpath('/value', data) FROM xmltest; ^ -stdin-:
:2:8: Error: Unable to find an overload for proc xpath with given argument types: (unknown,xml) SELECT xpath('/value', data) FROM xmltest; ^ SELECT xpath(NULL, NULL) IS NULL FROM xmltest; -stdin-:
: Error: Type annotation -stdin-:
:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem SELECT xpath(NULL, NULL) IS NULL FROM xmltest; ^ -stdin-:
:1:26: Error: At function: ToPg, At function: Not, At function: Exists SELECT xpath(NULL, NULL) IS NULL FROM xmltest; ^ -stdin-:
:1:8: Error: At function: PgCall SELECT xpath(NULL, NULL) IS NULL FROM xmltest; ^ -stdin-:
:1:8: Error: Unable to find an overload for proc xpath with given argument types: (unknown,unknown) SELECT xpath(NULL, NULL) IS NULL FROM xmltest; ^ SELECT xpath('', ''); -stdin-:
: Error: Type annotation -stdin-:
:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem SELECT xpath('', ''); ^ -stdin-:
:1:8: Error: At function: PgCall SELECT xpath('', ''); ^ -stdin-:
:1:8: Error: Unable to find an overload for proc xpath with given argument types: (unknown,unknown) SELECT xpath('', ''); ^ SELECT xpath('//text()', 'number one'); -stdin-:
: Error: Type annotation -stdin-:
:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem SELECT xpath('//text()', 'number one'); ^ -stdin-:
:1:8: Error: At function: PgCall SELECT xpath('//text()', 'number one'); ^ -stdin-:
:1:8: Error: Unable to find an overload for proc xpath with given argument types: (unknown,unknown) SELECT xpath('//text()', 'number one'); ^ SELECT xpath('//loc:piece/@id', 'number one', ARRAY[ARRAY['loc', 'http://127.0.0.1']]); SELECT xpath('//loc:piece', 'number one', ARRAY[ARRAY['loc', 'http://127.0.0.1']]); SELECT xpath('//loc:piece', 'number one', ARRAY[ARRAY['loc', 'http://127.0.0.1']]); SELECT xpath('//b', 'one two three etc'); -stdin-:
: Error: Type annotation -stdin-:
:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem SELECT xpath('//b', 'one two three etc'); ^ -stdin-:
:1:8: Error: At function: PgCall SELECT xpath('//b', 'one two three etc'); ^ -stdin-:
:1:8: Error: Unable to find an overload for proc xpath with given argument types: (unknown,unknown) SELECT xpath('//b', 'one two three etc'); ^ SELECT xpath('//text()', '<'); -stdin-:
: Error: Type annotation -stdin-:
:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem SELECT xpath('//text()', '<'); ^ -stdin-:
:1:8: Error: At function: PgCall SELECT xpath('//text()', '<'); ^ -stdin-:
:1:8: Error: Unable to find an overload for proc xpath with given argument types: (unknown,unknown) SELECT xpath('//text()', '<'); ^ SELECT xpath('//@value', ''); -stdin-:
: Error: Type annotation -stdin-:
:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem SELECT xpath('//@value', ''); ^ -stdin-:
:1:8: Error: At function: PgCall SELECT xpath('//@value', ''); ^ -stdin-:
:1:8: Error: Unable to find an overload for proc xpath with given argument types: (unknown,unknown) SELECT xpath('//@value', ''); ^ SELECT xpath('''<>''', ''); -stdin-:
: Error: Type annotation -stdin-:
:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem SELECT xpath('''<>''', ''); ^ -stdin-:
:1:8: Error: At function: PgCall SELECT xpath('''<>''', ''); ^ -stdin-:
:1:8: Error: Unable to find an overload for proc xpath with given argument types: (unknown,unknown) SELECT xpath('''<>''', ''); ^ SELECT xpath('count(//*)', ''); -stdin-:
: Error: Type annotation -stdin-:
:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem SELECT xpath('count(//*)', ''); ^ -stdin-:
:1:8: Error: At function: PgCall SELECT xpath('count(//*)', ''); ^ -stdin-:
:1:8: Error: Unable to find an overload for proc xpath with given argument types: (unknown,unknown) SELECT xpath('count(//*)', ''); ^ SELECT xpath('count(//*)=0', ''); -stdin-:
: Error: Type annotation -stdin-:
:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem SELECT xpath('count(//*)=0', ''); ^ -stdin-:
:1:8: Error: At function: PgCall SELECT xpath('count(//*)=0', ''); ^ -stdin-:
:1:8: Error: Unable to find an overload for proc xpath with given argument types: (unknown,unknown) SELECT xpath('count(//*)=0', ''); ^ SELECT xpath('count(//*)=3', ''); -stdin-:
: Error: Type annotation -stdin-:
:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem SELECT xpath('count(//*)=3', ''); ^ -stdin-:
:1:8: Error: At function: PgCall SELECT xpath('count(//*)=3', ''); ^ -stdin-:
:1:8: Error: Unable to find an overload for proc xpath with given argument types: (unknown,unknown) SELECT xpath('count(//*)=3', ''); ^ SELECT xpath('name(/*)', ''); -stdin-:
: Error: Type annotation -stdin-:
:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem SELECT xpath('name(/*)', ''); ^ -stdin-:
:1:8: Error: At function: PgCall SELECT xpath('name(/*)', ''); ^ -stdin-:
:1:8: Error: Unable to find an overload for proc xpath with given argument types: (unknown,unknown) SELECT xpath('name(/*)', ''); ^ SELECT xpath('/nosuchtag', ''); -stdin-:
: Error: Type annotation -stdin-:
:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem SELECT xpath('/nosuchtag', ''); ^ -stdin-:
:1:8: Error: At function: PgCall SELECT xpath('/nosuchtag', ''); ^ -stdin-:
:1:8: Error: Unable to find an overload for proc xpath with given argument types: (unknown,unknown) SELECT xpath('/nosuchtag', ''); ^ SELECT xpath('root', ''); -stdin-:
: Error: Type annotation -stdin-:
:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem SELECT xpath('root', ''); ^ -stdin-:
:1:8: Error: At function: PgCall SELECT xpath('root', ''); ^ -stdin-:
:1:8: Error: Unable to find an overload for proc xpath with given argument types: (unknown,unknown) SELECT xpath('root', ''); ^ -- Round-trip non-ASCII data through xpath(). DO $$ DECLARE xml_declaration text := ''; degree_symbol text; res xml[]; BEGIN -- Per the documentation, except when the server encoding is UTF8, xpath() -- may not work on non-ASCII data. The untranslatable_character and -- undefined_function traps below, currently dead code, will become relevant -- if we remove this limitation. IF current_setting('server_encoding') <> 'UTF8' THEN RAISE LOG 'skip: encoding % unsupported for xpath', current_setting('server_encoding'); RETURN; END IF; degree_symbol := convert_from('\xc2b0', 'UTF8'); res := xpath('text()', (xml_declaration || '' || degree_symbol || '')::xml); IF degree_symbol <> res[1]::text THEN RAISE 'expected % (%), got % (%)', degree_symbol, convert_to(degree_symbol, 'UTF8'), res[1], convert_to(res[1]::text, 'UTF8'); END IF; EXCEPTION -- character with byte sequence 0xc2 0xb0 in encoding "UTF8" has no equivalent in encoding "LATIN8" WHEN untranslatable_character -- default conversion function for encoding "UTF8" to "MULE_INTERNAL" does not exist OR undefined_function -- unsupported XML feature OR feature_not_supported THEN RAISE LOG 'skip: %', SQLERRM; END $$; -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: RawStmt: alternative is not implemented yet : 263 -- Round-trip non-ASCII data through xpath(). ^ -- Test xmlexists and xpath_exists SELECT xmlexists('//town[text() = ''Toronto'']' PASSING BY REF 'Bidford-on-AvonCwmbranBristol'); SELECT xmlexists('//town[text() = ''Cwmbran'']' PASSING BY REF 'Bidford-on-AvonCwmbranBristol'); SELECT xmlexists('count(/nosuchtag)' PASSING BY REF ''); SELECT xpath_exists('//town[text() = ''Toronto'']','Bidford-on-AvonCwmbranBristol'::xml); -stdin-:
: Error: Type annotation -stdin-:
:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem SELECT xpath_exists('//town[text() = ''Toronto'']','Bidford-on-AvonCwmbranBristol'::xml); ^ -stdin-:
:1:8: Error: At function: PgCall SELECT xpath_exists('//town[text() = ''Toronto'']','Bidford-on-AvonCwmbranBristol'::xml); ^ -stdin-:
:1:8: Error: Unable to find an overload for proc xpath_exists with given argument types: (unknown,xml) SELECT xpath_exists('//town[text() = ''Toronto'']','Bidford-on-AvonCwmbranBristol'::xml); ^ SELECT xpath_exists('//town[text() = ''Cwmbran'']','Bidford-on-AvonCwmbranBristol'::xml); -stdin-:
: Error: Type annotation -stdin-:
:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem SELECT xpath_exists('//town[text() = ''Cwmbran'']','Bidford-on-AvonCwmbranBristol'::xml); ^ -stdin-:
:1:8: Error: At function: PgCall SELECT xpath_exists('//town[text() = ''Cwmbran'']','Bidford-on-AvonCwmbranBristol'::xml); ^ -stdin-:
:1:8: Error: Unable to find an overload for proc xpath_exists with given argument types: (unknown,xml) SELECT xpath_exists('//town[text() = ''Cwmbran'']','Bidford-on-AvonCwmbranBristol'::xml); ^ SELECT xpath_exists('count(/nosuchtag)', ''::xml); -stdin-:
: Error: Type annotation -stdin-:
:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem SELECT xpath_exists('count(/nosuchtag)', ''::xml); ^ -stdin-:
:1:8: Error: At function: PgCall SELECT xpath_exists('count(/nosuchtag)', ''::xml); ^ -stdin-:
:1:8: Error: Unable to find an overload for proc xpath_exists with given argument types: (unknown,xml) SELECT xpath_exists('count(/nosuchtag)', ''::xml); ^ INSERT INTO xmltest VALUES (4, 'BudvarfreeCarlinglots'::xml); INSERT INTO xmltest VALUES (5, 'MolsonfreeCarlinglots'::xml); INSERT INTO xmltest VALUES (6, 'BudvarfreeCarlinglots'::xml); INSERT INTO xmltest VALUES (7, 'MolsonfreeCarlinglots'::xml); SELECT COUNT(id) FROM xmltest WHERE xmlexists('/menu/beer' PASSING data); SELECT COUNT(id) FROM xmltest WHERE xmlexists('/menu/beer' PASSING BY REF data BY REF); SELECT COUNT(id) FROM xmltest WHERE xmlexists('/menu/beers' PASSING BY REF data); SELECT COUNT(id) FROM xmltest WHERE xmlexists('/menu/beers/name[text() = ''Molson'']' PASSING BY REF data); SELECT COUNT(id) FROM xmltest WHERE xpath_exists('/menu/beer',data); -stdin-:
: Error: Type annotation -stdin-:
:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect SELECT COUNT(id) FROM xmltest WHERE xpath_exists('/menu/beer',data); ^ -stdin-:
: Error: At function: PgSetItem -stdin-:
:1:1: Error: At function: PgWhere SELECT COUNT(id) FROM xmltest WHERE xpath_exists('/menu/beer',data); ^ -stdin-:
:1:37: Error: At function: PgCall SELECT COUNT(id) FROM xmltest WHERE xpath_exists('/menu/beer',data); ^ -stdin-:
:1:37: Error: Unable to find an overload for proc xpath_exists with given argument types: (unknown,xml) SELECT COUNT(id) FROM xmltest WHERE xpath_exists('/menu/beer',data); ^ SELECT COUNT(id) FROM xmltest WHERE xpath_exists('/menu/beers',data); -stdin-:
: Error: Type annotation -stdin-:
:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect SELECT COUNT(id) FROM xmltest WHERE xpath_exists('/menu/beers',data); ^ -stdin-:
: Error: At function: PgSetItem -stdin-:
:1:1: Error: At function: PgWhere SELECT COUNT(id) FROM xmltest WHERE xpath_exists('/menu/beers',data); ^ -stdin-:
:1:37: Error: At function: PgCall SELECT COUNT(id) FROM xmltest WHERE xpath_exists('/menu/beers',data); ^ -stdin-:
:1:37: Error: Unable to find an overload for proc xpath_exists with given argument types: (unknown,xml) SELECT COUNT(id) FROM xmltest WHERE xpath_exists('/menu/beers',data); ^ SELECT COUNT(id) FROM xmltest WHERE xpath_exists('/menu/beers/name[text() = ''Molson'']',data); -stdin-:
: Error: Type annotation -stdin-:
:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect SELECT COUNT(id) FROM xmltest WHERE xpath_exists('/menu/beers/name[text() = ''Molson'']',data); ^ -stdin-:
: Error: At function: PgSetItem -stdin-:
:1:1: Error: At function: PgWhere SELECT COUNT(id) FROM xmltest WHERE xpath_exists('/menu/beers/name[text() = ''Molson'']',data); ^ -stdin-:
:1:37: Error: At function: PgCall SELECT COUNT(id) FROM xmltest WHERE xpath_exists('/menu/beers/name[text() = ''Molson'']',data); ^ -stdin-:
:1:37: Error: Unable to find an overload for proc xpath_exists with given argument types: (unknown,xml) SELECT COUNT(id) FROM xmltest WHERE xpath_exists('/menu/beers/name[text() = ''Molson'']',data); ^ SELECT COUNT(id) FROM xmltest WHERE xpath_exists('/myns:menu/myns:beer',data,ARRAY[ARRAY['myns','http://myns.com']]); SELECT COUNT(id) FROM xmltest WHERE xpath_exists('/myns:menu/myns:beers',data,ARRAY[ARRAY['myns','http://myns.com']]); SELECT COUNT(id) FROM xmltest WHERE xpath_exists('/myns:menu/myns:beers/myns:name[text() = ''Molson'']',data,ARRAY[ARRAY['myns','http://myns.com']]); CREATE TABLE query ( expr TEXT ); INSERT INTO query VALUES ('/menu/beers/cost[text() = ''lots'']'); SELECT COUNT(id) FROM xmltest, query WHERE xmlexists(expr PASSING BY REF data); -- Test xml_is_well_formed and variants SELECT xml_is_well_formed_document('bar'); SELECT xml_is_well_formed_document('abc'); SELECT xml_is_well_formed_content('bar'); SELECT xml_is_well_formed_content('abc'); SET xmloption TO DOCUMENT; SELECT xml_is_well_formed('abc'); SELECT xml_is_well_formed('<>'); SELECT xml_is_well_formed(''); SELECT xml_is_well_formed('bar'); SELECT xml_is_well_formed('bar SELECT xml_is_well_formed('baz'); SELECT xml_is_well_formed('number one'); SELECT xml_is_well_formed('bar'); SELECT xml_is_well_formed('bar'); SELECT xml_is_well_formed('&'); SELECT xml_is_well_formed('&idontexist;'); SELECT xml_is_well_formed(''); SELECT xml_is_well_formed(''); SELECT xml_is_well_formed('&idontexist;'); SET xmloption TO CONTENT; SELECT xml_is_well_formed('abc'); -- Since xpath() deals with namespaces, it's a bit stricter about -- what's well-formed and what's not. If we don't obey these rules -- (i.e. ignore namespace-related errors from libxml), xpath() -- fails in subtle ways. The following would for example produce -- the xml value -- -- which is invalid because '<' may not appear un-escaped in -- attribute values. -- Since different libxml versions emit slightly different -- error messages, we suppress the DETAIL in this test. \set VERBOSITY terse Metacommand \set VERBOSITY terse is not supported SELECT xpath('/*', ''); -stdin-:
: Error: Type annotation -stdin-:
:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem SELECT xpath('/*', ''); ^ -stdin-:
:1:8: Error: At function: PgCall SELECT xpath('/*', ''); ^ -stdin-:
:1:8: Error: Unable to find an overload for proc xpath with given argument types: (unknown,unknown) SELECT xpath('/*', ''); ^ \set VERBOSITY default Metacommand \set VERBOSITY default is not supported -- Again, the XML isn't well-formed for namespace purposes SELECT xpath('/*', ''); -stdin-:
: Error: Type annotation -stdin-:
:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem -- Again, the XML isn't well-formed for namespace purposes ^ -stdin-:
:2:8: Error: At function: PgCall SELECT xpath('/*', ''); ^ -stdin-:
:2:8: Error: Unable to find an overload for proc xpath with given argument types: (unknown,unknown) SELECT xpath('/*', ''); ^ -- XPath deprecates relative namespaces, but they're not supposed to -- throw an error, only a warning. SELECT xpath('/*', ''); -stdin-:
: Error: Type annotation -stdin-:
:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem -- XPath deprecates relative namespaces, but they're not supposed to ^ -stdin-:
:3:8: Error: At function: PgCall SELECT xpath('/*', ''); ^ -stdin-:
:3:8: Error: Unable to find an overload for proc xpath with given argument types: (unknown,unknown) SELECT xpath('/*', ''); ^ -- External entity references should not leak filesystem information. SELECT XMLPARSE(DOCUMENT ']>&c;'); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 -- External entity references should not leak filesystem information. ^ SELECT XMLPARSE(DOCUMENT ']>&c;'); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 SELECT XMLPARSE(DOCUMENT ']>&c;'); ^ -- This might or might not load the requested DTD, but it mustn't throw error. SELECT XMLPARSE(DOCUMENT ' '); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: alternative is not implemented yet : 143 -- This might or might not load the requested DTD, but it mustn't throw error. ^ -- XMLPATH tests CREATE TABLE xmldata(data xml); INSERT INTO xmldata VALUES(' AU Australia 3 CN China 3 HK HongKong 3 IN India 3 JP Japan 3Sinzo Abe SG Singapore 3791 '); -- XMLTABLE with columns SELECT xmltable.* FROM (SELECT data FROM xmldata) x, LATERAL XMLTABLE('/ROWS/ROW' PASSING data COLUMNS id int PATH '@id', _id FOR ORDINALITY, country_name text PATH 'COUNTRY_NAME/text()' NOT NULL, country_id text PATH 'COUNTRY_ID', region_id int PATH 'REGION_ID', size float PATH 'SIZE', unit text PATH 'SIZE/@unit', premier_name text PATH 'PREMIER_NAME' DEFAULT 'not specified'); -stdin-:
: Error: Parse Sql -stdin-:
:6:41: Error: ERROR: unrecognized column option "PATH" COLUMNS id int PATH '@id', ^ CREATE VIEW xmltableview1 AS SELECT xmltable.* FROM (SELECT data FROM xmldata) x, LATERAL XMLTABLE('/ROWS/ROW' PASSING data COLUMNS id int PATH '@id', _id FOR ORDINALITY, country_name text PATH 'COUNTRY_NAME/text()' NOT NULL, country_id text PATH 'COUNTRY_ID', region_id int PATH 'REGION_ID', size float PATH 'SIZE', unit text PATH 'SIZE/@unit', premier_name text PATH 'PREMIER_NAME' DEFAULT 'not specified'); -stdin-:
: Error: Parse Sql -stdin-:
:5:41: Error: ERROR: unrecognized column option "PATH" COLUMNS id int PATH '@id', ^ SELECT * FROM xmltableview1; -stdin-:
: Fatal: Table metadata loading -stdin-:
: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.xmltableview1 \sv xmltableview1 Metacommand \sv xmltableview1 is not supported EXPLAIN (COSTS OFF) SELECT * FROM xmltableview1; -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: RawStmt: alternative is not implemented yet : 276 EXPLAIN (COSTS OFF) SELECT * FROM xmltableview1; ^ EXPLAIN (COSTS OFF, VERBOSE) SELECT * FROM xmltableview1; -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: RawStmt: alternative is not implemented yet : 276 EXPLAIN (COSTS OFF, VERBOSE) SELECT * FROM xmltableview1; ^ -- errors SELECT * FROM XMLTABLE (ROW () PASSING null COLUMNS v1 timestamp) AS f (v1, v2); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: SelectStmt: alternative is not implemented yet : 371 -- errors ^ -- XMLNAMESPACES tests SELECT * FROM XMLTABLE(XMLNAMESPACES('http://x.y' AS zz), '/zz:rows/zz:row' PASSING '10' COLUMNS a int PATH 'zz:a'); -stdin-:
: Error: Parse Sql -stdin-:
:5:37: Error: ERROR: unrecognized column option "PATH" COLUMNS a int PATH 'zz:a'); ^ CREATE VIEW xmltableview2 AS SELECT * FROM XMLTABLE(XMLNAMESPACES('http://x.y' AS zz), '/zz:rows/zz:row' PASSING '10' COLUMNS a int PATH 'zz:a'); -stdin-:
: Error: Parse Sql -stdin-:
:4:37: Error: ERROR: unrecognized column option "PATH" COLUMNS a int PATH 'zz:a'); ^ SELECT * FROM xmltableview2; -stdin-:
: Fatal: Table metadata loading -stdin-:
: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.xmltableview2 SELECT * FROM XMLTABLE(XMLNAMESPACES(DEFAULT 'http://x.y'), '/rows/row' PASSING '10' COLUMNS a int PATH 'a'); -stdin-:
: Error: Parse Sql -stdin-:
:4:37: Error: ERROR: unrecognized column option "PATH" COLUMNS a int PATH 'a'); ^ SELECT * FROM XMLTABLE('.' PASSING '' COLUMNS a text PATH 'foo/namespace::node()'); -stdin-:
: Error: Parse Sql -stdin-:
:3:39: Error: ERROR: unrecognized column option "PATH" COLUMNS a text PATH 'foo/namespace::node()'); ^ -- used in prepare statements PREPARE pp AS SELECT xmltable.* FROM (SELECT data FROM xmldata) x, LATERAL XMLTABLE('/ROWS/ROW' PASSING data COLUMNS id int PATH '@id', _id FOR ORDINALITY, country_name text PATH 'COUNTRY_NAME' NOT NULL, country_id text PATH 'COUNTRY_ID', region_id int PATH 'REGION_ID', size float PATH 'SIZE', unit text PATH 'SIZE/@unit', premier_name text PATH 'PREMIER_NAME' DEFAULT 'not specified'); -stdin-:
: Error: Parse Sql -stdin-:
:7:41: Error: ERROR: unrecognized column option "PATH" COLUMNS id int PATH '@id', ^ EXECUTE pp; -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: RawStmt: alternative is not implemented yet : 302 EXECUTE pp; ^ SELECT xmltable.* FROM xmldata, LATERAL xmltable('/ROWS/ROW[COUNTRY_NAME="Japan" or COUNTRY_NAME="India"]' PASSING data COLUMNS "COUNTRY_NAME" text, "REGION_ID" int); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: SelectStmt: alternative is not implemented yet : 371 SELECT xmltable.* FROM xmldata, LATERAL xmltable('/ROWS/ROW[COUNTRY_NAME="Japan" or COUNTRY_NAME="India"]' PASSING data COLUMNS "COUNTRY_NAME" text, "REGION_ID" int); ^ SELECT xmltable.* FROM xmldata, LATERAL xmltable('/ROWS/ROW[COUNTRY_NAME="Japan" or COUNTRY_NAME="India"]' PASSING data COLUMNS id FOR ORDINALITY, "COUNTRY_NAME" text, "REGION_ID" int); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: SelectStmt: alternative is not implemented yet : 371 SELECT xmltable.* FROM xmldata, LATERAL xmltable('/ROWS/ROW[COUNTRY_NAME="Japan" or COUNTRY_NAME="India"]' PASSING data COLUMNS id FOR ORDINALITY, "COUNTRY_NAME" text, "REGION_ID" int); ^ SELECT xmltable.* FROM xmldata, LATERAL xmltable('/ROWS/ROW[COUNTRY_NAME="Japan" or COUNTRY_NAME="India"]' PASSING data COLUMNS id int PATH '@id', "COUNTRY_NAME" text, "REGION_ID" int); -stdin-:
: Error: Parse Sql -stdin-:
:1:137: Error: ERROR: unrecognized column option "PATH" SELECT xmltable.* FROM xmldata, LATERAL xmltable('/ROWS/ROW[COUNTRY_NAME="Japan" or COUNTRY_NAME="India"]' PASSING data COLUMNS id int PATH '@id', "COUNTRY_NAME" text, "REGION_ID" int); ^ SELECT xmltable.* FROM xmldata, LATERAL xmltable('/ROWS/ROW[COUNTRY_NAME="Japan" or COUNTRY_NAME="India"]' PASSING data COLUMNS id int PATH '@id'); -stdin-:
: Error: Parse Sql -stdin-:
:1:137: Error: ERROR: unrecognized column option "PATH" SELECT xmltable.* FROM xmldata, LATERAL xmltable('/ROWS/ROW[COUNTRY_NAME="Japan" or COUNTRY_NAME="India"]' PASSING data COLUMNS id int PATH '@id'); ^ SELECT xmltable.* FROM xmldata, LATERAL xmltable('/ROWS/ROW[COUNTRY_NAME="Japan" or COUNTRY_NAME="India"]' PASSING data COLUMNS id FOR ORDINALITY); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: SelectStmt: alternative is not implemented yet : 371 SELECT xmltable.* FROM xmldata, LATERAL xmltable('/ROWS/ROW[COUNTRY_NAME="Japan" or COUNTRY_NAME="India"]' PASSING data COLUMNS id FOR ORDINALITY); ^ SELECT xmltable.* FROM xmldata, LATERAL xmltable('/ROWS/ROW[COUNTRY_NAME="Japan" or COUNTRY_NAME="India"]' PASSING data COLUMNS id int PATH '@id', "COUNTRY_NAME" text, "REGION_ID" int, rawdata xml PATH '.'); -stdin-:
: Error: Parse Sql -stdin-:
:1:137: Error: ERROR: unrecognized column option "PATH" SELECT xmltable.* FROM xmldata, LATERAL xmltable('/ROWS/ROW[COUNTRY_NAME="Japan" or COUNTRY_NAME="India"]' PASSING data COLUMNS id int PATH '@id', "COUNTRY_NAME" text, "REGION_ID" int, rawdata xml PATH '.'); ^ SELECT xmltable.* FROM xmldata, LATERAL xmltable('/ROWS/ROW[COUNTRY_NAME="Japan" or COUNTRY_NAME="India"]' PASSING data COLUMNS id int PATH '@id', "COUNTRY_NAME" text, "REGION_ID" int, rawdata xml PATH './*'); -stdin-:
: Error: Parse Sql -stdin-:
:1:137: Error: ERROR: unrecognized column option "PATH" SELECT xmltable.* FROM xmldata, LATERAL xmltable('/ROWS/ROW[COUNTRY_NAME="Japan" or COUNTRY_NAME="India"]' PASSING data COLUMNS id int PATH '@id', "COUNTRY_NAME" text, "REGION_ID" int, rawdata xml PATH './*'); ^ SELECT * FROM xmltable('/root' passing 'a1aa2a bbbbxxxcccc' COLUMNS element text); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: SelectStmt: alternative is not implemented yet : 371 SELECT * FROM xmltable('/root' passing 'a1aa2a bbbbxxxcccc' COLUMNS element text); ^ SELECT * FROM xmltable('/root' passing 'a1aa2a bbbbxxxcccc' COLUMNS element text PATH 'element/text()'); -- should fail -stdin-:
: Error: Parse Sql -stdin-:
:1:154: Error: ERROR: unrecognized column option "PATH" SELECT * FROM xmltable('/root' passing 'a1aa2a bbbbxxxcccc' COLUMNS element text PATH 'element/text()'); -- should fail ^ -- CDATA test select * from xmltable('d/r' passing ' &"<>!foo]]>2' columns c text); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: SelectStmt: alternative is not implemented yet : 371 -- CDATA test ^ -- XML builtin entities SELECT * FROM xmltable('/x/a' PASSING ''"&<>' COLUMNS ent text); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: SelectStmt: alternative is not implemented yet : 371 -- XML builtin entities ^ SELECT * FROM xmltable('/x/a' PASSING ''"&<>' COLUMNS ent xml); -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: SelectStmt: alternative is not implemented yet : 371 SELECT * FROM xmltable('/x/a' PASSING ''"&<>' COLUMNS ent xml); ^ EXPLAIN (VERBOSE, COSTS OFF) SELECT xmltable.* FROM (SELECT data FROM xmldata) x, LATERAL XMLTABLE('/ROWS/ROW' PASSING data COLUMNS id int PATH '@id', _id FOR ORDINALITY, country_name text PATH 'COUNTRY_NAME' NOT NULL, country_id text PATH 'COUNTRY_ID', region_id int PATH 'REGION_ID', size float PATH 'SIZE', unit text PATH 'SIZE/@unit', premier_name text PATH 'PREMIER_NAME' DEFAULT 'not specified'); -stdin-:
: Error: Parse Sql -stdin-:
:6:41: Error: ERROR: unrecognized column option "PATH" COLUMNS id int PATH '@id', ^ -- test qual SELECT xmltable.* FROM xmldata, LATERAL xmltable('/ROWS/ROW[COUNTRY_NAME="Japan" or COUNTRY_NAME="India"]' PASSING data COLUMNS "COUNTRY_NAME" text, "REGION_ID" int) WHERE "COUNTRY_NAME" = 'Japan'; -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: SelectStmt: alternative is not implemented yet : 371 -- test qual ^ EXPLAIN (VERBOSE, COSTS OFF) SELECT xmltable.* FROM xmldata, LATERAL xmltable('/ROWS/ROW[COUNTRY_NAME="Japan" or COUNTRY_NAME="India"]' PASSING data COLUMNS "COUNTRY_NAME" text, "REGION_ID" int) WHERE "COUNTRY_NAME" = 'Japan'; -stdin-:
: Error: Parse Sql -stdin-:
:1:1: Error: RawStmt: alternative is not implemented yet : 276 EXPLAIN (VERBOSE, COSTS OFF) ^ -- should to work with more data INSERT INTO xmldata VALUES(' CZ Czech Republic 2Milos Zeman DE Germany 2 FR France 2 '); INSERT INTO xmldata VALUES(' EG Egypt 1 SD Sudan 1 '); SELECT xmltable.* FROM (SELECT data FROM xmldata) x, LATERAL XMLTABLE('/ROWS/ROW' PASSING data COLUMNS id int PATH '@id', _id FOR ORDINALITY, country_name text PATH 'COUNTRY_NAME' NOT NULL, country_id text PATH 'COUNTRY_ID', region_id int PATH 'REGION_ID', size float PATH 'SIZE', unit text PATH 'SIZE/@unit', premier_name text PATH 'PREMIER_NAME' DEFAULT 'not specified'); -stdin-:
: Error: Parse Sql -stdin-:
:5:41: Error: ERROR: unrecognized column option "PATH" COLUMNS id int PATH '@id', ^ SELECT xmltable.* FROM (SELECT data FROM xmldata) x, LATERAL XMLTABLE('/ROWS/ROW' PASSING data COLUMNS id int PATH '@id', _id FOR ORDINALITY, country_name text PATH 'COUNTRY_NAME' NOT NULL, country_id text PATH 'COUNTRY_ID', region_id int PATH 'REGION_ID', size float PATH 'SIZE', unit text PATH 'SIZE/@unit', premier_name text PATH 'PREMIER_NAME' DEFAULT 'not specified') WHERE region_id = 2; -stdin-:
: Error: Parse Sql -stdin-:
:5:41: Error: ERROR: unrecognized column option "PATH" COLUMNS id int PATH '@id', ^ EXPLAIN (VERBOSE, COSTS OFF) SELECT xmltable.* FROM (SELECT data FROM xmldata) x, LATERAL XMLTABLE('/ROWS/ROW' PASSING data COLUMNS id int PATH '@id', _id FOR ORDINALITY, country_name text PATH 'COUNTRY_NAME' NOT NULL, country_id text PATH 'COUNTRY_ID', region_id int PATH 'REGION_ID', size float PATH 'SIZE', unit text PATH 'SIZE/@unit', premier_name text PATH 'PREMIER_NAME' DEFAULT 'not specified') WHERE region_id = 2; -stdin-:
: Error: Parse Sql -stdin-:
:6:41: Error: ERROR: unrecognized column option "PATH" COLUMNS id int PATH '@id', ^ -- should fail, NULL value SELECT xmltable.* FROM (SELECT data FROM xmldata) x, LATERAL XMLTABLE('/ROWS/ROW' PASSING data COLUMNS id int PATH '@id', _id FOR ORDINALITY, country_name text PATH 'COUNTRY_NAME' NOT NULL, country_id text PATH 'COUNTRY_ID', region_id int PATH 'REGION_ID', size float PATH 'SIZE' NOT NULL, unit text PATH 'SIZE/@unit', premier_name text PATH 'PREMIER_NAME' DEFAULT 'not specified'); -stdin-:
: Error: Parse Sql -stdin-:
:6:41: Error: ERROR: unrecognized column option "PATH" COLUMNS id int PATH '@id', ^ -- if all is ok, then result is empty -- one line xml test WITH x AS (SELECT proname, proowner, procost::numeric, pronargs, array_to_string(proargnames,',') as proargnames, case when proargtypes <> '' then array_to_string(proargtypes::oid[],',') end as proargtypes FROM pg_proc WHERE proname = 'f_leak'), y AS (SELECT xmlelement(name proc, xmlforest(proname, proowner, procost, pronargs, proargnames, proargtypes)) as proc FROM x), z AS (SELECT xmltable.* FROM y, LATERAL xmltable('/proc' PASSING proc COLUMNS proname name, proowner oid, procost float, pronargs int, proargnames text, proargtypes text)) SELECT * FROM z EXCEPT SELECT * FROM x; -stdin-:
: Error: Parse Sql -stdin-:
:8:4: Error: alternative is not implemented yet : 143 y AS (SELECT xmlelement(name proc, ^ -- multi line xml test, result should be empty too WITH x AS (SELECT proname, proowner, procost::numeric, pronargs, array_to_string(proargnames,',') as proargnames, case when proargtypes <> '' then array_to_string(proargtypes::oid[],',') end as proargtypes FROM pg_proc), y AS (SELECT xmlelement(name data, xmlagg(xmlelement(name proc, xmlforest(proname, proowner, procost, pronargs, proargnames, proargtypes)))) as doc FROM x), z AS (SELECT xmltable.* FROM y, LATERAL xmltable('/data/proc' PASSING doc COLUMNS proname name, proowner oid, procost float, pronargs int, proargnames text, proargtypes text)) SELECT * FROM z EXCEPT SELECT * FROM x; -stdin-:
: Error: Parse Sql -stdin-:
:7:4: Error: alternative is not implemented yet : 143 y AS (SELECT xmlelement(name data, ^ CREATE TABLE xmltest2(x xml, _path text); INSERT INTO xmltest2 VALUES('1', 'A'); INSERT INTO xmltest2 VALUES('2', 'B'); INSERT INTO xmltest2 VALUES('3', 'C'); INSERT INTO xmltest2 VALUES('2', 'D'); SELECT xmltable.* FROM xmltest2, LATERAL xmltable('/d/r' PASSING x COLUMNS a int PATH '' || lower(_path) || 'c'); -stdin-:
: Error: Parse Sql -stdin-:
:1:83: Error: ERROR: unrecognized column option "PATH" SELECT xmltable.* FROM xmltest2, LATERAL xmltable('/d/r' PASSING x COLUMNS a int PATH '' || lower(_path) || 'c'); ^ SELECT xmltable.* FROM xmltest2, LATERAL xmltable(('/d/r/' || lower(_path) || 'c') PASSING x COLUMNS a int PATH '.'); -stdin-:
: Error: Parse Sql -stdin-:
:1:109: Error: ERROR: unrecognized column option "PATH" SELECT xmltable.* FROM xmltest2, LATERAL xmltable(('/d/r/' || lower(_path) || 'c') PASSING x COLUMNS a int PATH '.'); ^ SELECT xmltable.* FROM xmltest2, LATERAL xmltable(('/d/r/' || lower(_path) || 'c') PASSING x COLUMNS a int PATH 'x' DEFAULT ascii(_path) - 54); -stdin-:
: Error: Parse Sql -stdin-:
:1:109: Error: ERROR: unrecognized column option "PATH" SELECT xmltable.* FROM xmltest2, LATERAL xmltable(('/d/r/' || lower(_path) || 'c') PASSING x COLUMNS a int PATH 'x' DEFAULT ascii(_path) - 54); ^ -- XPath result can be boolean or number too SELECT * FROM XMLTABLE('*' PASSING 'a' COLUMNS a xml PATH '.', b text PATH '.', c text PATH '"hi"', d boolean PATH '. = "a"', e integer PATH 'string-length(.)'); -stdin-:
: Error: Parse Sql -stdin-:
:2:61: Error: ERROR: unrecognized column option "PATH" SELECT * FROM XMLTABLE('*' PASSING 'a' COLUMNS a xml PATH '.', b text PATH '.', c text PATH '"hi"', d boolean PATH '. = "a"', e integer PATH 'string-length(.)'); ^ \x Metacommand \x is not supported SELECT * FROM XMLTABLE('*' PASSING 'pre&deeppost' COLUMNS x xml PATH 'node()', y xml PATH '/'); -stdin-:
: Error: Parse Sql -stdin-:
:1:122: Error: ERROR: unrecognized column option "PATH" SELECT * FROM XMLTABLE('*' PASSING 'pre&deeppost' COLUMNS x xml PATH 'node()', y xml PATH '/'); ^ \x Metacommand \x is not supported SELECT * FROM XMLTABLE('.' PASSING XMLELEMENT(NAME a) columns a varchar(20) PATH '""', b xml PATH '""'); -stdin-:
: Error: Parse Sql -stdin-:
:1:78: Error: ERROR: unrecognized column option "PATH" SELECT * FROM XMLTABLE('.' PASSING XMLELEMENT(NAME a) columns a varchar(20) PATH '""', b xml PATH '""'); ^