xpath differences between postgres 11.4 and 10.3 - Mailing list pgsql-general

From Felipe de Jesús Molina Bravo
Subject xpath differences between postgres 11.4 and 10.3
Date
Msg-id CALrs2KPc7eNGTa344bsUq1PpuQEdgL4MDyhaEH5JfNRVJUba8g@mail.gmail.com
Whole thread Raw
Responses xpath differences between postgres 11.4 and 10.3  ("David G. Johnston" <david.g.johnston@gmail.com>)
List pgsql-general
Hi!!


I have an strange behavior between 11.4 and 10.3 with xpath function:

With pgsql 10.3 i have:
  select  xpath('@idc', '<p idc="4776" rc="Cuadro" idrg="5"/>' ) ;
  xpath  
  --------
  {4776}
  (1 fila)

and with pgsql 11.4:
  select  xpath('@idc', '<p idc="4776" rc="Cuadro" idrg="5"/>'::xml ) ;
   xpath
  -------
   {}
  (1 fila)

Now, if change the expression with "//":
select  xpath('//@idc', '<p idc="4776" rc="Cuadro" idrg="5"/>'::xml ) ;
 xpath  
--------
 {4776}
(1 fila)

In release notes for postgresql 11 say:

  • Correctly handle relative path expressions in xmltable(), xpath(), and other XML-handling functions (Markus Winand)

    Per the SQL standard, relative paths start from the document node of the XML input document, not the root node as these functions previously did.

Despite this note I do not undertand why it behaves differently ... or maybe I do not understand the note well ... what do you think?

thanks in advance!

regards!

pgsql-general by date:

Previous
From: Michael Lewis
Date:
Subject: Re: PostgreSQL upgrade from 9.4.2 to 9.6.12
Next
From: PegoraroF10
Date:
Subject: Re: Converting to identity columns with domains on PK columns