Re: BUG #5859: XML result in line and column - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #5859: XML result in line and column
Date
Msg-id 29614.1296584563@sss.pgh.pa.us
Whole thread Raw
In response to BUG #5859: XML result in line and column  ("Alexandre" <ultrago@gmail.com>)
List pgsql-bugs
"Alexandre" <ultrago@gmail.com> writes:
> SELECT * FROM
> xpath_table('sequencia',
>             'registro',
>             'auditoria_anterior',
>             'name(/ROOT/CLIENTES/*)|/ROOT/CLIENTES/*',
>             'sequencia = 1')
> AS t(sequencia integer, coluna text, valor text)

> --Incorrect result-----------------------------------
> sequencia   coluna            valor
> integer     text              text
> --------------------------------------------------
> 1           CGC_CPF_CLIENTE   12345678901
> 1           CGC_CPF_CLIENTE   1
> 1           CGC_CPF_CLIENTE   F
> 1           CGC_CPF_CLIENTE   JOAO DA SILVA


> --Result that would be right to be presented----------
> sequencia   coluna            valor
> integer     text              text
> --------------------------------------------------
> 1           CGC_CPF_CLIENTE   12345678901
> 1           TIPO              1
> 1           PESSOA            F
> 1           NOME              JOAO DA SILVA

I can reproduce this on Fedora 13 (with libxml2-2.7.7-1.fc13.x86_64).
I traced through it and find that libxml returns a simple XPATH_STRING
result for the name() query, whereas the second query returns an
XPATH_NODESET containing the four values shown.  So either this behavior
is correct, or it's a libxml bug not ours.  I don't know XPath well
enough to know whether name() ought to return more than one value here.

Note that there are some other pretty serious known issues in this
same area, see
http://archives.postgresql.org/pgsql-hackers/2010-02/msg02424.php
Overall it seems like the libxml API is not designed to handle multiple
parallel queries, or maybe we just don't know how to use it for that.

            regards, tom lane

pgsql-bugs by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Feature request: include script file into function body
Next
From: Steve White
Date:
Subject: Re: Feature request: include script file into function body