diff options
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/regress/expected/xml.out | 46 | ||||
| -rw-r--r-- | src/test/regress/expected/xml_1.out | 42 | ||||
| -rw-r--r-- | src/test/regress/expected/xml_2.out | 46 | ||||
| -rw-r--r-- | src/test/regress/sql/xml.sql | 7 |
4 files changed, 141 insertions, 0 deletions
diff --git a/src/test/regress/expected/xml.out b/src/test/regress/expected/xml.out index 1b8f822b187..30e7b58a3d9 100644 --- a/src/test/regress/expected/xml.out +++ b/src/test/regress/expected/xml.out @@ -515,6 +515,13 @@ LINE 1: EXECUTE foo ('bad'); DETAIL: line 1: Start tag expected, '<' not found bad ^ +SELECT xml '<!DOCTYPE a><a/><b/>'; +ERROR: invalid XML document +LINE 1: SELECT xml '<!DOCTYPE a><a/><b/>'; + ^ +DETAIL: line 1: Extra content at the end of the document +<!DOCTYPE a><a/><b/> + ^ SET XML OPTION CONTENT; EXECUTE foo ('<bar/>'); xmlconcat @@ -528,6 +535,45 @@ EXECUTE foo ('good'); <foo/>good (1 row) +SELECT xml '<!-- in SQL:2006+ a doc is content too--> <?y z?> <!DOCTYPE a><a/>'; + xml +-------------------------------------------------------------------- + <!-- in SQL:2006+ a doc is content too--> <?y z?> <!DOCTYPE a><a/> +(1 row) + +SELECT xml '<?xml version="1.0"?> <!-- hi--> <!DOCTYPE a><a/>'; + xml +------------------------------ + <!-- hi--> <!DOCTYPE a><a/> +(1 row) + +SELECT xml '<!DOCTYPE a><a/>'; + xml +------------------ + <!DOCTYPE a><a/> +(1 row) + +SELECT xml '<!-- hi--> oops <!DOCTYPE a><a/>'; +ERROR: invalid XML content +LINE 1: SELECT xml '<!-- hi--> oops <!DOCTYPE a><a/>'; + ^ +DETAIL: line 1: StartTag: invalid element name +<!-- hi--> oops <!DOCTYPE a><a/> + ^ +SELECT xml '<!-- hi--> <oops/> <!DOCTYPE a><a/>'; +ERROR: invalid XML content +LINE 1: SELECT xml '<!-- hi--> <oops/> <!DOCTYPE a><a/>'; + ^ +DETAIL: line 1: StartTag: invalid element name +<!-- hi--> <oops/> <!DOCTYPE a><a/> + ^ +SELECT xml '<!DOCTYPE a><a/><b/>'; +ERROR: invalid XML content +LINE 1: SELECT xml '<!DOCTYPE a><a/><b/>'; + ^ +DETAIL: line 1: Extra content at the end of the document +<!DOCTYPE a><a/><b/> + ^ -- Test backwards parsing CREATE VIEW xmlview1 AS SELECT xmlcomment('test'); CREATE VIEW xmlview2 AS SELECT xmlconcat('hello', 'you'); diff --git a/src/test/regress/expected/xml_1.out b/src/test/regress/expected/xml_1.out index 0098d106ea6..e019da6edeb 100644 --- a/src/test/regress/expected/xml_1.out +++ b/src/test/regress/expected/xml_1.out @@ -417,11 +417,53 @@ EXECUTE foo ('<bar/>'); ERROR: prepared statement "foo" does not exist EXECUTE foo ('bad'); ERROR: prepared statement "foo" does not exist +SELECT xml '<!DOCTYPE a><a/><b/>'; +ERROR: unsupported XML feature +LINE 1: SELECT xml '<!DOCTYPE a><a/><b/>'; + ^ +DETAIL: This functionality requires the server to be built with libxml support. +HINT: You need to rebuild PostgreSQL using --with-libxml. SET XML OPTION CONTENT; EXECUTE foo ('<bar/>'); ERROR: prepared statement "foo" does not exist EXECUTE foo ('good'); ERROR: prepared statement "foo" does not exist +SELECT xml '<!-- in SQL:2006+ a doc is content too--> <?y z?> <!DOCTYPE a><a/>'; +ERROR: unsupported XML feature +LINE 1: SELECT xml '<!-- in SQL:2006+ a doc is content too--> <?y z?... + ^ +DETAIL: This functionality requires the server to be built with libxml support. +HINT: You need to rebuild PostgreSQL using --with-libxml. +SELECT xml '<?xml version="1.0"?> <!-- hi--> <!DOCTYPE a><a/>'; +ERROR: unsupported XML feature +LINE 1: SELECT xml '<?xml version="1.0"?> <!-- hi--> <!DOCTYPE a><a/... + ^ +DETAIL: This functionality requires the server to be built with libxml support. +HINT: You need to rebuild PostgreSQL using --with-libxml. +SELECT xml '<!DOCTYPE a><a/>'; +ERROR: unsupported XML feature +LINE 1: SELECT xml '<!DOCTYPE a><a/>'; + ^ +DETAIL: This functionality requires the server to be built with libxml support. +HINT: You need to rebuild PostgreSQL using --with-libxml. +SELECT xml '<!-- hi--> oops <!DOCTYPE a><a/>'; +ERROR: unsupported XML feature +LINE 1: SELECT xml '<!-- hi--> oops <!DOCTYPE a><a/>'; + ^ +DETAIL: This functionality requires the server to be built with libxml support. +HINT: You need to rebuild PostgreSQL using --with-libxml. +SELECT xml '<!-- hi--> <oops/> <!DOCTYPE a><a/>'; +ERROR: unsupported XML feature +LINE 1: SELECT xml '<!-- hi--> <oops/> <!DOCTYPE a><a/>'; + ^ +DETAIL: This functionality requires the server to be built with libxml support. +HINT: You need to rebuild PostgreSQL using --with-libxml. +SELECT xml '<!DOCTYPE a><a/><b/>'; +ERROR: unsupported XML feature +LINE 1: SELECT xml '<!DOCTYPE a><a/><b/>'; + ^ +DETAIL: This functionality requires the server to be built with libxml support. +HINT: You need to rebuild PostgreSQL using --with-libxml. -- Test backwards parsing CREATE VIEW xmlview1 AS SELECT xmlcomment('test'); CREATE VIEW xmlview2 AS SELECT xmlconcat('hello', 'you'); diff --git a/src/test/regress/expected/xml_2.out b/src/test/regress/expected/xml_2.out index ea68d975d9c..32260bbd0a8 100644 --- a/src/test/regress/expected/xml_2.out +++ b/src/test/regress/expected/xml_2.out @@ -497,6 +497,13 @@ LINE 1: EXECUTE foo ('bad'); DETAIL: line 1: Start tag expected, '<' not found bad ^ +SELECT xml '<!DOCTYPE a><a/><b/>'; +ERROR: invalid XML document +LINE 1: SELECT xml '<!DOCTYPE a><a/><b/>'; + ^ +DETAIL: line 1: Extra content at the end of the document +<!DOCTYPE a><a/><b/> + ^ SET XML OPTION CONTENT; EXECUTE foo ('<bar/>'); xmlconcat @@ -510,6 +517,45 @@ EXECUTE foo ('good'); <foo/>good (1 row) +SELECT xml '<!-- in SQL:2006+ a doc is content too--> <?y z?> <!DOCTYPE a><a/>'; + xml +-------------------------------------------------------------------- + <!-- in SQL:2006+ a doc is content too--> <?y z?> <!DOCTYPE a><a/> +(1 row) + +SELECT xml '<?xml version="1.0"?> <!-- hi--> <!DOCTYPE a><a/>'; + xml +------------------------------ + <!-- hi--> <!DOCTYPE a><a/> +(1 row) + +SELECT xml '<!DOCTYPE a><a/>'; + xml +------------------ + <!DOCTYPE a><a/> +(1 row) + +SELECT xml '<!-- hi--> oops <!DOCTYPE a><a/>'; +ERROR: invalid XML content +LINE 1: SELECT xml '<!-- hi--> oops <!DOCTYPE a><a/>'; + ^ +DETAIL: line 1: StartTag: invalid element name +<!-- hi--> oops <!DOCTYPE a><a/> + ^ +SELECT xml '<!-- hi--> <oops/> <!DOCTYPE a><a/>'; +ERROR: invalid XML content +LINE 1: SELECT xml '<!-- hi--> <oops/> <!DOCTYPE a><a/>'; + ^ +DETAIL: line 1: StartTag: invalid element name +<!-- hi--> <oops/> <!DOCTYPE a><a/> + ^ +SELECT xml '<!DOCTYPE a><a/><b/>'; +ERROR: invalid XML content +LINE 1: SELECT xml '<!DOCTYPE a><a/><b/>'; + ^ +DETAIL: line 1: Extra content at the end of the document +<!DOCTYPE a><a/><b/> + ^ -- Test backwards parsing CREATE VIEW xmlview1 AS SELECT xmlcomment('test'); CREATE VIEW xmlview2 AS SELECT xmlconcat('hello', 'you'); diff --git a/src/test/regress/sql/xml.sql b/src/test/regress/sql/xml.sql index 249f7b7d882..67385d561fa 100644 --- a/src/test/regress/sql/xml.sql +++ b/src/test/regress/sql/xml.sql @@ -146,10 +146,17 @@ PREPARE foo (xml) AS SELECT xmlconcat('<foo/>', $1); SET XML OPTION DOCUMENT; EXECUTE foo ('<bar/>'); EXECUTE foo ('bad'); +SELECT xml '<!DOCTYPE a><a/><b/>'; SET XML OPTION CONTENT; EXECUTE foo ('<bar/>'); EXECUTE foo ('good'); +SELECT xml '<!-- in SQL:2006+ a doc is content too--> <?y z?> <!DOCTYPE a><a/>'; +SELECT xml '<?xml version="1.0"?> <!-- hi--> <!DOCTYPE a><a/>'; +SELECT xml '<!DOCTYPE a><a/>'; +SELECT xml '<!-- hi--> oops <!DOCTYPE a><a/>'; +SELECT xml '<!-- hi--> <oops/> <!DOCTYPE a><a/>'; +SELECT xml '<!DOCTYPE a><a/><b/>'; -- Test backwards parsing |
