From de0b4bc1c56ca3505736e629963e93970cbeed7d Mon Sep 17 00:00:00 2001 From: weiwentao <1375910710@qq.com> Date: Tue, 19 Nov 2024 15:02:27 +0800 Subject: [PATCH] =?UTF-8?q?[mysql=E5=85=BC=E5=AE=B9=E6=80=A7]=20=E8=A7=A3?= =?UTF-8?q?=E5=86=B3group=5Fconcat=E9=95=BF=E5=BA=A6=E8=AE=A1=E7=AE=97?= =?UTF-8?q?=E4=B8=BA=E5=A4=8D=E6=95=B0=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/backend/utils/adt/varlena.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common/backend/utils/adt/varlena.cpp b/src/common/backend/utils/adt/varlena.cpp index 3d9bbf33c..72035429e 100644 --- a/src/common/backend/utils/adt/varlena.cpp +++ b/src/common/backend/utils/adt/varlena.cpp @@ -6434,7 +6434,7 @@ Datum group_concat_finalfn(PG_FUNCTION_ARGS) StringInfo state = (StringInfo)PG_GETARG_POINTER(0); int cur_charset = get_valid_charset_by_collation(PG_GET_COLLATION()); int encoding_max_length = pg_wchar_table[cur_charset].maxmblen; - int real_len = state->len - encoding_max_length; + int real_len = state->len - encoding_max_length > 0 ? state->len - encoding_max_length : 0; char* real_data = state->data + real_len; while (real_data != NULL) { int cur_len = pg_wchar_table[cur_charset].mblen((const unsigned char*)real_data);