[Bug][Function] Fix pad function wrong result when len.val==str_char_size (#6564)

like #6563 and #6562
This commit is contained in:
Pxl
2021-09-07 11:55:49 +08:00
committed by GitHub
parent bf6d043a7e
commit 577ff01094
2 changed files with 6 additions and 2 deletions

View File

@ -217,7 +217,7 @@ StringVal StringFunctions::lpad(FunctionContext* context, const StringVal& str,
return StringVal::null();
}
if (len.val == str_index.size()) {
return StringVal(str.ptr, len.val);
return StringVal(str.ptr, str.len);
}
return StringVal(str.ptr, str_index[len.val]);
}
@ -268,7 +268,7 @@ StringVal StringFunctions::rpad(FunctionContext* context, const StringVal& str,
return StringVal::null();
}
if (len.val == str_index.size()) {
return StringVal(str.ptr, len.val);
return StringVal(str.ptr, str.len);
}
return StringVal(str.ptr, str_index[len.val]);
}