This is an automated email from the ASF dual-hosted git repository. morningman pushed a commit to branch new_scan_node in repository https://gitbox.apache.org/repos/asf/doris.git
commit c5df9eb70a8c819081b8642a3b0de0bd354f2742 Author: morningman <morning...@apache.org> AuthorDate: Thu Aug 4 15:52:30 2022 +0800 [feature-wip](new-scan) add framework --- be/src/vec/CMakeLists.txt | 4 +++- be/src/vec/exec/scan/vscan_node.cpp | 20 ++++---------------- be/src/vec/exec/scan/vscan_node.h | 3 +-- 3 files changed, 8 insertions(+), 19 deletions(-) diff --git a/be/src/vec/CMakeLists.txt b/be/src/vec/CMakeLists.txt index 56fdb70a4b..dfc1e79515 100644 --- a/be/src/vec/CMakeLists.txt +++ b/be/src/vec/CMakeLists.txt @@ -229,7 +229,9 @@ set(VEC_FILES exec/format/parquet/vparquet_file_metadata.cpp exec/format/parquet/vparquet_page_reader.cpp exec/format/parquet/schema_desc.cpp - exec/format/parquet/vparquet_column_reader.cpp) + exec/format/parquet/vparquet_column_reader.cpp + exec/scan/vscan_node.cpp + ) add_library(Vec STATIC ${VEC_FILES} diff --git a/be/src/vec/exec/scan/vscan_node.cpp b/be/src/vec/exec/scan/vscan_node.cpp index 44a8470e2b..686aadfd92 100644 --- a/be/src/vec/exec/scan/vscan_node.cpp +++ b/be/src/vec/exec/scan/vscan_node.cpp @@ -18,6 +18,8 @@ #include "vec/exec/scan/vscan_node.h" #include "vec/exec/scan/vscanner.h" +#include "runtime/runtime_filter_mgr.h" + namespace doris::vectorized { Status VScanNode::init(const TPlanNode &tnode, RuntimeState *state) { @@ -49,8 +51,6 @@ Status VScanNode::prepare(RuntimeState* state) { SCOPED_CONSUME_MEM_TRACKER(mem_tracker()); RETURN_IF_ERROR(_init_profile()); - _tuple_desc = state->desc_tbl().get_tuple_descriptor(_tuple_id); - DCHECK(_tuple_desc != nullptr); // init profile for runtime filter for (size_t i = 0; i < _runtime_filter_descs.size(); ++i) { @@ -127,13 +127,13 @@ Status VScanNode::_acquire_runtime_filter() { std::list<ExprContext*> expr_context; RETURN_IF_ERROR(runtime_filter->get_push_expr_ctxs(&expr_context)); _runtime_filter_ctxs[i].apply_mark = true; - _runtime_filter_ctxs[i].runtimefilter = runtime_filter; + _runtime_filter_ctxs[i].runtime_filter = runtime_filter; for (auto ctx : expr_context) { ctx->prepare(_runtime_state, row_desc()); ctx->open(_runtime_state); int index = _conjunct_ctxs.size(); _conjunct_ctxs.push_back(ctx); - _conjunctid_to_runtime_filter_ctxs[index] = &_runtime_filter_ctxs[i]; + _conjunct_id_to_runtime_filter_ctxs[index] = &_runtime_filter_ctxs[i]; } } } @@ -141,16 +141,4 @@ Status VScanNode::_acquire_runtime_filter() { return Status::OK(); } -Status VScanNode::_process_conjuncts() { - return Status::OK(); -} - -Status VScanNode::_init_scanners() { - return Status::OK(); -} - -Status VScanNode::_start_scanners() { - return Status::OK(); -} - } diff --git a/be/src/vec/exec/scan/vscan_node.h b/be/src/vec/exec/scan/vscan_node.h index 38f62d9840..76b15a908a 100644 --- a/be/src/vec/exec/scan/vscan_node.h +++ b/be/src/vec/exec/scan/vscan_node.h @@ -77,7 +77,7 @@ protected: // Different data sources can implement this method to determine whether a predicate // can be processed by the data source virtual PushdownType _is_conjuncts_acceptable(ExprContext *ctx) { - return PushdownType::REJECT + return PushdownType::REJECT; } protected: @@ -104,7 +104,6 @@ protected: std::vector<std::unique_ptr<std::mutex>> _rf_locks; std::map<int, RuntimeFilterContext *> _conjunct_id_to_runtime_filter_ctxs; - const TupleDescriptor *_tuple_desc; RuntimeState *_runtime_state; std::list<VScanner *> _scanners; --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org