[CP] Fix type deduce bugs

This commit is contained in:
hezuojiao
2024-11-18 13:14:40 +00:00
committed by ob-robot
parent 4abe952fd6
commit a1126f904d
5 changed files with 34 additions and 19 deletions

View File

@ -82,9 +82,7 @@ int ObExprToBase64::calc_result_type1(ObExprResType &type,
LOG_WARN("fail to get mbmaxlen", K(str.get_collation_type()), K(ret));
} else {
max_result_length = (base64_needed_encoded_length(str.get_length()) - 1) * mbmaxlen;
if (max_result_length > OB_MAX_BLOB_WIDTH) {
max_result_length = OB_MAX_BLOB_WIDTH;
}
max_result_length = MIN(MAX(0, max_result_length), OB_MAX_BLOB_WIDTH);
int64_t max_l = max_result_length / mbmaxlen;
int64_t max_deduce_length = max_l * mbmaxlen;
if (max_deduce_length < OB_MAX_MYSQL_VARCHAR_LENGTH) {