plpgsql: pure parser and reentrant scanner
[pgsql.git] / src / test / regress / sql / xmlmap.sql
blob16582bf6abd8aa1667a050087134377b558b066b
1 CREATE SCHEMA testxmlschema;
3 CREATE TABLE testxmlschema.test1 (a int, b text);
4 INSERT INTO testxmlschema.test1 VALUES (1, 'one'), (2, 'two'), (-1, null);
5 CREATE DOMAIN testxmldomain AS varchar;
6 CREATE TABLE testxmlschema.test2 (z int, y varchar(500), x char(6),
7     w numeric(9,2), v smallint, u bigint, t real,
8     s time, stz timetz, r timestamp, rtz timestamptz, q date,
9     p xml, o testxmldomain, n bool, m bytea, aaa text);
10 ALTER TABLE testxmlschema.test2 DROP COLUMN aaa;
11 INSERT INTO testxmlschema.test2 VALUES (55, 'abc', 'def',
12     98.6, 2, 999, 0,
13     '21:07', '21:11 +05', '2009-06-08 21:07:30', '2009-06-08 21:07:30 -07', '2009-06-08',
14     NULL, 'ABC', true, 'XYZ');
16 SELECT table_to_xml('testxmlschema.test1', false, false, '');
17 SELECT table_to_xml('testxmlschema.test1', true, false, 'foo');
18 SELECT table_to_xml('testxmlschema.test1', false, true, '');
19 SELECT table_to_xml('testxmlschema.test1', true, true, '');
20 SELECT table_to_xml('testxmlschema.test2', false, false, '');
22 SELECT table_to_xmlschema('testxmlschema.test1', false, false, '');
23 SELECT table_to_xmlschema('testxmlschema.test1', true, false, '');
24 SELECT table_to_xmlschema('testxmlschema.test1', false, true, 'foo');
25 SELECT table_to_xmlschema('testxmlschema.test1', true, true, '');
26 SELECT table_to_xmlschema('testxmlschema.test2', false, false, '');
28 SELECT table_to_xml_and_xmlschema('testxmlschema.test1', false, false, '');
29 SELECT table_to_xml_and_xmlschema('testxmlschema.test1', true, false, '');
30 SELECT table_to_xml_and_xmlschema('testxmlschema.test1', false, true, '');
31 SELECT table_to_xml_and_xmlschema('testxmlschema.test1', true, true, 'foo');
33 SELECT query_to_xml('SELECT * FROM testxmlschema.test1', false, false, '');
34 SELECT query_to_xmlschema('SELECT * FROM testxmlschema.test1', false, false, '');
35 SELECT query_to_xml_and_xmlschema('SELECT * FROM testxmlschema.test1', true, true, '');
37 DECLARE xc CURSOR WITH HOLD FOR SELECT * FROM testxmlschema.test1 ORDER BY 1, 2;
38 SELECT cursor_to_xml('xc'::refcursor, 5, false, true, '');
39 SELECT cursor_to_xmlschema('xc'::refcursor, false, true, '');
40 MOVE BACKWARD ALL IN xc;
41 SELECT cursor_to_xml('xc'::refcursor, 5, true, false, '');
42 SELECT cursor_to_xmlschema('xc'::refcursor, true, false, '');
44 SELECT schema_to_xml('testxmlschema', false, true, '');
45 SELECT schema_to_xml('testxmlschema', true, false, '');
46 SELECT schema_to_xmlschema('testxmlschema', false, true, '');
47 SELECT schema_to_xmlschema('testxmlschema', true, false, '');
48 SELECT schema_to_xml_and_xmlschema('testxmlschema', true, true, 'foo');
51 -- test that domains are transformed like their base types
53 CREATE DOMAIN testboolxmldomain AS bool;
54 CREATE DOMAIN testdatexmldomain AS date;
56 CREATE TABLE testxmlschema.test3
57     AS SELECT true c1,
58               true::testboolxmldomain c2,
59               '2013-02-21'::date c3,
60               '2013-02-21'::testdatexmldomain c4;
62 SELECT xmlforest(c1, c2, c3, c4) FROM testxmlschema.test3;
63 SELECT table_to_xml('testxmlschema.test3', true, true, '');