RE: Order changes in PG16 since ICU introduction

From: "Regina Obe" <lr(at)pcorp(dot)us>
To: "'Tom Lane'" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "'Peter Eisentraut'" <peter(dot)eisentraut(at)enterprisedb(dot)com>
Cc: "'Sandro Santilli'" <strk(at)kbt(dot)io>, <pgsql-hackers(at)lists(dot)postgresql(dot)org>, "'Jeff Davis'" <pgsql(at)j-davis(dot)com>
Subject: RE: Order changes in PG16 since ICU introduction
Date: 2023-04-21 17:37:25
Message-ID: 002d01d97477$f0395640$d0ac02c0$@pcorp.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com> writes:
> > If the database is created with locale provider ICU, then lc_collate
> > does not apply here, so the result might be correct (depending on what
> > locale you have set).
>
> FWIW, an installation created under LANG=C defaults to ICU locale en-US-u-
> va-posix for me (see psql \l), and that still sorts as expected on my
RHEL8 box.
> We've not seen buildfarm problems either.
>
> I am wondering however whether this doesn't mean that all our carefully
> coded fast paths for C locale just went down the drain. Does the ICU code
> have any of that? Has any performance testing been done to see what
impact
> this change had on C-locale installations? (The current code coverage
report
> for pg_locale.c is not encouraging.)
>
> regards, tom lane

Just another metric.

On my mingw64 setup, I built a test database on PG16 (built with icu
support) and PG15 (no icu support)

CREATE DATABASE test TEMPLATE=template0 ENCODING = 'UTF8' LC_COLLATE = 'C'
LC_CTYPE = 'C';

I think the above is the similar setup we have when testing.

On PG15

SELECT '+' < '-' ; returns true

On PG 16 returns false

For PG 16, to strk's point, you have to do: to get a true
SELECT '+' COLLATE "C" < '-' COLLATE "C";

I would expect since I'm initializing my db in collate C they would both
behave the same

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Gurjeet Singh 2023-04-21 17:39:45 Re: Correct the documentation for work_mem
Previous Message Tom Lane 2023-04-21 17:30:31 Re: LLVM strip -x fails