Re: is it bug? - printing boolean domains in sql/xml function

From: Noah Misch <noah(at)leadboat(dot)com>
To: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: is it bug? - printing boolean domains in sql/xml function
Date: 2013-02-16 17:55:43
Message-ID: 20130216175543.GA22595@tornado.leadboat.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sun, Jan 13, 2013 at 07:54:11AM +0100, Pavel Stehule wrote:
> related to http://www.postgresql.org/message-id/CAFj8pRDTAVfNrAzwEt+ewMfRBDZFfVa8W17Kk_E12fb6T-ZNXQ@mail.gmail.com
>
> boolean domains is serialised to string different than boolean
>
> postgres=# CREATE DOMAIN booldomain as bool;
> CREATE DOMAIN
>
> -- fully expected behave
> postgres=# select true, true::booldomain;
> bool | booldomain
> ------+------------
> t | t
> (1 row)
>
> postgres=# select true::text, true::booldomain::text;
> text | text
> ------+------
> true | true
> (1 row)
>
> -- unexpected behave
> postgres=# select xmlforest(true as bool, true::booldomain as booldomain);
> xmlforest
> ---------------------------------------------
> <bool>true</bool><booldomain>t</booldomain>
> (1 row)
>
> is it expected behave?

There is a bug here. map_sql_type_to_xmlschema_type() has special treatment
for domains, but map_sql_value_to_xml_value() and its callers have no
corresponding logic. In the same vein, this yields a schema that does not
validate its corresponding document:

set datestyle = 'sql, dmy';
create domain datedom as date;
create table t as select current_date AS a, current_date::datedom AS b;
select table_to_xml('t', true, true, '');
select table_to_xmlschema('t', true, true, '');

One could debate whether the schema generation or the data generation should
be the one to change, but I tentatively vote for the latter.

Thanks,
nm

--
Noah Misch
EnterpriseDB http://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Kevin Grittner 2013-02-16 18:00:34 Re: Materialized views WIP patch
Previous Message Kevin Grittner 2013-02-16 17:53:14 Re: Materialized views WIP patch