Re: Adding xpath_exists function

Mike Fowler <mike@mlfowler.com>

From: Mike Fowler <mike@mlfowler.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2010-05-11T09:21:43Z
Lists: pgsql-hackers

Attachments

Robert Haas wrote:
> Please email your patch to the list (replying to this email is fine)
> and add it here:
> https://commitfest.postgresql.org/action/commitfest_view/open
>   
Here's my patch, developed against HEAD, that adds the function 
'xpath_exists'. The function is a lot simpler than originally thought, 
so none of the string manipulation previously discussed was required. 
I've also included some regression tests that test the function with and 
without xml namespaces. I should  note that before I added my tests all 
existing tests passed.

One observation that can be made is that I've largely copied the 
existing xpath function and altered it to use a different method from 
the libxml API. I've done it to save me redoing all the namespace 
handling, however it's apparent to me that if we wanted to expose more 
of the libxml api we will quickly start having a lot of duplicate code. 
I notice that refactoring existing code whilst adding new code is 
generally frowned upon, so once this patch is accepted I will look to 
refactor the xpath and xpath_exists function. I could even add an 
xpath_count method at the same time ;) .

Thanks in advance for any and all feedback,

-- 
Mike Fowler
Registered Linux user: 379787

"I could be a genius if I just put my mind to it, and I,
I could do anything, if only I could get 'round to it"
-PULP 'Glory Days'