diff options
| author | Peter Eisentraut | 2007-01-20 09:27:20 +0000 |
|---|---|---|
| committer | Peter Eisentraut | 2007-01-20 09:27:20 +0000 |
| commit | b4c8d49036b971d892b2dfe1c71d3f0cee116e7f (patch) | |
| tree | a3db0050c3ea8815e44b2a4014502bfaa9822796 /src/test | |
| parent | 9a83bd50b7ec61140fc400350b3e5b1f0cd15722 (diff) | |
Fix xmlconcat by properly merging the XML declarations. Add aggregate
function xmlagg.
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/regress/expected/xml.out | 26 | ||||
| -rw-r--r-- | src/test/regress/expected/xml_1.out | 16 | ||||
| -rw-r--r-- | src/test/regress/sql/xml.sql | 6 |
3 files changed, 47 insertions, 1 deletions
diff --git a/src/test/regress/expected/xml.out b/src/test/regress/expected/xml.out index cfac9105d96..df625c90bb4 100644 --- a/src/test/regress/expected/xml.out +++ b/src/test/regress/expected/xml.out @@ -55,6 +55,12 @@ ERROR: argument of XMLCONCAT must be type xml, not type integer SELECT xmlconcat('bad', '<syntax'); ERROR: invalid XML content DETAIL: Expected '>' +SELECT xmlconcat('<foo/>', NULL, '<?xml version="1.1" standalone="no"?><bar/>'); + xmlconcat +--------------------------------------------------- + <?xml version="1.1" standalone="no"?><foo/><bar/> +(1 row) + SELECT xmlelement(name element, xmlattributes (1 as one, 'deuce' as two), 'content'); @@ -190,7 +196,7 @@ SELECT xmlpi(name foo, ' bar'); (1 row) SELECT xmlroot(xml '<foo/>', version no value, standalone no value); - xmlroot + xmlroot --------- <foo/> @@ -268,6 +274,24 @@ SELECT xml 'abc' IS NOT DOCUMENT; SELECT '<>' IS NOT DOCUMENT; ERROR: invalid XML content DETAIL: Element name not found +SELECT xmlagg(data) FROM xmltest; + xmlagg +-------------------------------------- + <value>one</value><value>two</value> +(1 row) + +SELECT xmlagg(data) FROM xmltest WHERE id > 10; + xmlagg +-------- + +(1 row) + +SELECT xmlelement(name employees, xmlagg(xmlelement(name name, name))) FROM emp; + xmlelement +-------------------------------------------------------------------------------------------------------------------------------- + <employees><name>sharon</name><name>sam</name><name>bill</name><name>jeff</name><name>cim</name><name>linda</name></employees> +(1 row) + -- Check mapping SQL identifier to XML name SELECT xmlpi(name ":::_xml_abc135.%-&_"); xmlpi diff --git a/src/test/regress/expected/xml_1.out b/src/test/regress/expected/xml_1.out index b25df3d24b9..dd35f1bf4e7 100644 --- a/src/test/regress/expected/xml_1.out +++ b/src/test/regress/expected/xml_1.out @@ -33,6 +33,8 @@ SELECT xmlconcat(1, 2); ERROR: argument of XMLCONCAT must be type xml, not type integer SELECT xmlconcat('bad', '<syntax'); ERROR: no XML support in this installation +SELECT xmlconcat('<foo/>', NULL, '<?xml version="1.1" standalone="no"?><bar/>'); +ERROR: no XML support in this installation SELECT xmlelement(name element, xmlattributes (1 as one, 'deuce' as two), 'content'); @@ -123,6 +125,20 @@ SELECT xml 'abc' IS NOT DOCUMENT; ERROR: no XML support in this installation SELECT '<>' IS NOT DOCUMENT; ERROR: no XML support in this installation +SELECT xmlagg(data) FROM xmltest; + xmlagg +-------- + +(1 row) + +SELECT xmlagg(data) FROM xmltest WHERE id > 10; + xmlagg +-------- + +(1 row) + +SELECT xmlelement(name employees, xmlagg(xmlelement(name name, name))) FROM emp; +ERROR: no XML support in this installation -- Check mapping SQL identifier to XML name SELECT xmlpi(name ":::_xml_abc135.%-&_"); ERROR: no XML support in this installation diff --git a/src/test/regress/sql/xml.sql b/src/test/regress/sql/xml.sql index 804cd2c2d67..8e321831596 100644 --- a/src/test/regress/sql/xml.sql +++ b/src/test/regress/sql/xml.sql @@ -24,6 +24,7 @@ SELECT xmlconcat(xmlcomment('hello'), SELECT xmlconcat('hello', 'you'); SELECT xmlconcat(1, 2); SELECT xmlconcat('bad', '<syntax'); +SELECT xmlconcat('<foo/>', NULL, '<?xml version="1.1" standalone="no"?><bar/>'); SELECT xmlelement(name element, @@ -97,6 +98,11 @@ SELECT xml 'abc' IS NOT DOCUMENT; SELECT '<>' IS NOT DOCUMENT; +SELECT xmlagg(data) FROM xmltest; +SELECT xmlagg(data) FROM xmltest WHERE id > 10; +SELECT xmlelement(name employees, xmlagg(xmlelement(name name, name))) FROM emp; + + -- Check mapping SQL identifier to XML name SELECT xmlpi(name ":::_xml_abc135.%-&_"); |
