PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

XPath1 bei SQL/XML, count Elemente gibt leer zurück

BEARBEITEN :Wie ich in den Kommentaren unten angemerkt habe und wie in dieser SO-Antwort angegeben , dieses Problem wurde anscheinend in Postgresql 9.2 behoben. Diese Antwort lautet:

Unten ist der Rest meiner ursprünglichen Antwort:

Dies scheint eine bekannte Einschränkung in xpath() von Postgresql zu sein Funktion - nur Ausdrücke, die zu einem Knotensatz ausgewertet werden, geben etwas zurück; XPath-Ausdrücke, die einen Skalarwert zurückgeben würden, geben einfach ein leeres Array zurück.

Einige Google-Suchanfragen zeigen eine Diskussion darüber vor etwa 2 Jahren, hauptsächlich von einer Person namens Florian Pflug:

http://postgresql.1045698.n5.nabble.com/PATCH-Bug-in-XPATH-if-expression-returns-a-scalar-value-td4440233.html


Er hat einen Patch entwickelt, der angeblich das Problem behebt und der an den folgenden Thread angehängt ist (obwohl ich nicht ganz sicher bin, dass dies die neueste Version ist):

http://www.postgresql.org /message-id/[email protected]


Es scheint einige Diskussionen über die Vor- und Nachteile seines Patches zu geben, also würde ich vorschlagen, diese Threads durchzulesen, um zu wissen, worum es geht:

http://www.postgresql.org/message-id/example @sqldat.com http://www.postgresql.org/message-id/example @sqldat.com