Re: Collation & ctype method table, and extension hooks
Jeff Davis <pgsql@j-davis.com>
From: Jeff Davis <pgsql@j-davis.com>
To: Andreas Karlsson <andreas@proxel.se>, pgsql-hackers@postgresql.org
Date: 2024-12-05T00:21:34Z
Lists: pgsql-hackers
On Mon, 2024-12-02 at 16:39 +0100, Andreas Karlsson wrote: > My patches: > > = v9-0002-Move-check-for-ucol_strcollUTF8-to-pg_locale_icu..patch Committed. > = v9-0003-Move-code-for-collation-version-into-provider-spe.patch > > Moves some code from pg_collate.c into provider specific files. I agree with the general idea, but it seems we are accumulating a lot of provider-specific functions. Should we define a provider struct with its own methods? That would be a good step toward making the provider catalog-driven. Even if we don't support CREATE LOCALE PROVIDER, having space in the catalog would be a good place to track the provider version. > = v9-0004-Move-ICU-database-encoding-check-into-validation-.patch This seems to be causing a test failure in 020_createdb.pl. > = v9-0005-Move-provider-specific-code-when-looking-up-local.patch > > I did not like how namespace.c had knowledge of ICU. See comments above about v9-0003. Regards, Jeff Davis
Commits
-
Remove provider field from pg_locale_t.
- 8af0d0ab01b4 19 (unreleased) landed
-
Control ctype behavior internally with a method table.
- 5a38104b3642 19 (unreleased) landed
-
Control collation behavior with a method table.
- a2f17f004d22 18.0 landed
-
Move code for collation version into provider-specific files.
- 4f5cef2607c1 18.0 landed
-
Refactor string case conversion into provider-specific files.
- 86a5d6006aff 18.0 landed
-
Move check for ucol_strcollUTF8 to pg_locale_icu.c
- 7167e05fc7d1 18.0 landed
-
Perform provider-specific initialization in new functions.
- 1ba0782ce90c 18.0 landed
-
Refactor the code to create a pg_locale_t into new function.
- 3aa2373c1141 18.0 landed