From 4c726d5c111715fe0896577901ccd92a32c95c26 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Thu, 8 Nov 2007 15:16:45 +0000 Subject: [PATCH] After conferencing again with Bruce, put in more accurate XML error message. --- src/backend/utils/adt/xml.c | 4 +- src/test/regress/expected/xml_1.out | 136 ++++++++++++++-------------- 2 files changed, 70 insertions(+), 70 deletions(-) diff --git a/src/backend/utils/adt/xml.c b/src/backend/utils/adt/xml.c index c670f8ed13..a1a619dd7a 100644 --- a/src/backend/utils/adt/xml.c +++ b/src/backend/utils/adt/xml.c @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/backend/utils/adt/xml.c,v 1.52 2007/11/08 13:12:56 petere Exp $ + * $PostgreSQL: pgsql/src/backend/utils/adt/xml.c,v 1.53 2007/11/08 15:16:45 petere Exp $ * *------------------------------------------------------------------------- */ @@ -123,7 +123,7 @@ static void SPI_sql_row_to_xmlelement(int rownum, StringInfo result, ereport(ERROR, \ (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), \ errmsg("unsupported XML feature"), \ - errdetail("This functionality requires libxml."), \ + errdetail("This functionality requires the server to be built with libxml support."), \ errhint("You need to rebuild PostgreSQL using --with-libxml."))) diff --git a/src/test/regress/expected/xml_1.out b/src/test/regress/expected/xml_1.out index a8f5d17875..ae85f71acc 100644 --- a/src/test/regress/expected/xml_1.out +++ b/src/test/regress/expected/xml_1.out @@ -4,15 +4,15 @@ CREATE TABLE xmltest ( ); INSERT INTO xmltest VALUES (1, 'one'); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. INSERT INTO xmltest VALUES (2, 'two'); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. INSERT INTO xmltest VALUES (3, '', NULL, ''); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xmlconcat('', NULL, ''); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xmlelement(name element, xmlattributes (1 as one, 'deuce' as two), 'content'); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xmlelement(name element, xmlattributes ('unnamed and wrong')); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xmlelement(name element, xmlelement(name nested, 'stuff')); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xmlelement(name employee, xmlforest(name, age, salary as pay)) FROM emp; ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xmlelement(name duplicate, xmlattributes(1 as a, 2 as b, 3 as a)); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xmlelement(name num, 37); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xmlelement(name foo, text 'bar'); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xmlelement(name foo, xml 'bar'); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xmlelement(name foo, text 'br'); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xmlelement(name foo, xml 'br'); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xmlelement(name foo, array[1, 2, 3]); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SET xmlbinary TO base64; SELECT xmlelement(name foo, bytea 'bar'); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SET xmlbinary TO hex; SELECT xmlelement(name foo, bytea 'bar'); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xmlparse(content 'abc'); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xmlparse(content 'x'); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xmlparse(document 'abc'); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xmlparse(document 'x'); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xmlpi(name foo); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xmlpi(name xmlstuff); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xmlpi(name foo, 'bar'); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xmlpi(name foo, 'in?>valid'); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xmlpi(name foo, null); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xmlpi(name xmlstuff, null); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xmlpi(name foo, ' bar'); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xmlroot(xml '', version no value, standalone no value); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xmlroot(xml '', version '2.0'); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xmlroot(xml '', version no value, standalone yes); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xmlroot(xml '', version no value, standalone yes); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xmlroot(xmlroot(xml '', version '1.0'), version '1.1', standalone no); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xmlroot('', version no value, standalone no); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xmlroot('', version no value, standalone no value); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xmlroot('', version no value); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xmlroot ( xmlelement ( @@ -212,7 +212,7 @@ SELECT xmlroot ( standalone yes ); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xmlserialize(content data as character varying(20)) FROM xmltest; xmlserialize @@ -221,31 +221,31 @@ SELECT xmlserialize(content data as character varying(20)) FROM xmltest; SELECT xmlserialize(content 'good' as char(10)); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xmlserialize(document 'bad' as text); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xml 'bar' IS DOCUMENT; ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xml 'barfoo' IS DOCUMENT; ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xml '' IS NOT DOCUMENT; ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xml 'abc' IS NOT DOCUMENT; ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT '<>' IS NOT DOCUMENT; ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xmlagg(data) FROM xmltest; xmlagg @@ -261,20 +261,20 @@ SELECT xmlagg(data) FROM xmltest WHERE id > 10; SELECT xmlelement(name employees, xmlagg(xmlelement(name name, name))) FROM emp; ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. -- Check mapping SQL identifier to XML name SELECT xmlpi(name ":::_xml_abc135.%-&_"); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xmlpi(name "123"); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. PREPARE foo (xml) AS SELECT xmlconcat('', $1); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SET XML OPTION DOCUMENT; EXECUTE foo (''); @@ -290,32 +290,32 @@ ERROR: prepared statement "foo" does not exist CREATE VIEW xmlview1 AS SELECT xmlcomment('test'); CREATE VIEW xmlview2 AS SELECT xmlconcat('hello', 'you'); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. CREATE VIEW xmlview3 AS SELECT xmlelement(name element, xmlattributes (1 as ":one:", 'deuce' as two), 'content&'); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. CREATE VIEW xmlview4 AS SELECT xmlelement(name employee, xmlforest(name, age, salary as pay)) FROM emp; ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. CREATE VIEW xmlview5 AS SELECT xmlparse(content 'x'); CREATE VIEW xmlview6 AS SELECT xmlpi(name foo, 'bar'); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. CREATE VIEW xmlview7 AS SELECT xmlroot(xml '', version no value, standalone yes); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. CREATE VIEW xmlview8 AS SELECT xmlserialize(content 'good' as char(10)); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. CREATE VIEW xmlview9 AS SELECT xmlserialize(content 'good' as text); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT table_name, view_definition FROM information_schema.views WHERE table_name LIKE 'xmlview%' ORDER BY 1; @@ -338,17 +338,17 @@ SELECT xpath(NULL, NULL) IS NULL FROM xmltest; SELECT xpath('', ''); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xpath('//text()', 'number one'); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xpath('//loc:piece/@id', 'number one', ARRAY[ARRAY['loc', 'http://127.0.0.1']]); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml. SELECT xpath('//b', 'one two three etc'); ERROR: unsupported XML feature -DETAIL: This functionality requires libxml. +DETAIL: This functionality requires the server to be built with libxml support. HINT: You need to rebuild PostgreSQL using --with-libxml.