summaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/regress/expected/xml.out38
-rw-r--r--src/test/regress/expected/xml_1.out14
-rw-r--r--src/test/regress/sql/xml.sql8
3 files changed, 55 insertions, 5 deletions
diff --git a/src/test/regress/expected/xml.out b/src/test/regress/expected/xml.out
index 4179233e99..275523727b 100644
--- a/src/test/regress/expected/xml.out
+++ b/src/test/regress/expected/xml.out
@@ -83,10 +83,44 @@ SELECT xmlelement(name employee, xmlforest(name, age, salary as pay)) FROM emp;
<employee><name>linda</name><age>19</age><pay>100</pay></employee>
(6 rows)
-SELECT xmlelement(name wrong, 37);
-ERROR: argument of XMLELEMENT must be type xml, not type integer
SELECT xmlelement(name duplicate, xmlattributes(1 as a, 2 as b, 3 as a));
ERROR: XML attribute name "a" appears more than once
+SELECT xmlelement(name num, 37);
+ xmlelement
+---------------
+ <num>37</num>
+(1 row)
+
+SELECT xmlelement(name foo, text 'bar');
+ xmlelement
+----------------
+ <foo>bar</foo>
+(1 row)
+
+SELECT xmlelement(name foo, xml 'bar');
+ xmlelement
+----------------
+ <foo>bar</foo>
+(1 row)
+
+SELECT xmlelement(name foo, text 'b<a/>r');
+ xmlelement
+-------------------------
+ <foo>b&lt;a/&gt;r</foo>
+(1 row)
+
+SELECT xmlelement(name foo, xml 'b<a/>r');
+ xmlelement
+-------------------
+ <foo>b<a/>r</foo>
+(1 row)
+
+SELECT xmlelement(name foo, array[1, 2, 3]);
+ xmlelement
+-------------------------------------------------------------------------
+ <foo><element>1</element><element>2</element><element>3</element></foo>
+(1 row)
+
SELECT xmlparse(content 'abc');
xmlparse
----------
diff --git a/src/test/regress/expected/xml_1.out b/src/test/regress/expected/xml_1.out
index 8ef963b8e9..9ff3959160 100644
--- a/src/test/regress/expected/xml_1.out
+++ b/src/test/regress/expected/xml_1.out
@@ -44,10 +44,20 @@ SELECT xmlelement(name element, xmlelement(name nested, 'stuff'));
ERROR: no XML support in this installation
SELECT xmlelement(name employee, xmlforest(name, age, salary as pay)) FROM emp;
ERROR: no XML support in this installation
-SELECT xmlelement(name wrong, 37);
-ERROR: no XML support in this installation
SELECT xmlelement(name duplicate, xmlattributes(1 as a, 2 as b, 3 as a));
ERROR: no XML support in this installation
+SELECT xmlelement(name num, 37);
+ERROR: no XML support in this installation
+SELECT xmlelement(name foo, text 'bar');
+ERROR: no XML support in this installation
+SELECT xmlelement(name foo, xml 'bar');
+ERROR: no XML support in this installation
+SELECT xmlelement(name foo, text 'b<a/>r');
+ERROR: no XML support in this installation
+SELECT xmlelement(name foo, xml 'b<a/>r');
+ERROR: no XML support in this installation
+SELECT xmlelement(name foo, array[1, 2, 3]);
+ERROR: no XML support in this installation
SELECT xmlparse(content 'abc');
ERROR: no XML support in this installation
SELECT xmlparse(content '<abc>x</abc>');
diff --git a/src/test/regress/sql/xml.sql b/src/test/regress/sql/xml.sql
index d3a1e6104b..a22c825129 100644
--- a/src/test/regress/sql/xml.sql
+++ b/src/test/regress/sql/xml.sql
@@ -37,9 +37,15 @@ SELECT xmlelement(name element, xmlelement(name nested, 'stuff'));
SELECT xmlelement(name employee, xmlforest(name, age, salary as pay)) FROM emp;
-SELECT xmlelement(name wrong, 37);
SELECT xmlelement(name duplicate, xmlattributes(1 as a, 2 as b, 3 as a));
+SELECT xmlelement(name num, 37);
+SELECT xmlelement(name foo, text 'bar');
+SELECT xmlelement(name foo, xml 'bar');
+SELECT xmlelement(name foo, text 'b<a/>r');
+SELECT xmlelement(name foo, xml 'b<a/>r');
+SELECT xmlelement(name foo, array[1, 2, 3]);
+
SELECT xmlparse(content 'abc');
SELECT xmlparse(content '<abc>x</abc>');