Hello,
I added a patch to fix table_to_xmlschema, could you point me how to add a unit test to that?
From 24768b689638fc35edcdb378735ae2505315a151 Mon Sep 17 00:00:00 2001 From: Renan Lopes <renan.lo...@datarisk.io> Date: Fri, 18 Feb 2022 14:36:30 -0300 Subject: [PATCH] fix: table_to_xmlschema regex for timestamp with time zone
--- src/backend/utils/adt/xml.c | 4 ++-- src/test/regress/sql/xmlmap.sql | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/backend/utils/adt/xml.c b/src/backend/utils/adt/xml.c index 51773db..801ad8f 100644 --- a/src/backend/utils/adt/xml.c +++ b/src/backend/utils/adt/xml.c @@ -3659,7 +3659,7 @@ map_sql_type_to_xmlschema_type(Oid typeoid, int typmod) case TIMEOID: case TIMETZOID: { - const char *tz = (typeoid == TIMETZOID ? "(+|-)\\p{Nd}{2}:\\p{Nd}{2}" : ""); + const char *tz = (typeoid == TIMETZOID ? "(\\+|-)\\p{Nd}{2}:\\p{Nd}{2}" : ""); if (typmod == -1) appendStringInfo(&result, @@ -3682,7 +3682,7 @@ map_sql_type_to_xmlschema_type(Oid typeoid, int typmod) case TIMESTAMPOID: case TIMESTAMPTZOID: { - const char *tz = (typeoid == TIMESTAMPTZOID ? "(+|-)\\p{Nd}{2}:\\p{Nd}{2}" : ""); + const char *tz = (typeoid == TIMESTAMPTZOID ? "(\\+|-)\\p{Nd}{2}:\\p{Nd}{2}" : ""); if (typmod == -1) appendStringInfo(&result, diff --git a/src/test/regress/sql/xmlmap.sql b/src/test/regress/sql/xmlmap.sql index fde1b9e..13407ee 100644 --- a/src/test/regress/sql/xmlmap.sql +++ b/src/test/regress/sql/xmlmap.sql @@ -55,3 +55,10 @@ CREATE TABLE testxmlschema.test3 SELECT xmlforest(c1, c2, c3, c4) FROM testxmlschema.test3; SELECT table_to_xml('testxmlschema.test3', true, true, ''); + + +-- test datetime with time zone + +CREATE TABLE testxmlschema.test4 (a timestamp with time zone default current_timestamp); +SELECT table_to_xmlschema('testxmlschema.test4', true, true, ''); + -- 2.35.1