• Alvaro Herrera's avatar
    Fix minor deficiencies in XMLTABLE, xpath(), xmlexists() · 251cf2e2
    Alvaro Herrera authored
    Correctly process nodes of more types than previously.  In some cases,
    nodes were being ignored (nothing was output); in other cases, trying to
    return them resulted in errors about unrecognized nodes.  In yet other
    cases, necessary escaping (of XML special characters) was not being
    done.  Fix all those (as far as the authors could find) and add
    regression tests cases verifying the new behavior.
    
    I (Álvaro) was of two minds about backpatching these changes.  They do
    seem bugfixes that would benefit most users of the affected functions;
    but on the other hand it would change established behavior in minor
    releases, so it seems prudent not to.
    
    Authors: Pavel Stehule, Markus Winand, Chapman Flack
    Discussion:
       https://postgr.es/m/CAFj8pRA6J25CtAZ2TuRvxK3gat7-bBUYh0rfE2yM7Hj9GD14Dg@mail.gmail.com
       https://postgr.es/m/8BDB0627-2105-4564-AA76-7849F028B96E@winand.at
    
    The elephant in the room as pointed out by Chapman Flack, not fixed in
    this commit, is that we still have XMLTABLE operating on XPath 1.0
    instead of the standard-mandated XQuery (or even its subset XPath 2.0).
    Fixing that is a major undertaking, however.
    251cf2e2
xml.sql 27.3 KB