Re: [PATCH] Bug in XPATH() if expression returns a scalar value
Florian G. Pflug <fgp@phlo.org>
From: Florian Pflug <fgp@phlo.org>
To: Peter Eisentraut <peter_e@gmx.net>
Cc: PG Hackers <pgsql-hackers@postgresql.org>
Date: 2011-06-08T08:14:09Z
Lists: pgsql-hackers
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. best regards, Florian Pflug