aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/like.c
diff options
context:
space:
mode:
authorJeff Davis <jdavis@postgresql.org>2024-08-05 18:15:57 -0700
committerJeff Davis <jdavis@postgresql.org>2024-08-05 18:31:48 -0700
commite9931bfb7515b253cc26ff495ee917acff8995d0 (patch)
tree63e10efac543b3117b032c3993fe9711592a8168 /src/backend/utils/adt/like.c
parentf80b09bac87d6b49f5dbb6131da5fbd9b9773c5c (diff)
downloadpostgresql-e9931bfb7515b253cc26ff495ee917acff8995d0.tar.gz
postgresql-e9931bfb7515b253cc26ff495ee917acff8995d0.zip
Remove support for null pg_locale_t most places.
Previously, passing NULL for pg_locale_t meant "use the libc provider and the server environment". Now that the database collation is represented as a proper pg_locale_t (not dependent on setlocale()), remove special cases for NULL. Leave wchar2char() and char2wchar() unchanged for now, because the callers don't always have a libc-based pg_locale_t available. Discussion: https://postgr.es/m/cfd9eb85-c52a-4ec9-a90e-a5e4de56e57d@eisentraut.org Reviewed-by: Peter Eisentraut, Andreas Karlsson
Diffstat (limited to 'src/backend/utils/adt/like.c')
-rw-r--r--src/backend/utils/adt/like.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/src/backend/utils/adt/like.c b/src/backend/utils/adt/like.c
index 57ead66b5aa..0ecc96d48e5 100644
--- a/src/backend/utils/adt/like.c
+++ b/src/backend/utils/adt/like.c
@@ -174,8 +174,7 @@ Generic_Text_IC_like(text *str, text *pat, Oid collation)
*p;
int slen,
plen;
- pg_locale_t locale = 0;
- bool locale_is_c = false;
+ pg_locale_t locale;
if (!OidIsValid(collation))
{
@@ -189,10 +188,7 @@ Generic_Text_IC_like(text *str, text *pat, Oid collation)
errhint("Use the COLLATE clause to set the collation explicitly.")));
}
- if (lc_ctype_is_c(collation))
- locale_is_c = true;
- else
- locale = pg_newlocale_from_collation(collation);
+ locale = pg_newlocale_from_collation(collation);
if (!pg_locale_deterministic(locale))
ereport(ERROR,
@@ -228,7 +224,7 @@ Generic_Text_IC_like(text *str, text *pat, Oid collation)
plen = VARSIZE_ANY_EXHDR(pat);
s = VARDATA_ANY(str);
slen = VARSIZE_ANY_EXHDR(str);
- return SB_IMatchText(s, slen, p, plen, locale, locale_is_c);
+ return SB_IMatchText(s, slen, p, plen, locale, locale->ctype_is_c);
}
}