Peter Eisentraut <[EMAIL PROTECTED]> writes: > The spec doesn't allow casts between xml and text (varchar) at all. The way > I appear to have derived the current behavior from the spec is that this is > interpreted as an implicit XMLSERIALIZE call in the context of a prepared > statement, which is defined to observe the XML option, as per clause 17.3 > (part 14). This was the clostest piece of spec that described conversion > from xml to character types. Now with the xpath functionality, there is > certainly a strong use case for ignoring this altogether and just serializing > with the XML option set to "content".
Given the actual behavior of xmltotext_with_xmloption, it certainly seems like a pretty useless error check. Also, xml_out doesn't behave that way, so why should xmltotext? The volatility markings of xml_in and texttoxml seem wrong too. It looks to me like we need: xml_in should be STABLE because it depends on xmloption xml_recv ditto (OK already) xml_out correctly(?) marked IMMUTABLE xml_send is STABLE, OK because it depends on client_encoding texttoxml should be STABLE because it depends on xmloption xmltotext remove xmloption dependency, mark as IMMUTABLE Should we force initdb to correct these pg_proc entries, or just quietly change pg_proc.h? regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend