"Alexandre" <ultr...@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 -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs