This is an automated email from the ASF dual-hosted git repository. morrysnow pushed a commit to branch runtimefilter_multi_send in repository https://gitbox.apache.org/repos/asf/doris.git
commit de384542228ffba8c750c12fdffcabd39583ae0e Author: Jerry Hu <[email protected]> AuthorDate: Fri Jun 30 16:15:56 2023 +0800 [fix] conjuncts not initialized (#21376) --- be/src/pipeline/exec/multi_cast_data_stream_source.cpp | 16 +++++----------- be/src/pipeline/exec/multi_cast_data_stream_source.h | 2 -- 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/be/src/pipeline/exec/multi_cast_data_stream_source.cpp b/be/src/pipeline/exec/multi_cast_data_stream_source.cpp index 18ca62ea15..3ef7100063 100644 --- a/be/src/pipeline/exec/multi_cast_data_stream_source.cpp +++ b/be/src/pipeline/exec/multi_cast_data_stream_source.cpp @@ -53,26 +53,20 @@ MultiCastDataStreamerSourceOperator::MultiCastDataStreamerSourceOperator( _multi_cast_data_streamer(data_streamer), _t_data_stream_sink(sink) {} -Status MultiCastDataStreamerSourceOperator::init(const TDataSink& tsink) { - RETURN_IF_ERROR(OperatorBase::init(tsink)); +Status MultiCastDataStreamerSourceOperator::prepare(doris::RuntimeState* state) { + RETURN_IF_ERROR(vectorized::RuntimeFilterConsumer::init(state)); + _register_runtime_filter(); if (_t_data_stream_sink.__isset.output_exprs) { RETURN_IF_ERROR(vectorized::VExpr::create_expr_trees(_t_data_stream_sink.output_exprs, _output_expr_contexts)); + RETURN_IF_ERROR(vectorized::VExpr::prepare(_output_expr_contexts, state, row_desc())); } if (_t_data_stream_sink.__isset.conjuncts) { RETURN_IF_ERROR( vectorized::VExpr::create_expr_trees(_t_data_stream_sink.conjuncts, _conjuncts)); + RETURN_IF_ERROR(vectorized::VExpr::prepare(_conjuncts, state, row_desc())); } - - return Status::OK(); -} - -Status MultiCastDataStreamerSourceOperator::prepare(doris::RuntimeState* state) { - RETURN_IF_ERROR(vectorized::RuntimeFilterConsumer::init(state)); - _register_runtime_filter(); - RETURN_IF_ERROR(vectorized::VExpr::prepare(_conjuncts, state, row_desc())); - RETURN_IF_ERROR(vectorized::VExpr::prepare(_output_expr_contexts, state, row_desc())); return Status::OK(); } diff --git a/be/src/pipeline/exec/multi_cast_data_stream_source.h b/be/src/pipeline/exec/multi_cast_data_stream_source.h index b2c7ca9e55..8c9cb99f82 100644 --- a/be/src/pipeline/exec/multi_cast_data_stream_source.h +++ b/be/src/pipeline/exec/multi_cast_data_stream_source.h @@ -64,8 +64,6 @@ public: Status get_block(RuntimeState* state, vectorized::Block* block, SourceState& source_state) override; - Status init(const TDataSink& tsink) override; - Status prepare(RuntimeState* state) override; Status open(RuntimeState* state) override; --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
