Re: is it bug? - printing boolean domains in sql/xml function
От | Noah Misch |
---|---|
Тема | Re: is it bug? - printing boolean domains in sql/xml function |
Дата | |
Msg-id | 20130216175543.GA22595@tornado.leadboat.com обсуждение исходный текст |
Ответ на | is it bug? - printing boolean domains in sql/xml function (Pavel Stehule <pavel.stehule@gmail.com>) |
Ответы |
Re: is it bug? - printing boolean domains in sql/xml function
|
Список | 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
В списке pgsql-hackers по дате отправления: