[Bug](function) fix substr return null on row-based engine #12906
This commit is contained in:
@ -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();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user