On Thu, Aug 8, 2019 at 11:30 PM Alexander Korotkov
<a.korot...@postgrespro.ru> wrote:
> On Thu, Aug 8, 2019 at 11:53 AM Markus Winand <markus.win...@winand.at> wrote:
> > The patch makes my tests pass.
>
> Cool.
>
> > I wonder about a few things:
> >
> > - Isn’t there any code that could be re-used for that (the one triggered by 
> > ‘a’ < ‘A’ COLLATE ucs_basic)?
>
> PostgreSQL supports ucs_basic, but it's alias to C collation and works
> only for utf-8.  Jsonpath code may work in different encodings.  New
> string comparison code can work in different encodings.
>
> > - For object key members, the standard also refers to unicode code point 
> > collation (SQL-2:2016 4.46.3, last paragraph).
> > - I guess it also applies to the “starts with” predicate, but I cannot find 
> > this explicitly stated in the standard.
>
> For object keys we don't actually care about whether strings are less
> or greater.  We only search for equal keys.  So, per-byte comparison
> we currently use should be fine.  The same states for "starts with"
> predicate.
>
> > My tests check whether those cases do case-sensitive comparisons. With my 
> > default collation "en_US.UTF-8” I cannot discover potential issues there. I 
> > haven’t played around with nondeterministic ICU collations yet :(
>
> That's OK. There should be other beta testers around :)

So, I'm going to push this if no objections.

------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company


Reply via email to