Re: Adding xpath_exists function

Mike Fowler <mike@mlfowler.com>

From: mike@mlfowler.com
To: Robert Haas <robertmhaas@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2010-05-06T21:53:23Z
Lists: pgsql-hackers
Quoting Robert Haas <robertmhaas@gmail.com>:

>
> I'm not sure I understand how this more convenient than just using
> xpath() with exists()?
>

It will save a lot of complexity in WHERE clauses. For example using  
exists() in xpath() you might construct something like:

WHERE array_dims(xpath('exists(/foo/bar)','<bar><foo/></bar>'::xml) IS  
NOT NULL ...

Whereas a dedicated xpath_exists() would look like:

WHERE xpath_exists('/foo/bar','<bar><foo/></bar>'::xml) ....

I accept this example is quite basic, but I hope it illustrates the  
added usability. I think xml in sql is complex enough, especially when  
you start considering namespaces, that anything we can do to simplify  
common use cases can only help improve the uptake of postgres xml.

Thanks,

--
Mike Fowler