changing xpath() and xpath_exists() - Mailing list pgsql-hackers

From Alvaro Herrera
Subject changing xpath() and xpath_exists()
Date
Msg-id 20180620233532.fk6gwhwrf4fn5u7t@alvherre.pgsql
Whole thread Raw
Responses Re: changing xpath() and xpath_exists()
List pgsql-hackers
Hello

Per discussion at
https://postgr.es/m/0684A598-002C-42A2-AE12-F024A324EAE4@winand.at
I intend to change xpath() and xpath_exists() in a subtly backwards-
incompatible way, so that they match the behavior of SQL-standard-
specified XMLTABLE.  It seems sane to keep them in sync.  Anybody wants
to object so that we keep the historical functions alone and only change
XMLTABLE?

Previously, this query would return empty:
SELECT xpath('root', '<root/>');

 xpath 
───────
 {}
(1 fila)

After this patch, it will return the root node:

   xpath   
───────────
 {<root/>}
(1 fila)


Note that if an absolute path is used, the behavior is unchanged:

alvherre=# SELECT xpath('/root', '<root/>');
   xpath   
───────────
 {<root/>}
(1 fila)

Please speak up if you think the former behavior should be kept.

-- 
Álvaro Herrera


pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: Excessive CPU usage in StandbyReleaseLocks()
Next
From: Alvaro Herrera
Date:
Subject: Re: XML/XPath issues: text/CDATA in XMLTABLE, XPath evaluated withwrong context