Re: Rework of collation code, extensibility - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Re: Rework of collation code, extensibility
Date
Msg-id 197adf1b-7012-891d-0277-ab0898cca647@enterprisedb.com
Whole thread Raw
In response to Re: Rework of collation code, extensibility  (Jeff Davis <pgsql@j-davis.com>)
Responses Re: Rework of collation code, extensibility
List pgsql-hackers
On 01.02.23 00:33, Jeff Davis wrote:
> On Tue, 2023-01-31 at 11:40 +0100, Peter Eisentraut wrote:
>> I don't know to what extent this depends on the abbreviated key GUC
>> discussion.  Does the rest of this patch set depend on this?
> 
> The overall refactoring is not dependent logically on the GUC patch. It
> may require some trivial fixup if you eliminate the GUC patch.
> 
> I left it there because it makes exploring/testing easier (at least for
> me), but the GUC patch doesn't need to be committed if there's no
> consensus.

I took another closer look at the 0002 and 0003 patches.

The commit message for 0002 says "Also remove the TRUST_STRXFRM define", 
but I think this is incorrect, as that is done in the 0001 patch.

I don't like that the pg_strnxfrm() function requires these kinds of 
repetitive error checks:

+           if (rsize != bsize)
+               elog(ERROR, "pg_strnxfrm() returned unexpected result");

This could be checked inside the function itself, so that the callers 
don't have to do this themselves every time.

I don't really understand the 0003 patch.  It's a lot of churn but I'm 
not sure that it achieves more clarity or something.

The new function pg_locale_deterministic() seems sensible.  Maybe this 
could be proposed as a separate patch.

I don't understand the new header pg_locale_internal.h.  What is 
"internal" and what is not internal?  What are we hiding from whom? 
There are no code comments about this AFAICT.

pg_locale_struct has new fields

+   char       *collate;
+   char       *ctype;

that are not explained anywhere.

I think this patch would need a bit more explanation and commenting.




pgsql-hackers by date:

Previous
From: Amit Kapila
Date:
Subject: Re: Time delayed LR (WAS Re: logical replication restrictions)
Next
From: Peter Eisentraut
Date:
Subject: Re: psql - factor out echo code