This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 5a700223fe [fix](function) fix coredump cause by return type mismatch
of vectorized repeat function (#13868)
5a700223fe is described below
commit 5a700223fedbf7651a0537cdab20201a1d68ced3
Author: TengJianPing <[email protected]>
AuthorDate: Thu Nov 3 09:53:02 2022 +0800
[fix](function) fix coredump cause by return type mismatch of vectorized
repeat function (#13868)
Will not support repeat function during upgrade in vectorized engine.
---
be/src/vec/exprs/vectorized_fn_call.cpp | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/be/src/vec/exprs/vectorized_fn_call.cpp
b/be/src/vec/exprs/vectorized_fn_call.cpp
index f92ec8bc3a..1bf05ce00e 100644
--- a/be/src/vec/exprs/vectorized_fn_call.cpp
+++ b/be/src/vec/exprs/vectorized_fn_call.cpp
@@ -37,6 +37,15 @@ VectorizedFnCall::VectorizedFnCall(const doris::TExprNode&
node) : VExpr(node) {
doris::Status VectorizedFnCall::prepare(doris::RuntimeState* state,
const doris::RowDescriptor& desc,
VExprContext* context) {
+ // In 1.2-lts, repeat function return type is changed to always nullable,
+ // which is not compatible with 1.1-lts
+ if ("repeat" == _fn.name.function_name and !_data_type->is_nullable()) {
+ const auto error_msg =
+ "In progress of upgrading from 1.1-lts to 1.2-lts, vectorized
repeat "
+ "function cannot be executed, you can switch to non-vectorized
engine by "
+ "'set global enable_vectorized_engine = false'";
+ return Status::InternalError(error_msg);
+ }
RETURN_IF_ERROR_OR_PREPARED(VExpr::prepare(state, desc, context));
ColumnsWithTypeAndName argument_template;
argument_template.reserve(_children.size());
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]