From: | Peter Eisentraut <peter(at)eisentraut(dot)org> |
---|---|
To: | Jeff Davis <pgsql(at)j-davis(dot)com>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Change initdb default to the builtin collation provider |
Date: | 2025-10-17 15:23:22 |
Message-ID: | cbf88173-fce9-49f1-a9ee-29f8e982b98a@eisentraut.org |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 11.10.25 02:48, Jeff Davis wrote:
> The builtin provider uses code point order, i.e. memcmp(), so the
> final result display order is less human-friendly. For instance, 'Z'
> comes before 'a'.
>
> That problem is annoying, but*much* easier to fix than the other
> factors. The user might add a COLLATE clause to the final ORDER BY, or
> perform the sort in the application layer or presentation layer.
I remain violently opposed to this idea. I don't understand how it
could be acceptable to just not provide a good display order by default
and have everyone rewrite their queries.
> ICU is better than libc in a lot of ways:
>
> * Better performance
> * Platform-independent
> * Easier to manage it as a separate library
>
> But fundamentally, I don't think it's a great default, because it
> favors final result display order at the risk of primary key
> inconsistencies.
I don't understand. We have a versioning system for ICU collations?
Does it not work?
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2025-10-17 16:15:47 | Re: make tsearch use the database default locale |
Previous Message | Peter Eisentraut | 2025-10-17 15:04:42 | Re: new environment variable INITDB_LOCALE_PROVIDER |