Thread

Commits

  1. Fix JsonExpr deparsing to quote variable names in the PASSING clause.

  2. Fix XMLTABLE() deparsing to quote namespace names if necessary.

  1. Missing quotes when deparsing XMLTABLE() and SQL/JSON query functions

    Dean Rasheed <dean.a.rasheed@gmail.com> — 2025-01-11T12:30:38Z

    While looking over ruleutils.c, I noticed a couple of places that fail
    to properly quote certain outputs:
    
    1. XML namespace names in XMLTABLE().
    
    2. variable names in the PASSING clause of the SQL/JSON query
    functions JSON_EXISTS(), JSON_QUERY(), and JSON_VALUE() (but not
    JSON_TABLE(), which has similar code that does quote variable names
    properly).
    
    I scanned the rest of ruleutils.c, and didn't find any other issues.
    
    Regards,
    Dean
    
  2. Re: Missing quotes when deparsing XMLTABLE() and SQL/JSON query functions

    Tom Lane <tgl@sss.pgh.pa.us> — 2025-01-11T15:42:34Z

    Dean Rasheed <dean.a.rasheed@gmail.com> writes:
    > While looking over ruleutils.c, I noticed a couple of places that fail
    > to properly quote certain outputs:
    
    > 1. XML namespace names in XMLTABLE().
    
    +1, but you also need to update the xml_1.out and xml_2.out files.
    IIRC, xml_1.out is what comes out without --with-libxml.
    I forget what's different about xml_2.out, but you can probably
    just clone the diff for xml.out and be fine.
    
    			regards, tom lane
    
    
    
    
  3. Re: Missing quotes when deparsing XMLTABLE() and SQL/JSON query functions

    Dean Rasheed <dean.a.rasheed@gmail.com> — 2025-01-12T14:10:29Z

    On Sat, 11 Jan 2025 at 15:42, Tom Lane <tgl@sss.pgh.pa.us> wrote:
    >
    > +1, but you also need to update the xml_1.out and xml_2.out files.
    > IIRC, xml_1.out is what comes out without --with-libxml.
    > I forget what's different about xml_2.out, but you can probably
    > just clone the diff for xml.out and be fine.
    >
    
    Ah yes, I see. Thanks for that. It looks like the differences in
    xml_2.out were for a specific change in libxml2 behaviour that only
    affects error details in a small number of cases, so cloning the diffs
    looks like it should be fine in this case.
    
    Regards,
    Dean