From 17286861ef6e4f7e8f694f0211b4c4b1d9be92bd Mon Sep 17 00:00:00 2001 From: Jibing-Li <64681310+Jibing-Li@users.noreply.github.com> Date: Tue, 3 Jan 2023 09:22:17 +0800 Subject: [PATCH] [Fix](multi catalog)Skip non-vectorized init code for NewFileScanNode. #15550 --- be/src/exec/exec_node.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/be/src/exec/exec_node.cpp b/be/src/exec/exec_node.cpp index 1fa98ef2b3..825418f643 100644 --- a/be/src/exec/exec_node.cpp +++ b/be/src/exec/exec_node.cpp @@ -123,7 +123,8 @@ Status ExecNode::init(const TPlanNode& tnode, RuntimeState* state) { RETURN_IF_ERROR(doris::vectorized::VExpr::create_expr_tree(_pool, tnode.vconjunct, _vconjunct_ctx_ptr.get())); } - if (typeid(*this) != typeid(doris::vectorized::NewOlapScanNode)) { + if (typeid(*this) != typeid(doris::vectorized::NewOlapScanNode) && + typeid(*this) != typeid(doris::vectorized::NewFileScanNode)) { RETURN_IF_ERROR(Expr::create_expr_trees(_pool, tnode.conjuncts, &_conjunct_ctxs)); } @@ -166,7 +167,8 @@ Status ExecNode::prepare(RuntimeState* state) { // For vectorized olap scan node, the conjuncts is prepared in _vconjunct_ctx_ptr. // And _conjunct_ctxs is useless. // TODO: Should be removed when non-vec engine is removed. - if (typeid(*this) != typeid(doris::vectorized::NewOlapScanNode)) { + if (typeid(*this) != typeid(doris::vectorized::NewOlapScanNode) && + typeid(*this) != typeid(doris::vectorized::NewFileScanNode)) { RETURN_IF_ERROR(Expr::prepare(_conjunct_ctxs, state, _row_descriptor)); } RETURN_IF_ERROR(vectorized::VExpr::prepare(_projections, state, intermediate_row_desc())); @@ -184,7 +186,8 @@ Status ExecNode::alloc_resource(doris::RuntimeState* state) { RETURN_IF_ERROR((*_vconjunct_ctx_ptr)->open(state)); } RETURN_IF_ERROR(vectorized::VExpr::open(_projections, state)); - if (typeid(*this) != typeid(doris::vectorized::NewOlapScanNode)) { + if (typeid(*this) != typeid(doris::vectorized::NewOlapScanNode) && + typeid(*this) != typeid(doris::vectorized::NewFileScanNode)) { return Expr::open(_conjunct_ctxs, state); } else { return Status::OK(); @@ -220,7 +223,8 @@ void ExecNode::release_resource(doris::RuntimeState* state) { if (_vconjunct_ctx_ptr) { (*_vconjunct_ctx_ptr)->close(state); } - if (typeid(*this) != typeid(doris::vectorized::NewOlapScanNode)) { + if (typeid(*this) != typeid(doris::vectorized::NewOlapScanNode) && + typeid(*this) != typeid(doris::vectorized::NewFileScanNode)) { Expr::close(_conjunct_ctxs, state); } vectorized::VExpr::close(_projections, state);