• Tom Lane's avatar
    Fix some minor spec-compliance issues in jsonpath lexer. · e56cad84
    Tom Lane authored
    Although the SQL/JSON tech report makes reference to ECMAScript which
    allows both single- and double-quoted strings, all the rest of the
    report speaks only of double-quoted string literals in jsonpaths.
    That's more compatible with JSON itself; moreover single-quoted strings
    are hard to use inside a jsonpath that is itself a single-quoted SQL
    literal.  So guess that the intent is to allow only double-quoted
    literals, and remove lexer support for single-quoted literals.
    It'll be less painful to add this again later if we're wrong, than to
    remove a shipped feature.
    
    Also, adjust the lexer so that unrecognized backslash sequences are
    treated as just meaning the escaped character, not as errors.  This
    change has much better support in the standards, as JSON, JavaScript
    and ECMAScript all make it plain that that's what's supposed to
    happen.
    
    Back-patch to v12.
    
    Discussion: https://postgr.es/m/CAPpHfdvDci4iqNF9fhRkTqhe-5_8HmzeLt56drH%2B_Rv2rNRqfg@mail.gmail.com
    e56cad84
jsonpath_encoding_1.out 6.67 KB