Thread: pgsql: Implement XMLSERIALIZE for real.

pgsql: Implement XMLSERIALIZE for real.

From
petere@postgresql.org (Peter Eisentraut)
Date:
Log Message:
-----------
Implement XMLSERIALIZE for real.  Analogously, make the xml to text cast
observe the xmloption.

Reorganize the representation of the XML option in the parse tree and the
API to make it easier to manage and understand.

Add regression tests for parsing back XML expressions.

Modified Files:
--------------
    pgsql/src/backend/executor:
        execQual.c (r1.211 -> r1.212)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/execQual.c.diff?r1=1.211&r2=1.212)
    pgsql/src/backend/nodes:
        copyfuncs.c (r1.364 -> r1.365)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/copyfuncs.c.diff?r1=1.364&r2=1.365)
        equalfuncs.c (r1.297 -> r1.298)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/equalfuncs.c.diff?r1=1.297&r2=1.298)
        outfuncs.c (r1.295 -> r1.296)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/outfuncs.c.diff?r1=1.295&r2=1.296)
        readfuncs.c (r1.201 -> r1.202)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/readfuncs.c.diff?r1=1.201&r2=1.202)
    pgsql/src/backend/parser:
        gram.y (r2.578 -> r2.579)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/gram.y.diff?r1=2.578&r2=2.579)
        parse_expr.c (r1.209 -> r1.210)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_expr.c.diff?r1=1.209&r2=1.210)
        parse_target.c (r1.153 -> r1.154)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_target.c.diff?r1=1.153&r2=1.154)
    pgsql/src/backend/utils/adt:
        ruleutils.c (r1.247 -> r1.248)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/ruleutils.c.diff?r1=1.247&r2=1.248)
        xml.c (r1.24 -> r1.25)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/xml.c.diff?r1=1.24&r2=1.25)
    pgsql/src/include/catalog:
        catversion.h (r1.378 -> r1.379)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/catversion.h.diff?r1=1.378&r2=1.379)
        pg_cast.h (r1.30 -> r1.31)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_cast.h.diff?r1=1.30&r2=1.31)
        pg_proc.h (r1.441 -> r1.442)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_proc.h.diff?r1=1.441&r2=1.442)
    pgsql/src/include/nodes:
        nodes.h (r1.193 -> r1.194)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/nodes.h.diff?r1=1.193&r2=1.194)
        parsenodes.h (r1.339 -> r1.340)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/parsenodes.h.diff?r1=1.339&r2=1.340)
        primnodes.h (r1.123 -> r1.124)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/primnodes.h.diff?r1=1.123&r2=1.124)
    pgsql/src/include/utils:
        errcodes.h (r1.22 -> r1.23)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/errcodes.h.diff?r1=1.22&r2=1.23)
        xml.h (r1.13 -> r1.14)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/xml.h.diff?r1=1.13&r2=1.14)
    pgsql/src/test/regress/expected:
        opr_sanity.out (r1.72 -> r1.73)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/opr_sanity.out.diff?r1=1.72&r2=1.73)
        xml.out (r1.13 -> r1.14)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/xml.out.diff?r1=1.13&r2=1.14)
        xml_1.out (r1.11 -> r1.12)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/xml_1.out.diff?r1=1.11&r2=1.12)
    pgsql/src/test/regress/sql:
        opr_sanity.sql (r1.58 -> r1.59)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/opr_sanity.sql.diff?r1=1.58&r2=1.59)
        xml.sql (r1.10 -> r1.11)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/xml.sql.diff?r1=1.10&r2=1.11)