Fix regexp_replace core caused by incorrect template parameter passing
This commit is contained in:
@ -525,7 +525,7 @@ int ObExprRegexpReplace::vector_regexp_replace(VECTOR_EVAL_FUNC_ARG_DECL) {
|
|||||||
res_vec->set_null(i);
|
res_vec->set_null(i);
|
||||||
} else {
|
} else {
|
||||||
// if text is lob type, res_replace only get locator
|
// if text is lob type, res_replace only get locator
|
||||||
ret = vector_regexp_replace_convert<StrDiscVec, StrDiscVec>(
|
ret = vector_regexp_replace_convert<TextVec, ResVec>(
|
||||||
VECTOR_EVAL_FUNC_ARG_LIST, text_vec->get_string(i), true,
|
VECTOR_EVAL_FUNC_ARG_LIST, text_vec->get_string(i), true,
|
||||||
expr.args_[0]->datum_meta_.cs_type_, out_alloc, tmp_alloc, i);
|
expr.args_[0]->datum_meta_.cs_type_, out_alloc, tmp_alloc, i);
|
||||||
}
|
}
|
||||||
@ -618,7 +618,7 @@ int ObExprRegexpReplace::vector_regexp_replace(VECTOR_EVAL_FUNC_ARG_DECL) {
|
|||||||
res_vec->set_null(i);
|
res_vec->set_null(i);
|
||||||
} else {
|
} else {
|
||||||
// if text is lob type, res_replace only get locator;
|
// if text is lob type, res_replace only get locator;
|
||||||
ret = vector_regexp_replace_convert<StrDiscVec, StrDiscVec>(
|
ret = vector_regexp_replace_convert<TextVec, ResVec>(
|
||||||
VECTOR_EVAL_FUNC_ARG_LIST, text_vec->get_string(i), true,
|
VECTOR_EVAL_FUNC_ARG_LIST, text_vec->get_string(i), true,
|
||||||
expr.args_[0]->datum_meta_.cs_type_, out_alloc, tmp_alloc, i);
|
expr.args_[0]->datum_meta_.cs_type_, out_alloc, tmp_alloc, i);
|
||||||
}
|
}
|
||||||
@ -661,7 +661,7 @@ int ObExprRegexpReplace::vector_regexp_replace(VECTOR_EVAL_FUNC_ARG_DECL) {
|
|||||||
} else if (res_replace.empty() && lib::is_oracle_mode()) {
|
} else if (res_replace.empty() && lib::is_oracle_mode()) {
|
||||||
res_vec->set_null(i);
|
res_vec->set_null(i);
|
||||||
} else {
|
} else {
|
||||||
ret = vector_regexp_replace_convert<StrDiscVec, StrDiscVec>(VECTOR_EVAL_FUNC_ARG_LIST,
|
ret = vector_regexp_replace_convert<TextVec, ResVec>(VECTOR_EVAL_FUNC_ARG_LIST,
|
||||||
res_replace, is_no_pattern_to_replace, res_coll_type, out_alloc, tmp_alloc, i);
|
res_replace, is_no_pattern_to_replace, res_coll_type, out_alloc, tmp_alloc, i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user