[Bug](function) fix substr return null on row-based engine #12906

This commit is contained in:
Pxl
2022-09-27 08:47:32 +08:00
committed by GitHub
parent 5790d23624
commit 12d6efa92b

View File

@ -50,10 +50,10 @@ size_t get_char_len(const StringVal& str, std::vector<size_t>* str_index) {
// - [optional] len. No len indicates longest substr possible
StringVal StringFunctions::substring(FunctionContext* context, const StringVal& str,
const IntVal& pos, const IntVal& len) {
if (str.is_null || pos.is_null || len.is_null || pos.val > str.len) {
if (str.is_null || pos.is_null || len.is_null) {
return StringVal::null();
}
if (len.val <= 0 || str.len == 0 || pos.val == 0) {
if (len.val <= 0 || str.len == 0 || pos.val == 0 || pos.val > str.len) {
return StringVal();
}