0003-Remove-pg_mblen-and-related-functions.patch
text/x-patch
Filename: 0003-Remove-pg_mblen-and-related-functions.patch
Type: text/x-patch
Part: 2
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: format-patch
Series: patch 0003
Subject: Remove pg_mblen() and related functions.
| File | + | − |
|---|---|---|
| src/backend/tsearch/ts_locale.c | 0 | 12 |
| src/backend/utils/mb/mbutils.c | 0 | 10 |
| src/include/mb/pg_wchar.h | 0 | 3 |
| src/include/tsearch/ts_locale.h | 1 | 8 |
From 477cf8ec1ae9ef333988c0dcd48a20d00eacd93b Mon Sep 17 00:00:00 2001
From: Thomas Munro <thomas.munro@gmail.com>
Date: Wed, 1 Apr 2026 23:24:33 +1300
Subject: [PATCH 3/3] Remove pg_mblen() and related functions.
pg_mblen() was unsafe and declared deprecated in all release branches,
and can now removed in master. The t_is*() functions were less unsafe,
but needed to know which pg_mblen_XXX() replacement to call so they also
gained parallel replacements.
Reviewed-by:
Discussion:
---
src/backend/tsearch/ts_locale.c | 12 ------------
src/backend/utils/mb/mbutils.c | 10 ----------
src/include/mb/pg_wchar.h | 3 ---
src/include/tsearch/ts_locale.h | 9 +--------
4 files changed, 1 insertion(+), 33 deletions(-)
diff --git a/src/backend/tsearch/ts_locale.c b/src/backend/tsearch/ts_locale.c
index df02ffb12fd..12ef3d11b32 100644
--- a/src/backend/tsearch/ts_locale.c
+++ b/src/backend/tsearch/ts_locale.c
@@ -41,18 +41,6 @@ int \
t_is##character_class##_cstr(const char *ptr) \
{ \
return t_is##character_class##_with_len(ptr, pg_mblen_cstr(ptr)); \
-} \
-/* ptr shall point to a string with pre-validated encoding */ \
-int \
-t_is##character_class##_unbounded(const char *ptr) \
-{ \
- return t_is##character_class##_with_len(ptr, pg_mblen_unbounded(ptr)); \
-} \
-/* historical name for _unbounded */ \
-int \
-t_is##character_class(const char *ptr) \
-{ \
- return t_is##character_class##_unbounded(ptr); \
}
GENERATE_T_ISCLASS_DEF(alnum)
diff --git a/src/backend/utils/mb/mbutils.c b/src/backend/utils/mb/mbutils.c
index 78f4d5e202c..08d80f2c36f 100644
--- a/src/backend/utils/mb/mbutils.c
+++ b/src/backend/utils/mb/mbutils.c
@@ -1143,16 +1143,6 @@ pg_mblen_unbounded(const char *mbstr)
return length;
}
-/*
- * Historical name for pg_mblen_unbounded(). Should not be used and will be
- * removed in a later version.
- */
-int
-pg_mblen(const char *mbstr)
-{
- return pg_mblen_unbounded(mbstr);
-}
-
/* returns the display length of a multibyte character */
int
pg_dsplen(const char *mbstr)
diff --git a/src/include/mb/pg_wchar.h b/src/include/mb/pg_wchar.h
index a3326e365a7..e42cf562635 100644
--- a/src/include/mb/pg_wchar.h
+++ b/src/include/mb/pg_wchar.h
@@ -700,9 +700,6 @@ extern int pg_mblen_range(const char *mbstr, const char *end);
extern int pg_mblen_with_len(const char *mbstr, int limit);
extern int pg_mblen_unbounded(const char *mbstr);
-pg_attribute_deprecated("use pg_mblen_{cstr,range,with_len,unbounded} instead")
-extern int pg_mblen(const char *mbstr);
-
extern int pg_dsplen(const char *mbstr);
extern int pg_mbstrlen(const char *mbstr);
extern int pg_mbstrlen_with_len(const char *mbstr, int limit);
diff --git a/src/include/tsearch/ts_locale.h b/src/include/tsearch/ts_locale.h
index 90e533eea31..b6a2d29ee3f 100644
--- a/src/include/tsearch/ts_locale.h
+++ b/src/include/tsearch/ts_locale.h
@@ -52,16 +52,9 @@ ts_copychar_cstr(void *dest, const void *src)
return ts_copychar_with_len(dest, src, pg_mblen_cstr((const char *) src));
}
-/* Historical macro for the above. */
-#define COPYCHAR ts_copychar_cstr
-
#define GENERATE_T_ISCLASS_DECL(character_class) \
extern int t_is##character_class##_with_len(const char *ptr, int len); \
-extern int t_is##character_class##_cstr(const char *ptr); \
-extern int t_is##character_class##_unbounded(const char *ptr); \
-\
-pg_attribute_deprecated("use t_isXXX_{cstr,with_len,unbounded} instead") \
-extern int t_is##character_class(const char *ptr);
+extern int t_is##character_class##_cstr(const char *ptr);
GENERATE_T_ISCLASS_DECL(alnum);
GENERATE_T_ISCLASS_DECL(alpha);
--
2.53.0