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
- pg_xpath_returnvalue.v3.patch (application/octet-stream) patch v3
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