From e4e09ecfb65d55d6225b080f6f2069159c94c1c7 Mon Sep 17 00:00:00 2001 From: cqliang1995 Date: Fri, 22 Sep 2023 02:43:49 +0000 Subject: [PATCH] set correct character length of varchar in dblink --- deps/oblib/src/lib/mysqlclient/ob_mysql_result.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/deps/oblib/src/lib/mysqlclient/ob_mysql_result.cpp b/deps/oblib/src/lib/mysqlclient/ob_mysql_result.cpp index f0174ac9f4..8bbac600b4 100644 --- a/deps/oblib/src/lib/mysqlclient/ob_mysql_result.cpp +++ b/deps/oblib/src/lib/mysqlclient/ob_mysql_result.cpp @@ -81,7 +81,7 @@ int ObMySQLResult::format_precision_scale_length(int16_t &precision, int16_t &sc int16_t tmp_precision = precision; int16_t tmp_scale = scale; int32_t tmp_length = length; - int64_t mbmaxlen = 0; + int64_t mbminlen = 0; LOG_DEBUG("dblink pull meta", K(precision), K(scale), K(length), K(ret), K(ob_type)); // format precision from others to oceanbase if (!lib::is_oracle_mode()) { @@ -118,10 +118,10 @@ int ObMySQLResult::format_precision_scale_length(int16_t &precision, int16_t &sc } case ObCharType: case ObVarcharType: { - if (OB_FAIL(common::ObCharset::get_mbmaxlen_by_coll(meta_cs_type, mbmaxlen))) { - LOG_WARN("fail to get mbmaxlen", K(meta_cs_type), K(ret)); + if (OB_FAIL(common::ObCharset::get_mbminlen_by_coll(meta_cs_type, mbminlen))) { + LOG_WARN("fail to get mbminlen", K(meta_cs_type), K(ret)); } else { - length /= mbmaxlen; + length /= mbminlen; precision = -1; scale = -1; }