From: | Jeff Davis <pgsql(at)j-davis(dot)com> |
---|---|
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>, Regina Obe <lr(at)pcorp(dot)us>, pgsql-hackers(at)lists(dot)postgresql(dot)org |
Subject: | Re: Order changes in PG16 since ICU introduction |
Date: | 2023-04-21 20:13:27 |
Message-ID: | 27263746746471bac876c5fae92cb21a38cde45d.camel@j-davis.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Fri, 2023-04-21 at 13:28 -0400, Tom Lane wrote:
> I am wondering however whether this doesn't mean that all our
> carefully
> coded fast paths for C locale just went down the drain.
The code still exists. You can test it by using the built-in collation
"C" which is correctly specified with collprovider=libc and
collcollate=C.
For my test dataset, ICU 72, glibc 2.35:
-- ~07s
explain analyze select t from a order by t collate "C";
-- ~15s
explain analyze select t from a order by t collate "en-US-x-icu";
-- ~21s
explain analyze select t from a order by t collate "en-US-u-va-posix-
x-icu";
-- ~34s
explain analyze select t from a order by t collate "en_US";
I believe the confusion in this thread comes from:
* The syntax of CREATE DATABASE (the same as v15 but still confusing)
* The fact that you need provider=libc to get memcmp() behavior (same
as v15 but still confusing)
Regards,
Jeff Davis
From | Date | Subject | |
---|---|---|---|
Next Message | Nathan Bossart | 2023-04-21 20:33:17 | Re: New committers: Nathan Bossart, Amit Langote, Masahiko Sawada |
Previous Message | Jeff Davis | 2023-04-21 20:03:19 | Re: Order changes in PG16 since ICU introduction |