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,
Peter Eisentraut <peter@eisentraut.org>
Date: 2025-06-12T05:49:17Z
Lists: pgsql-hackers
Attachments
- v16-0001-Control-ctype-behavior-internally-with-a-method-.patch (text/x-patch) patch v16-0001
- v16-0002-Remove-provider-field-from-pg_locale_t.patch (text/x-patch) patch v16-0002
- v16-0003-Make-provider-data-in-pg_locale_t-an-opaque-poin.patch (text/x-patch) patch v16-0003
- v16-0004-Don-t-include-ICU-headers-in-pg_locale.h.patch (text/x-patch) patch v16-0004
On Fri, 2025-02-07 at 11:19 -0800, Jeff Davis wrote: > > Attached v15. Just a rebase. Attached v16. > * commit this on the grounds that it's a desirable code improvement > and > the worst-case regression isn't a major concern; or I plan to commit this soon after branching. There's a general consensus that enabling multi-lib provider support is a good idea, and turning the provider behavior into method tables is a prerequisite for that. I doubt the performance issue will be a serious concern and I don't see a good way to avoid it. 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