diff options
author | Peter Eisentraut <peter@eisentraut.org> | 2024-12-05 07:19:37 +0100 |
---|---|---|
committer | Peter Eisentraut <peter@eisentraut.org> | 2024-12-05 07:19:37 +0100 |
commit | 792b2c7e6d926e61e8ff3b33d3e22d7d74e7a437 (patch) | |
tree | d3df2d8eacac375310f6143c156078a5ab40fe92 /src/backend/regex/regc_pg_locale.c | |
parent | 71cb352904c1833fe067d6f191269710fe2ca06f (diff) | |
download | postgresql-792b2c7e6d926e61e8ff3b33d3e22d7d74e7a437.tar.gz postgresql-792b2c7e6d926e61e8ff3b33d3e22d7d74e7a437.zip |
Remove pg_regex_collation
We can also use the existing pg_regex_locale as the cache key, which
is the only use of this variable.
Reviewed-by: Jeff Davis <pgsql@j-davis.com>
Discussion: https://www.postgresql.org/message-id/flat/b1b92ae1-2e06-4619-a87a-4b4858e547ec%40eisentraut.org
Diffstat (limited to 'src/backend/regex/regc_pg_locale.c')
-rw-r--r-- | src/backend/regex/regc_pg_locale.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/backend/regex/regc_pg_locale.c b/src/backend/regex/regc_pg_locale.c index b75784b6ce5..e07d4a8868c 100644 --- a/src/backend/regex/regc_pg_locale.c +++ b/src/backend/regex/regc_pg_locale.c @@ -74,7 +74,6 @@ typedef enum static PG_Locale_Strategy pg_regex_strategy; static pg_locale_t pg_regex_locale; -static Oid pg_regex_collation; /* * Hard-wired character properties for C locale @@ -254,7 +253,7 @@ pg_set_regex_collation(Oid collation) * pg_newlocale_from_collation(). */ strategy = PG_REGEX_STRATEGY_C; - collation = C_COLLATION_OID; + locale = 0; } else { @@ -273,7 +272,6 @@ pg_set_regex_collation(Oid collation) */ strategy = PG_REGEX_STRATEGY_C; locale = 0; - collation = C_COLLATION_OID; } else if (locale->provider == COLLPROVIDER_BUILTIN) { @@ -298,7 +296,6 @@ pg_set_regex_collation(Oid collation) pg_regex_strategy = strategy; pg_regex_locale = locale; - pg_regex_collation = collation; } static int @@ -628,7 +625,7 @@ typedef int (*pg_wc_probefunc) (pg_wchar c); typedef struct pg_ctype_cache { pg_wc_probefunc probefunc; /* pg_wc_isalpha or a sibling */ - Oid collation; /* collation this entry is for */ + pg_locale_t locale; /* locale this entry is for */ struct cvec cv; /* cache entry contents */ struct pg_ctype_cache *next; /* chain link */ } pg_ctype_cache; @@ -697,7 +694,7 @@ pg_ctype_get_cache(pg_wc_probefunc probefunc, int cclasscode) for (pcc = pg_ctype_cache_list; pcc != NULL; pcc = pcc->next) { if (pcc->probefunc == probefunc && - pcc->collation == pg_regex_collation) + pcc->locale == pg_regex_locale) return &pcc->cv; } @@ -708,7 +705,7 @@ pg_ctype_get_cache(pg_wc_probefunc probefunc, int cclasscode) if (pcc == NULL) return NULL; pcc->probefunc = probefunc; - pcc->collation = pg_regex_collation; + pcc->locale = pg_regex_locale; pcc->cv.nchrs = 0; pcc->cv.chrspace = 128; pcc->cv.chrs = (chr *) malloc(pcc->cv.chrspace * sizeof(chr)); |