Re: [PATCH] Bug in XPATH() if expression returns a scalar value

Florian G. Pflug <fgp@phlo.org>

From: Florian Pflug <fgp@phlo.org>
To: Florian Pflug <fgp@phlo.org>
Cc: Peter Eisentraut <peter_e@gmx.net>, PG Hackers <pgsql-hackers@postgresql.org>
Date: 2011-06-09T23:28:21Z
Lists: pgsql-hackers

Attachments

On Jun8, 2011, at 10:14 , Florian Pflug wrote:
> On Jun6, 2011, at 14:56 , Peter Eisentraut wrote:
>> On tis, 2011-05-31 at 16:19 +0200, Florian Pflug wrote:
>>> If people deem this to be a problem, we could instead add a separate
>>> function XPATH_VALUE() that returns VARCHAR, and make people use that
>>> for scalar-value-returning expressions.
>> 
>> Why not replicate what contrib/xml2 provides, namely
>> 
>> xpath_string()
>> xpath_number()
>> xpath_bool()
>> 
>> That way, types are preserved.
> 
> But then you lose the ability to evaluate user-supplied
> XPath expressions, because there's no way of telling which of these
> function to use.
> 
> Since XPATH_BOOL() can be emulated by doing XPATH(...)::text::boolean
> if XPATH() implements the more lenient behaviour I proposed, that
> seems like a bad tradeoff overall.


Patch rebased onto HEAD.

best regards,
Florian Pflug