|From:||Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>|
|To:||Chapman Flack <chap(at)anastigmatix(dot)net>|
|Cc:||"Jonathan S(dot) Katz" <jkatz(at)postgresql(dot)org>, Erik Rijkers <er(at)xs4all(dot)nl>, pgsql-hackers(at)lists(dot)postgresql(dot)org|
|Subject:||Re: Define jsonpath functions as stable|
|Views:||Raw Message | Whole Thread | Download mbox | Resend email|
Chapman Flack <chap(at)anastigmatix(dot)net> writes:
> On 09/18/19 17:12, Tom Lane wrote:
>> As such, I think this doesn't apply to SQL/JSON. The SQL/JSON spec
>> in either of those languages you have backslash escape sequences
>> for writing weird characters, *not* XML entities. You certainly
>> wouldn't have use of such entities in a native implementation of
>> LIKE_REGEX in SQL.
> So yeah, that seems to be correct.
Thanks for double-checking. I removed that para from the patch.
>> So now I'm thinking we can just remove the handwaving about entities.
>> On the other hand, this points up a large gap in our docs about
>> SQL/JSON, which is that nowhere does it even address the question of
>> what the string literal syntax is within a path expression.
> That does seem like it ought to be covered.
I found a spot that seemed like a reasonable place, and added some
coverage of the point. Updated patch attached.
It seems to me that there are some discrepancies between what the spec
says and what jsonpath_scan.l actually does, so maybe we should take a
hard look at that code too. The biggest issue is that jsonpath_scan.l
seems to allow single- and double-quoted strings interchangeably, which is
OK per ECMAScript, but then the SQL/JSON spec seems to be saying that only
double-quoted strings are allowed. I'd rather be conservative about this
than get out in front of the spec and use syntax space that they might do
something else with someday.
regards, tom lane
|Next Message||Jamison, Kirk||2019-09-19 00:42:09||RE: [PATCH] Speedup truncates of relation forks|
|Previous Message||Thomas Munro||2019-09-18 22:51:09||Re: [PATCH] src/test/modules/dummy_index -- way to test reloptions from inside of access method|