be/src/exec/operator/scan_operator.cpp
Line | Count | Source |
1 | | // Licensed to the Apache Software Foundation (ASF) under one |
2 | | // or more contributor license agreements. See the NOTICE file |
3 | | // distributed with this work for additional information |
4 | | // regarding copyright ownership. The ASF licenses this file |
5 | | // to you under the Apache License, Version 2.0 (the |
6 | | // "License"); you may not use this file except in compliance |
7 | | // with the License. You may obtain a copy of the License at |
8 | | // |
9 | | // http://www.apache.org/licenses/LICENSE-2.0 |
10 | | // |
11 | | // Unless required by applicable law or agreed to in writing, |
12 | | // software distributed under the License is distributed on an |
13 | | // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
14 | | // KIND, either express or implied. See the License for the |
15 | | // specific language governing permissions and limitations |
16 | | // under the License. |
17 | | |
18 | | #include "exec/operator/scan_operator.h" |
19 | | |
20 | | #include <fmt/format.h> |
21 | | #include <gen_cpp/Exprs_types.h> |
22 | | #include <gen_cpp/Metrics_types.h> |
23 | | |
24 | | #include <cstdint> |
25 | | #include <memory> |
26 | | |
27 | | #include "common/global_types.h" |
28 | | #include "core/data_type/data_type.h" |
29 | | #include "core/data_type/data_type_array.h" |
30 | | #include "exec/operator/es_scan_operator.h" |
31 | | #include "exec/operator/file_scan_operator.h" |
32 | | #include "exec/operator/group_commit_scan_operator.h" |
33 | | #include "exec/operator/jdbc_scan_operator.h" |
34 | | #include "exec/operator/meta_scan_operator.h" |
35 | | #include "exec/operator/mock_scan_operator.h" |
36 | | #include "exec/operator/olap_scan_operator.h" |
37 | | #include "exec/operator/operator.h" |
38 | | #include "exec/runtime_filter/runtime_filter_consumer_helper.h" |
39 | | #include "exec/scan/scanner_context.h" |
40 | | #include "exprs/function/in.h" |
41 | | #include "exprs/vcast_expr.h" |
42 | | #include "exprs/vectorized_fn_call.h" |
43 | | #include "exprs/vexpr.h" |
44 | | #include "exprs/vexpr_context.h" |
45 | | #include "exprs/vexpr_fwd.h" |
46 | | #include "exprs/vin_predicate.h" |
47 | | #include "exprs/virtual_slot_ref.h" |
48 | | #include "exprs/vruntimefilter_wrapper.h" |
49 | | #include "exprs/vslot_ref.h" |
50 | | #include "exprs/vtopn_pred.h" |
51 | | #include "runtime/descriptors.h" |
52 | | #include "runtime/runtime_profile.h" |
53 | | #include "storage/predicate/null_predicate.h" |
54 | | #include "storage/predicate/predicate_creator.h" |
55 | | |
56 | | namespace doris { |
57 | | |
58 | | #include "common/compile_check_begin.h" |
59 | | |
60 | | #define RETURN_IF_PUSH_DOWN(stmt, status) \ |
61 | 99 | if (pdt == PushDownType::UNACCEPTABLE) { \ |
62 | 99 | status = stmt; \ |
63 | 99 | if (!status.ok()) { \ |
64 | 0 | return; \ |
65 | 0 | } \ |
66 | 99 | } else { \ |
67 | 0 | return; \ |
68 | 0 | } |
69 | | |
70 | | template <typename Derived> |
71 | 20 | bool ScanLocalState<Derived>::should_run_serial() const { |
72 | 20 | return _parent->cast<typename Derived::Parent>()._should_run_serial; |
73 | 20 | } _ZNK5doris14ScanLocalStateINS_18OlapScanLocalStateEE17should_run_serialEv Line | Count | Source | 71 | 18 | bool ScanLocalState<Derived>::should_run_serial() const { | 72 | 18 | return _parent->cast<typename Derived::Parent>()._should_run_serial; | 73 | 18 | } |
Unexecuted instantiation: _ZNK5doris14ScanLocalStateINS_18JDBCScanLocalStateEE17should_run_serialEv _ZNK5doris14ScanLocalStateINS_18FileScanLocalStateEE17should_run_serialEv Line | Count | Source | 71 | 2 | bool ScanLocalState<Derived>::should_run_serial() const { | 72 | 2 | return _parent->cast<typename Derived::Parent>()._should_run_serial; | 73 | 2 | } |
Unexecuted instantiation: _ZNK5doris14ScanLocalStateINS_16EsScanLocalStateEE17should_run_serialEv Unexecuted instantiation: _ZNK5doris14ScanLocalStateINS_18MetaScanLocalStateEE17should_run_serialEv Unexecuted instantiation: _ZNK5doris14ScanLocalStateINS_21GroupCommitLocalStateEE17should_run_serialEv Unexecuted instantiation: _ZNK5doris14ScanLocalStateINS_18MockScanLocalStateEE17should_run_serialEv |
74 | | |
75 | | Status ScanLocalStateBase::update_late_arrival_runtime_filter(RuntimeState* state, |
76 | 0 | int& arrived_rf_num) { |
77 | | // Lock needed because _conjuncts can be accessed concurrently by multiple scanner threads |
78 | 0 | std::unique_lock lock(_conjuncts_lock); |
79 | 0 | RETURN_IF_ERROR(_helper.try_append_late_arrival_runtime_filter(state, _parent->row_descriptor(), |
80 | 0 | arrived_rf_num, _conjuncts)); |
81 | 0 | if (state->enable_adjust_conjunct_order_by_cost()) { |
82 | 0 | std::ranges::sort(_conjuncts, [](const auto& a, const auto& b) { |
83 | 0 | return a->execute_cost() < b->execute_cost(); |
84 | 0 | }); |
85 | 0 | }; |
86 | 0 | return Status::OK(); |
87 | 0 | } |
88 | | |
89 | 0 | Status ScanLocalStateBase::clone_conjunct_ctxs(VExprContextSPtrs& scanner_conjuncts) { |
90 | | // Lock needed because _conjuncts can be accessed concurrently by multiple scanner threads |
91 | 0 | std::unique_lock lock(_conjuncts_lock); |
92 | 0 | scanner_conjuncts.resize(_conjuncts.size()); |
93 | 0 | for (size_t i = 0; i != _conjuncts.size(); ++i) { |
94 | 0 | RETURN_IF_ERROR(_conjuncts[i]->clone(_state, scanner_conjuncts[i])); |
95 | 0 | } |
96 | 0 | return Status::OK(); |
97 | 0 | } |
98 | | |
99 | 0 | int ScanLocalStateBase::max_scanners_concurrency(RuntimeState* state) const { |
100 | | // For select * from table limit 10; should just use one thread. |
101 | 0 | if (should_run_serial()) { |
102 | 0 | return 1; |
103 | 0 | } |
104 | | /* |
105 | | * The max concurrency of scanners for each ScanLocalStateBase is determined by: |
106 | | * 1. User specified max_scanners_concurrency which is set through session variable. |
107 | | * 2. Default: 4 |
108 | | * |
109 | | * If this is a serial operator, the max concurrency should multiply by the number of parallel instances of the operator. |
110 | | */ |
111 | 0 | return (state->max_scanners_concurrency() > 0 ? state->max_scanners_concurrency() : 4) * |
112 | 0 | (state->query_parallel_instance_num() / _parent->parallelism(state)); |
113 | 0 | } |
114 | | |
115 | 18 | int ScanLocalStateBase::min_scanners_concurrency(RuntimeState* state) const { |
116 | 18 | if (should_run_serial()) { |
117 | 0 | return 1; |
118 | 0 | } |
119 | | /* |
120 | | * The min concurrency of scanners for each ScanLocalStateBase is determined by: |
121 | | * 1. User specified min_scanners_concurrency which is set through session variable. |
122 | | * 2. Default: 1 |
123 | | * |
124 | | * If this is a serial operator, the max concurrency should multiply by the number of parallel instances of the operator. |
125 | | */ |
126 | 18 | return (state->min_scanners_concurrency() > 0 ? state->min_scanners_concurrency() : 1) * |
127 | 18 | (state->query_parallel_instance_num() / _parent->parallelism(state)); |
128 | 18 | } |
129 | | |
130 | 0 | ScannerScheduler* ScanLocalStateBase::scan_scheduler(RuntimeState* state) const { |
131 | 0 | return state->get_query_ctx()->get_scan_scheduler(); |
132 | 0 | } |
133 | | |
134 | | template <typename Derived> |
135 | 2 | Status ScanLocalState<Derived>::init(RuntimeState* state, LocalStateInfo& info) { |
136 | 2 | RETURN_IF_ERROR(PipelineXLocalState<>::init(state, info)); |
137 | 2 | _scan_dependency = Dependency::create_shared(_parent->operator_id(), _parent->node_id(), |
138 | 2 | _parent->get_name() + "_DEPENDENCY"); |
139 | 2 | _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL( |
140 | 2 | common_profile(), "WaitForDependency[" + _scan_dependency->name() + "]Time", 1); |
141 | 2 | SCOPED_TIMER(exec_time_counter()); |
142 | 2 | SCOPED_TIMER(_init_timer); |
143 | 2 | auto& p = _parent->cast<typename Derived::Parent>(); |
144 | 2 | _max_pushdown_conditions_per_column = p._max_pushdown_conditions_per_column; |
145 | 2 | RETURN_IF_ERROR(_helper.init(state, p.is_serial_operator(), p.node_id(), p.operator_id(), |
146 | 2 | _filter_dependencies, p.get_name() + "_FILTER_DEPENDENCY")); |
147 | 2 | RETURN_IF_ERROR(_init_profile()); |
148 | 2 | set_scan_ranges(state, info.scan_ranges); |
149 | | |
150 | 2 | _wait_for_rf_timer = ADD_TIMER(common_profile(), "WaitForRuntimeFilter"); |
151 | 2 | _instance_idx = info.task_idx; |
152 | 2 | return Status::OK(); |
153 | 2 | } Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE4initEPNS_12RuntimeStateERNS_14LocalStateInfoE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE4initEPNS_12RuntimeStateERNS_14LocalStateInfoE _ZN5doris14ScanLocalStateINS_18FileScanLocalStateEE4initEPNS_12RuntimeStateERNS_14LocalStateInfoE Line | Count | Source | 135 | 2 | Status ScanLocalState<Derived>::init(RuntimeState* state, LocalStateInfo& info) { | 136 | 2 | RETURN_IF_ERROR(PipelineXLocalState<>::init(state, info)); | 137 | 2 | _scan_dependency = Dependency::create_shared(_parent->operator_id(), _parent->node_id(), | 138 | 2 | _parent->get_name() + "_DEPENDENCY"); | 139 | 2 | _wait_for_dependency_timer = ADD_TIMER_WITH_LEVEL( | 140 | 2 | common_profile(), "WaitForDependency[" + _scan_dependency->name() + "]Time", 1); | 141 | 2 | SCOPED_TIMER(exec_time_counter()); | 142 | 2 | SCOPED_TIMER(_init_timer); | 143 | 2 | auto& p = _parent->cast<typename Derived::Parent>(); | 144 | 2 | _max_pushdown_conditions_per_column = p._max_pushdown_conditions_per_column; | 145 | 2 | RETURN_IF_ERROR(_helper.init(state, p.is_serial_operator(), p.node_id(), p.operator_id(), | 146 | 2 | _filter_dependencies, p.get_name() + "_FILTER_DEPENDENCY")); | 147 | 2 | RETURN_IF_ERROR(_init_profile()); | 148 | 2 | set_scan_ranges(state, info.scan_ranges); | 149 | | | 150 | 2 | _wait_for_rf_timer = ADD_TIMER(common_profile(), "WaitForRuntimeFilter"); | 151 | 2 | _instance_idx = info.task_idx; | 152 | 2 | return Status::OK(); | 153 | 2 | } |
Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_16EsScanLocalStateEE4initEPNS_12RuntimeStateERNS_14LocalStateInfoE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE4initEPNS_12RuntimeStateERNS_14LocalStateInfoE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE4initEPNS_12RuntimeStateERNS_14LocalStateInfoE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18MockScanLocalStateEE4initEPNS_12RuntimeStateERNS_14LocalStateInfoE |
154 | | |
155 | | template <typename Derived> |
156 | 0 | Status ScanLocalState<Derived>::open(RuntimeState* state) { |
157 | 0 | SCOPED_TIMER(exec_time_counter()); |
158 | 0 | SCOPED_TIMER(_open_timer); |
159 | 0 | if (_opened) { |
160 | 0 | return Status::OK(); |
161 | 0 | } |
162 | 0 | RETURN_IF_ERROR(PipelineXLocalState<>::open(state)); |
163 | 0 | auto& p = _parent->cast<typename Derived::Parent>(); |
164 | | |
165 | | // init id_file_map() for runtime state |
166 | 0 | std::vector<SlotDescriptor*> slots = p._output_tuple_desc->slots(); |
167 | 0 | for (auto slot : slots) { |
168 | 0 | if (slot->col_name().starts_with(BeConsts::GLOBAL_ROWID_COL)) { |
169 | 0 | state->set_id_file_map(); |
170 | 0 | } |
171 | 0 | } |
172 | |
|
173 | 0 | _common_expr_ctxs_push_down.resize(p._common_expr_ctxs_push_down.size()); |
174 | 0 | for (size_t i = 0; i < _common_expr_ctxs_push_down.size(); i++) { |
175 | 0 | RETURN_IF_ERROR( |
176 | 0 | p._common_expr_ctxs_push_down[i]->clone(state, _common_expr_ctxs_push_down[i])); |
177 | 0 | } |
178 | 0 | RETURN_IF_ERROR(_helper.acquire_runtime_filter(state, _conjuncts, p.row_descriptor())); |
179 | | |
180 | | // Disable condition cache in topn filter valid. TODO:: Try to support the topn filter in condition cache |
181 | 0 | if (state->query_options().condition_cache_digest && p._topn_filter_source_node_ids.empty()) { |
182 | 0 | _condition_cache_digest = state->query_options().condition_cache_digest; |
183 | 0 | for (auto& conjunct : _conjuncts) { |
184 | 0 | _condition_cache_digest = conjunct->get_digest(_condition_cache_digest); |
185 | 0 | if (!_condition_cache_digest) { |
186 | 0 | break; |
187 | 0 | } |
188 | 0 | } |
189 | 0 | } else { |
190 | 0 | _condition_cache_digest = 0; |
191 | 0 | } |
192 | |
|
193 | 0 | RETURN_IF_ERROR(_process_conjuncts(state)); |
194 | | |
195 | 0 | auto status = _eos ? Status::OK() : _prepare_scanners(); |
196 | 0 | RETURN_IF_ERROR(status); |
197 | 0 | if (auto ctx = _scanner_ctx.load()) { |
198 | 0 | DCHECK(!_eos && _num_scanners->value() > 0); |
199 | 0 | RETURN_IF_ERROR(ctx->init()); |
200 | 0 | } |
201 | 0 | _opened = true; |
202 | 0 | return status; |
203 | 0 | } Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE4openEPNS_12RuntimeStateE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE4openEPNS_12RuntimeStateE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18FileScanLocalStateEE4openEPNS_12RuntimeStateE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_16EsScanLocalStateEE4openEPNS_12RuntimeStateE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE4openEPNS_12RuntimeStateE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE4openEPNS_12RuntimeStateE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18MockScanLocalStateEE4openEPNS_12RuntimeStateE |
204 | | |
205 | | static std::string predicates_to_string( |
206 | | const phmap::flat_hash_map<int, std::vector<std::shared_ptr<ColumnPredicate>>>& |
207 | 0 | slot_id_to_predicates) { |
208 | 0 | fmt::memory_buffer debug_string_buffer; |
209 | 0 | for (const auto& [slot_id, predicates] : slot_id_to_predicates) { |
210 | 0 | if (predicates.empty()) { |
211 | 0 | continue; |
212 | 0 | } |
213 | 0 | fmt::format_to(debug_string_buffer, "Slot ID: {}: [", slot_id); |
214 | 0 | for (const auto& predicate : predicates) { |
215 | 0 | fmt::format_to(debug_string_buffer, "{{{}}}, ", predicate->debug_string()); |
216 | 0 | } |
217 | 0 | fmt::format_to(debug_string_buffer, "] "); |
218 | 0 | } |
219 | 0 | return fmt::to_string(debug_string_buffer); |
220 | 0 | } |
221 | | |
222 | | static void init_slot_value_range( |
223 | | phmap::flat_hash_map<int, ColumnValueRangeType>& slot_id_to_value_range, |
224 | 0 | SlotDescriptor* slot, const DataTypePtr type_desc) { |
225 | 0 | switch (type_desc->get_primitive_type()) { |
226 | 0 | #define M(NAME) \ |
227 | 0 | case TYPE_##NAME: { \ |
228 | 0 | ColumnValueRange<TYPE_##NAME> range(slot->col_name(), slot->is_nullable(), \ |
229 | 0 | cast_set<int>(type_desc->get_precision()), \ |
230 | 0 | cast_set<int>(type_desc->get_scale())); \ |
231 | 0 | slot_id_to_value_range[slot->id()] = std::move(range); \ |
232 | 0 | break; \ |
233 | 0 | } |
234 | 0 | #define APPLY_FOR_SCALAR_TYPE(M) \ |
235 | 0 | M(TINYINT) \ |
236 | 0 | M(SMALLINT) \ |
237 | 0 | M(INT) \ |
238 | 0 | M(BIGINT) \ |
239 | 0 | M(LARGEINT) \ |
240 | 0 | M(FLOAT) \ |
241 | 0 | M(DOUBLE) \ |
242 | 0 | M(CHAR) \ |
243 | 0 | M(DATE) \ |
244 | 0 | M(DATETIME) \ |
245 | 0 | M(DATEV2) \ |
246 | 0 | M(DATETIMEV2) \ |
247 | 0 | M(TIMESTAMPTZ) \ |
248 | 0 | M(VARCHAR) \ |
249 | 0 | M(STRING) \ |
250 | 0 | M(HLL) \ |
251 | 0 | M(DECIMAL32) \ |
252 | 0 | M(DECIMAL64) \ |
253 | 0 | M(DECIMAL128I) \ |
254 | 0 | M(DECIMAL256) \ |
255 | 0 | M(DECIMALV2) \ |
256 | 0 | M(BOOLEAN) \ |
257 | 0 | M(IPV4) \ |
258 | 0 | M(IPV6) |
259 | 0 | APPLY_FOR_SCALAR_TYPE(M) |
260 | 0 | #undef M |
261 | 0 | default: { |
262 | 0 | break; |
263 | 0 | } |
264 | 0 | } |
265 | 0 | } |
266 | | |
267 | | template <typename Derived> |
268 | 0 | Status ScanLocalState<Derived>::_normalize_conjuncts(RuntimeState* state) { |
269 | 0 | auto& p = _parent->cast<typename Derived::Parent>(); |
270 | | // The conjuncts is always on output tuple, so use _output_tuple_desc; |
271 | 0 | std::vector<SlotDescriptor*> slots = p._output_tuple_desc->slots(); |
272 | |
|
273 | 0 | for (auto& slot : slots) { |
274 | 0 | init_slot_value_range(_slot_id_to_value_range, slot, slot->type()); |
275 | 0 | _slot_id_to_predicates.insert( |
276 | 0 | {slot->id(), std::vector<std::shared_ptr<ColumnPredicate>>()}); |
277 | 0 | } |
278 | |
|
279 | 0 | get_cast_types_for_variants(); |
280 | 0 | for (const auto& [colname, type] : _cast_types_for_variants) { |
281 | 0 | auto* slot = p._slot_id_to_slot_desc[p._colname_to_slot_id[colname]]; |
282 | 0 | init_slot_value_range(_slot_id_to_value_range, slot, type); |
283 | 0 | _slot_id_to_predicates.insert( |
284 | 0 | {slot->id(), std::vector<std::shared_ptr<ColumnPredicate>>()}); |
285 | 0 | } |
286 | |
|
287 | 0 | RETURN_IF_ERROR(_get_topn_filters(state)); |
288 | | |
289 | 0 | for (auto it = _conjuncts.begin(); it != _conjuncts.end();) { |
290 | 0 | auto& conjunct = *it; |
291 | 0 | if (conjunct->root()) { |
292 | 0 | VExprSPtr new_root; |
293 | 0 | RETURN_IF_ERROR(_normalize_predicate(conjunct.get(), conjunct->root(), new_root)); |
294 | 0 | if (new_root) { |
295 | 0 | conjunct->set_root(new_root); |
296 | 0 | if (_should_push_down_common_expr() && |
297 | 0 | VExpr::is_acting_on_a_slot(*(conjunct->root()))) { |
298 | 0 | _common_expr_ctxs_push_down.emplace_back(conjunct); |
299 | 0 | it = _conjuncts.erase(it); |
300 | 0 | continue; |
301 | 0 | } |
302 | 0 | } else { // All conjuncts are pushed down as predicate column |
303 | 0 | _stale_expr_ctxs.emplace_back( |
304 | 0 | conjunct); // avoid function context and constant str being freed |
305 | 0 | it = _conjuncts.erase(it); |
306 | 0 | continue; |
307 | 0 | } |
308 | 0 | } |
309 | 0 | ++it; |
310 | 0 | } |
311 | | |
312 | 0 | if (state->enable_profile()) { |
313 | 0 | custom_profile()->add_info_string("PushDownPredicates", |
314 | 0 | predicates_to_string(_slot_id_to_predicates)); |
315 | 0 | std::string message; |
316 | 0 | for (auto& conjunct : _conjuncts) { |
317 | 0 | if (conjunct->root()) { |
318 | 0 | if (!message.empty()) { |
319 | 0 | message += ", "; |
320 | 0 | } |
321 | 0 | message += conjunct->root()->debug_string(); |
322 | 0 | } |
323 | 0 | } |
324 | 0 | custom_profile()->add_info_string("RemainedPredicates", message); |
325 | 0 | } |
326 | |
|
327 | 0 | for (auto& it : _slot_id_to_value_range) { |
328 | 0 | std::visit( |
329 | 0 | [&](auto&& range) { |
330 | 0 | if (range.is_empty_value_range()) { |
331 | 0 | _eos = true; |
332 | 0 | _scan_dependency->set_ready(); |
333 | 0 | } |
334 | 0 | }, Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE3EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE4EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE5EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE6EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE7EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE8EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE9EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE36EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE37EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE15EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE10EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE23EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE11EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE25EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE12EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE26EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE42EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE20EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE2EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE19EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE28EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE29EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE30EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE35EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE3EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE4EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE5EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE6EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE7EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE8EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE9EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE36EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE37EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE15EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE10EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE23EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE11EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE25EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE12EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE26EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE42EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE20EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE2EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE19EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE28EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE29EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE30EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE35EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE3EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE4EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE5EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE6EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE7EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE8EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE9EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE36EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE37EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE15EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE10EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE23EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE11EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE25EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE12EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE26EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE42EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE20EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE2EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE19EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE28EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE29EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE30EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE35EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE3EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE4EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE5EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE6EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE7EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE8EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE9EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE36EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE37EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE15EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE10EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE23EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE11EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE25EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE12EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE26EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE42EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE20EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE2EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE19EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE28EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE29EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE30EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE35EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE3EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE4EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE5EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE6EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE7EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE8EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE9EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE36EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE37EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE15EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE10EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE23EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE11EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE25EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE12EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE26EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE42EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE20EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE2EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE19EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE28EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE29EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE30EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE35EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE3EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE4EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE5EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE6EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE7EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE8EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE9EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE36EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE37EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE15EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE10EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE23EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE11EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE25EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE12EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE26EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE42EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE20EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE2EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE19EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE28EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE29EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE30EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE35EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE3EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE4EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE5EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE6EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE7EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE8EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE9EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE36EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE37EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE15EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE10EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE23EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE11EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE25EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE12EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE26EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE42EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE20EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE2EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE19EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE28EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE29EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE30EEEEEDaS6_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateEENKUlOT_E_clIRNS_16ColumnValueRangeILNS_13PrimitiveTypeE35EEEEEDaS6_ |
335 | 0 | it.second); |
336 | 0 | } |
337 | |
|
338 | 0 | return Status::OK(); |
339 | 0 | } Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_conjunctsEPNS_12RuntimeStateE |
340 | | |
341 | | template <typename Derived> |
342 | | Status ScanLocalState<Derived>::_normalize_predicate(VExprContext* context, const VExprSPtr& root, |
343 | 105 | VExprSPtr& output_expr) { |
344 | 105 | auto expr_root = root->is_rf_wrapper() ? root->get_impl() : root; |
345 | 105 | PushDownType pdt = PushDownType::UNACCEPTABLE; |
346 | 105 | if (dynamic_cast<VirtualSlotRef*>(expr_root.get())) { |
347 | | // If the expr has virtual slot ref, we need to keep it in the tree. |
348 | 0 | output_expr = expr_root; |
349 | 0 | return Status::OK(); |
350 | 0 | } |
351 | | |
352 | 105 | SlotDescriptor* slot = nullptr; |
353 | 105 | ColumnValueRangeType* range = nullptr; |
354 | 105 | RETURN_IF_ERROR(_eval_const_conjuncts(context, &pdt)); |
355 | 105 | if (pdt == PushDownType::ACCEPTABLE) { |
356 | 2 | output_expr = nullptr; |
357 | 2 | return Status::OK(); |
358 | 2 | } |
359 | 103 | std::shared_ptr<VSlotRef> slotref; |
360 | 188 | for (const auto& child : expr_root->children()) { |
361 | 188 | if (VExpr::expr_without_cast(child)->node_type() != TExprNodeType::SLOT_REF) { |
362 | | // not a slot ref(column) |
363 | 87 | continue; |
364 | 87 | } |
365 | 101 | slotref = std::dynamic_pointer_cast<VSlotRef>(VExpr::expr_without_cast(child)); |
366 | 101 | } |
367 | 103 | if (_is_predicate_acting_on_slot(expr_root->children(), &slot, &range)) { |
368 | 99 | Status status = Status::OK(); |
369 | 99 | std::visit( |
370 | 99 | [&](auto& value_range) { |
371 | 99 | auto expr = root->is_rf_wrapper() ? root->get_impl() : root; |
372 | 99 | { |
373 | 99 | Defer attach_defer = [&]() { |
374 | 99 | if (pdt != PushDownType::UNACCEPTABLE && root->is_rf_wrapper()) { |
375 | 0 | auto* rf_expr = assert_cast<VRuntimeFilterWrapper*>(root.get()); |
376 | 0 | _slot_id_to_predicates[slot->id()].back()->attach_profile_counter( |
377 | 0 | rf_expr->filter_id(), |
378 | 0 | rf_expr->predicate_filtered_rows_counter(), |
379 | 0 | rf_expr->predicate_input_rows_counter(), |
380 | 0 | rf_expr->predicate_always_true_rows_counter(), |
381 | 0 | context->get_runtime_filter_selectivity()); |
382 | 0 | } |
383 | 99 | }; Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE3EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE4EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE5EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE6EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE7EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE8EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE9EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE36EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE37EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE15EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE10EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE23EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE11EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE25EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE12EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE26EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE42EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE20EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE2EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE19EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE28EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE29EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE30EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE35EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE3EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE4EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE5EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE6EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE7EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE8EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE9EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE36EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE37EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE15EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE10EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE23EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE11EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE25EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE12EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE26EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE42EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE20EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE2EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE19EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE28EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE29EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE30EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE35EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE3EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE4EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE5EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE6EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE7EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE8EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE9EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE36EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE37EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE15EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE10EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE23EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE11EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE25EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE12EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE26EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE42EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE20EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE2EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE19EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE28EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE29EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE30EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE35EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE3EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE4EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE5EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE6EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE7EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE8EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE9EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE36EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE37EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE15EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE10EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE23EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE11EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE25EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE12EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE26EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE42EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE20EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE2EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE19EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE28EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE29EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE30EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE35EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE3EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE4EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE5EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE6EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE7EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE8EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE9EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE36EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE37EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE15EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE10EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE23EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE11EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE25EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE12EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE26EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE42EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE20EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE2EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE19EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE28EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE29EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE30EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE35EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE3EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE4EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE5EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE6EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE7EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE8EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE9EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE36EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE37EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE15EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE10EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE23EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE11EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE25EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE12EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE26EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE42EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE20EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE2EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE19EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE28EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE29EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE30EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE35EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE3EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE4EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE5EEEEEDaSC_ENKUlvE_clEv _ZZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE6EEEEEDaSC_ENKUlvE_clEv Line | Count | Source | 373 | 15 | Defer attach_defer = [&]() { | 374 | 15 | if (pdt != PushDownType::UNACCEPTABLE && root->is_rf_wrapper()) { | 375 | 0 | auto* rf_expr = assert_cast<VRuntimeFilterWrapper*>(root.get()); | 376 | 0 | _slot_id_to_predicates[slot->id()].back()->attach_profile_counter( | 377 | 0 | rf_expr->filter_id(), | 378 | 0 | rf_expr->predicate_filtered_rows_counter(), | 379 | 0 | rf_expr->predicate_input_rows_counter(), | 380 | 0 | rf_expr->predicate_always_true_rows_counter(), | 381 | 0 | context->get_runtime_filter_selectivity()); | 382 | 0 | } | 383 | 15 | }; |
Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE7EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE8EEEEEDaSC_ENKUlvE_clEv _ZZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE9EEEEEDaSC_ENKUlvE_clEv Line | Count | Source | 373 | 63 | Defer attach_defer = [&]() { | 374 | 63 | if (pdt != PushDownType::UNACCEPTABLE && root->is_rf_wrapper()) { | 375 | 0 | auto* rf_expr = assert_cast<VRuntimeFilterWrapper*>(root.get()); | 376 | 0 | _slot_id_to_predicates[slot->id()].back()->attach_profile_counter( | 377 | 0 | rf_expr->filter_id(), | 378 | 0 | rf_expr->predicate_filtered_rows_counter(), | 379 | 0 | rf_expr->predicate_input_rows_counter(), | 380 | 0 | rf_expr->predicate_always_true_rows_counter(), | 381 | 0 | context->get_runtime_filter_selectivity()); | 382 | 0 | } | 383 | 63 | }; |
Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE36EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE37EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE15EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE10EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE23EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE11EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE25EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE12EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE26EEEEEDaSC_ENKUlvE_clEv _ZZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE42EEEEEDaSC_ENKUlvE_clEv Line | Count | Source | 373 | 21 | Defer attach_defer = [&]() { | 374 | 21 | if (pdt != PushDownType::UNACCEPTABLE && root->is_rf_wrapper()) { | 375 | 0 | auto* rf_expr = assert_cast<VRuntimeFilterWrapper*>(root.get()); | 376 | 0 | _slot_id_to_predicates[slot->id()].back()->attach_profile_counter( | 377 | 0 | rf_expr->filter_id(), | 378 | 0 | rf_expr->predicate_filtered_rows_counter(), | 379 | 0 | rf_expr->predicate_input_rows_counter(), | 380 | 0 | rf_expr->predicate_always_true_rows_counter(), | 381 | 0 | context->get_runtime_filter_selectivity()); | 382 | 0 | } | 383 | 21 | }; |
Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE20EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE2EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE19EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE28EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE29EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE30EEEEEDaSC_ENKUlvE_clEv Unexecuted instantiation: _ZZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE35EEEEEDaSC_ENKUlvE_clEv |
384 | 99 | switch (expr->node_type()) { |
385 | 10 | case TExprNodeType::IN_PRED: |
386 | 10 | RETURN_IF_PUSH_DOWN( |
387 | 10 | _normalize_in_predicate(context, expr, slot, |
388 | 10 | _slot_id_to_predicates[slot->id()], |
389 | 10 | value_range, &pdt), |
390 | 10 | status); |
391 | 10 | break; |
392 | 85 | case TExprNodeType::BINARY_PRED: |
393 | 85 | RETURN_IF_PUSH_DOWN( |
394 | 85 | _normalize_binary_predicate(context, expr, slot, |
395 | 85 | _slot_id_to_predicates[slot->id()], |
396 | 85 | value_range, &pdt), |
397 | 85 | status); |
398 | 85 | break; |
399 | 4 | case TExprNodeType::FUNCTION_CALL: |
400 | 4 | if (expr->is_topn_filter()) { |
401 | 0 | RETURN_IF_PUSH_DOWN( |
402 | 0 | _normalize_topn_filter(context, expr, slot, |
403 | 0 | _slot_id_to_predicates[slot->id()], |
404 | 0 | &pdt), |
405 | 0 | status); |
406 | 4 | } else { |
407 | 4 | RETURN_IF_PUSH_DOWN(_normalize_is_null_predicate( |
408 | 4 | context, expr, slot, |
409 | 4 | _slot_id_to_predicates[slot->id()], |
410 | 4 | value_range, &pdt), |
411 | 4 | status); |
412 | 4 | } |
413 | 4 | break; |
414 | 4 | case TExprNodeType::BITMAP_PRED: |
415 | 0 | RETURN_IF_PUSH_DOWN(_normalize_bitmap_filter( |
416 | 0 | context, root, slot, |
417 | 0 | _slot_id_to_predicates[slot->id()], &pdt), |
418 | 0 | status); |
419 | 0 | break; |
420 | 0 | case TExprNodeType::BLOOM_PRED: |
421 | 0 | RETURN_IF_PUSH_DOWN(_normalize_bloom_filter( |
422 | 0 | context, root, slot, |
423 | 0 | _slot_id_to_predicates[slot->id()], &pdt), |
424 | 0 | status); |
425 | 0 | break; |
426 | 0 | default: |
427 | 0 | break; |
428 | 99 | } |
429 | 99 | } |
430 | | // `node_type` of function filter is FUNCTION_CALL or COMPOUND_PRED |
431 | 99 | if (state()->enable_function_pushdown()) { |
432 | 0 | RETURN_IF_PUSH_DOWN(_normalize_function_filters(context, slot, &pdt), |
433 | 0 | status); |
434 | 0 | } |
435 | 99 | }, Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE3EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE4EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE5EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE6EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE7EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE8EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE9EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE36EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE37EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE15EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE10EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE23EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE11EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE25EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE12EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE26EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE42EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE20EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE2EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE19EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE28EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE29EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE30EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE35EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE3EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE4EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE5EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE6EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE7EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE8EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE9EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE36EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE37EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE15EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE10EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE23EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE11EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE25EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE12EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE26EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE42EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE20EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE2EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE19EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE28EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE29EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE30EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE35EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE3EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE4EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE5EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE6EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE7EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE8EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE9EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE36EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE37EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE15EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE10EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE23EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE11EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE25EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE12EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE26EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE42EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE20EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE2EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE19EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE28EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE29EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE30EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE35EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE3EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE4EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE5EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE6EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE7EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE8EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE9EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE36EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE37EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE15EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE10EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE23EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE11EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE25EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE12EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE26EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE42EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE20EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE2EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE19EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE28EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE29EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE30EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE35EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE3EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE4EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE5EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE6EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE7EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE8EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE9EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE36EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE37EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE15EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE10EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE23EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE11EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE25EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE12EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE26EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE42EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE20EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE2EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE19EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE28EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE29EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE30EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE35EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE3EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE4EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE5EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE6EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE7EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE8EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE9EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE36EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE37EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE15EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE10EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE23EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE11EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE25EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE12EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE26EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE42EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE20EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE2EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE19EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE28EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE29EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE30EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE35EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE3EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE4EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE5EEEEEDaSC_ _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE6EEEEEDaSC_ Line | Count | Source | 370 | 15 | [&](auto& value_range) { | 371 | 15 | auto expr = root->is_rf_wrapper() ? root->get_impl() : root; | 372 | 15 | { | 373 | 15 | Defer attach_defer = [&]() { | 374 | 15 | if (pdt != PushDownType::UNACCEPTABLE && root->is_rf_wrapper()) { | 375 | 15 | auto* rf_expr = assert_cast<VRuntimeFilterWrapper*>(root.get()); | 376 | 15 | _slot_id_to_predicates[slot->id()].back()->attach_profile_counter( | 377 | 15 | rf_expr->filter_id(), | 378 | 15 | rf_expr->predicate_filtered_rows_counter(), | 379 | 15 | rf_expr->predicate_input_rows_counter(), | 380 | 15 | rf_expr->predicate_always_true_rows_counter(), | 381 | 15 | context->get_runtime_filter_selectivity()); | 382 | 15 | } | 383 | 15 | }; | 384 | 15 | switch (expr->node_type()) { | 385 | 6 | case TExprNodeType::IN_PRED: | 386 | 6 | RETURN_IF_PUSH_DOWN( | 387 | 6 | _normalize_in_predicate(context, expr, slot, | 388 | 6 | _slot_id_to_predicates[slot->id()], | 389 | 6 | value_range, &pdt), | 390 | 6 | status); | 391 | 6 | break; | 392 | 7 | case TExprNodeType::BINARY_PRED: | 393 | 7 | RETURN_IF_PUSH_DOWN( | 394 | 7 | _normalize_binary_predicate(context, expr, slot, | 395 | 7 | _slot_id_to_predicates[slot->id()], | 396 | 7 | value_range, &pdt), | 397 | 7 | status); | 398 | 7 | break; | 399 | 2 | case TExprNodeType::FUNCTION_CALL: | 400 | 2 | if (expr->is_topn_filter()) { | 401 | 0 | RETURN_IF_PUSH_DOWN( | 402 | 0 | _normalize_topn_filter(context, expr, slot, | 403 | 0 | _slot_id_to_predicates[slot->id()], | 404 | 0 | &pdt), | 405 | 0 | status); | 406 | 2 | } else { | 407 | 2 | RETURN_IF_PUSH_DOWN(_normalize_is_null_predicate( | 408 | 2 | context, expr, slot, | 409 | 2 | _slot_id_to_predicates[slot->id()], | 410 | 2 | value_range, &pdt), | 411 | 2 | status); | 412 | 2 | } | 413 | 2 | break; | 414 | 2 | case TExprNodeType::BITMAP_PRED: | 415 | 0 | RETURN_IF_PUSH_DOWN(_normalize_bitmap_filter( | 416 | 0 | context, root, slot, | 417 | 0 | _slot_id_to_predicates[slot->id()], &pdt), | 418 | 0 | status); | 419 | 0 | break; | 420 | 0 | case TExprNodeType::BLOOM_PRED: | 421 | 0 | RETURN_IF_PUSH_DOWN(_normalize_bloom_filter( | 422 | 0 | context, root, slot, | 423 | 0 | _slot_id_to_predicates[slot->id()], &pdt), | 424 | 0 | status); | 425 | 0 | break; | 426 | 0 | default: | 427 | 0 | break; | 428 | 15 | } | 429 | 15 | } | 430 | | // `node_type` of function filter is FUNCTION_CALL or COMPOUND_PRED | 431 | 15 | if (state()->enable_function_pushdown()) { | 432 | 0 | RETURN_IF_PUSH_DOWN(_normalize_function_filters(context, slot, &pdt), | 433 | 0 | status); | 434 | 0 | } | 435 | 15 | }, |
Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE7EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE8EEEEEDaSC_ _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE9EEEEEDaSC_ Line | Count | Source | 370 | 63 | [&](auto& value_range) { | 371 | 63 | auto expr = root->is_rf_wrapper() ? root->get_impl() : root; | 372 | 63 | { | 373 | 63 | Defer attach_defer = [&]() { | 374 | 63 | if (pdt != PushDownType::UNACCEPTABLE && root->is_rf_wrapper()) { | 375 | 63 | auto* rf_expr = assert_cast<VRuntimeFilterWrapper*>(root.get()); | 376 | 63 | _slot_id_to_predicates[slot->id()].back()->attach_profile_counter( | 377 | 63 | rf_expr->filter_id(), | 378 | 63 | rf_expr->predicate_filtered_rows_counter(), | 379 | 63 | rf_expr->predicate_input_rows_counter(), | 380 | 63 | rf_expr->predicate_always_true_rows_counter(), | 381 | 63 | context->get_runtime_filter_selectivity()); | 382 | 63 | } | 383 | 63 | }; | 384 | 63 | switch (expr->node_type()) { | 385 | 2 | case TExprNodeType::IN_PRED: | 386 | 2 | RETURN_IF_PUSH_DOWN( | 387 | 2 | _normalize_in_predicate(context, expr, slot, | 388 | 2 | _slot_id_to_predicates[slot->id()], | 389 | 2 | value_range, &pdt), | 390 | 2 | status); | 391 | 2 | break; | 392 | 60 | case TExprNodeType::BINARY_PRED: | 393 | 60 | RETURN_IF_PUSH_DOWN( | 394 | 60 | _normalize_binary_predicate(context, expr, slot, | 395 | 60 | _slot_id_to_predicates[slot->id()], | 396 | 60 | value_range, &pdt), | 397 | 60 | status); | 398 | 60 | break; | 399 | 1 | case TExprNodeType::FUNCTION_CALL: | 400 | 1 | if (expr->is_topn_filter()) { | 401 | 0 | RETURN_IF_PUSH_DOWN( | 402 | 0 | _normalize_topn_filter(context, expr, slot, | 403 | 0 | _slot_id_to_predicates[slot->id()], | 404 | 0 | &pdt), | 405 | 0 | status); | 406 | 1 | } else { | 407 | 1 | RETURN_IF_PUSH_DOWN(_normalize_is_null_predicate( | 408 | 1 | context, expr, slot, | 409 | 1 | _slot_id_to_predicates[slot->id()], | 410 | 1 | value_range, &pdt), | 411 | 1 | status); | 412 | 1 | } | 413 | 1 | break; | 414 | 1 | case TExprNodeType::BITMAP_PRED: | 415 | 0 | RETURN_IF_PUSH_DOWN(_normalize_bitmap_filter( | 416 | 0 | context, root, slot, | 417 | 0 | _slot_id_to_predicates[slot->id()], &pdt), | 418 | 0 | status); | 419 | 0 | break; | 420 | 0 | case TExprNodeType::BLOOM_PRED: | 421 | 0 | RETURN_IF_PUSH_DOWN(_normalize_bloom_filter( | 422 | 0 | context, root, slot, | 423 | 0 | _slot_id_to_predicates[slot->id()], &pdt), | 424 | 0 | status); | 425 | 0 | break; | 426 | 0 | default: | 427 | 0 | break; | 428 | 63 | } | 429 | 63 | } | 430 | | // `node_type` of function filter is FUNCTION_CALL or COMPOUND_PRED | 431 | 63 | if (state()->enable_function_pushdown()) { | 432 | 0 | RETURN_IF_PUSH_DOWN(_normalize_function_filters(context, slot, &pdt), | 433 | 0 | status); | 434 | 0 | } | 435 | 63 | }, |
Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE36EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE37EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE15EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE10EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE23EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE11EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE25EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE12EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE26EEEEEDaSC_ _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE42EEEEEDaSC_ Line | Count | Source | 370 | 21 | [&](auto& value_range) { | 371 | 21 | auto expr = root->is_rf_wrapper() ? root->get_impl() : root; | 372 | 21 | { | 373 | 21 | Defer attach_defer = [&]() { | 374 | 21 | if (pdt != PushDownType::UNACCEPTABLE && root->is_rf_wrapper()) { | 375 | 21 | auto* rf_expr = assert_cast<VRuntimeFilterWrapper*>(root.get()); | 376 | 21 | _slot_id_to_predicates[slot->id()].back()->attach_profile_counter( | 377 | 21 | rf_expr->filter_id(), | 378 | 21 | rf_expr->predicate_filtered_rows_counter(), | 379 | 21 | rf_expr->predicate_input_rows_counter(), | 380 | 21 | rf_expr->predicate_always_true_rows_counter(), | 381 | 21 | context->get_runtime_filter_selectivity()); | 382 | 21 | } | 383 | 21 | }; | 384 | 21 | switch (expr->node_type()) { | 385 | 2 | case TExprNodeType::IN_PRED: | 386 | 2 | RETURN_IF_PUSH_DOWN( | 387 | 2 | _normalize_in_predicate(context, expr, slot, | 388 | 2 | _slot_id_to_predicates[slot->id()], | 389 | 2 | value_range, &pdt), | 390 | 2 | status); | 391 | 2 | break; | 392 | 18 | case TExprNodeType::BINARY_PRED: | 393 | 18 | RETURN_IF_PUSH_DOWN( | 394 | 18 | _normalize_binary_predicate(context, expr, slot, | 395 | 18 | _slot_id_to_predicates[slot->id()], | 396 | 18 | value_range, &pdt), | 397 | 18 | status); | 398 | 18 | break; | 399 | 1 | case TExprNodeType::FUNCTION_CALL: | 400 | 1 | if (expr->is_topn_filter()) { | 401 | 0 | RETURN_IF_PUSH_DOWN( | 402 | 0 | _normalize_topn_filter(context, expr, slot, | 403 | 0 | _slot_id_to_predicates[slot->id()], | 404 | 0 | &pdt), | 405 | 0 | status); | 406 | 1 | } else { | 407 | 1 | RETURN_IF_PUSH_DOWN(_normalize_is_null_predicate( | 408 | 1 | context, expr, slot, | 409 | 1 | _slot_id_to_predicates[slot->id()], | 410 | 1 | value_range, &pdt), | 411 | 1 | status); | 412 | 1 | } | 413 | 1 | break; | 414 | 1 | case TExprNodeType::BITMAP_PRED: | 415 | 0 | RETURN_IF_PUSH_DOWN(_normalize_bitmap_filter( | 416 | 0 | context, root, slot, | 417 | 0 | _slot_id_to_predicates[slot->id()], &pdt), | 418 | 0 | status); | 419 | 0 | break; | 420 | 0 | case TExprNodeType::BLOOM_PRED: | 421 | 0 | RETURN_IF_PUSH_DOWN(_normalize_bloom_filter( | 422 | 0 | context, root, slot, | 423 | 0 | _slot_id_to_predicates[slot->id()], &pdt), | 424 | 0 | status); | 425 | 0 | break; | 426 | 0 | default: | 427 | 0 | break; | 428 | 21 | } | 429 | 21 | } | 430 | | // `node_type` of function filter is FUNCTION_CALL or COMPOUND_PRED | 431 | 21 | if (state()->enable_function_pushdown()) { | 432 | 0 | RETURN_IF_PUSH_DOWN(_normalize_function_filters(context, slot, &pdt), | 433 | 0 | status); | 434 | 0 | } | 435 | 21 | }, |
Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE20EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE2EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE19EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE28EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE29EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE30EEEEEDaSC_ Unexecuted instantiation: _ZZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ENKUlRT_E_clINS_16ColumnValueRangeILNS_13PrimitiveTypeE35EEEEEDaSC_ |
436 | 99 | *range); |
437 | 99 | RETURN_IF_ERROR(status); |
438 | 99 | } |
439 | 103 | if (pdt == PushDownType::ACCEPTABLE && slotref != nullptr && |
440 | 103 | slotref->data_type()->get_primitive_type() == PrimitiveType::TYPE_VARIANT) { |
441 | | // remaining it in the expr tree, in order to filter by function if the pushdown |
442 | | // predicate is not applied |
443 | 0 | output_expr = expr_root; // remaining in conjunct tree |
444 | 0 | return Status::OK(); |
445 | 0 | } |
446 | | |
447 | 103 | if (pdt == PushDownType::ACCEPTABLE && (_is_key_column(slot->col_name()))) { |
448 | 96 | output_expr = nullptr; |
449 | 96 | return Status::OK(); |
450 | 96 | } else { |
451 | | // for PARTIAL_ACCEPTABLE and UNACCEPTABLE, do not remove expr from the tree |
452 | 7 | output_expr = root; |
453 | 7 | return Status::OK(); |
454 | 7 | } |
455 | 0 | output_expr = root; |
456 | 0 | return Status::OK(); |
457 | 103 | } Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18FileScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_16EsScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ _ZN5doris14ScanLocalStateINS_18MockScanLocalStateEE20_normalize_predicateEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEERS7_ Line | Count | Source | 343 | 105 | VExprSPtr& output_expr) { | 344 | 105 | auto expr_root = root->is_rf_wrapper() ? root->get_impl() : root; | 345 | 105 | PushDownType pdt = PushDownType::UNACCEPTABLE; | 346 | 105 | if (dynamic_cast<VirtualSlotRef*>(expr_root.get())) { | 347 | | // If the expr has virtual slot ref, we need to keep it in the tree. | 348 | 0 | output_expr = expr_root; | 349 | 0 | return Status::OK(); | 350 | 0 | } | 351 | | | 352 | 105 | SlotDescriptor* slot = nullptr; | 353 | 105 | ColumnValueRangeType* range = nullptr; | 354 | 105 | RETURN_IF_ERROR(_eval_const_conjuncts(context, &pdt)); | 355 | 105 | if (pdt == PushDownType::ACCEPTABLE) { | 356 | 2 | output_expr = nullptr; | 357 | 2 | return Status::OK(); | 358 | 2 | } | 359 | 103 | std::shared_ptr<VSlotRef> slotref; | 360 | 188 | for (const auto& child : expr_root->children()) { | 361 | 188 | if (VExpr::expr_without_cast(child)->node_type() != TExprNodeType::SLOT_REF) { | 362 | | // not a slot ref(column) | 363 | 87 | continue; | 364 | 87 | } | 365 | 101 | slotref = std::dynamic_pointer_cast<VSlotRef>(VExpr::expr_without_cast(child)); | 366 | 101 | } | 367 | 103 | if (_is_predicate_acting_on_slot(expr_root->children(), &slot, &range)) { | 368 | 99 | Status status = Status::OK(); | 369 | 99 | std::visit( | 370 | 99 | [&](auto& value_range) { | 371 | 99 | auto expr = root->is_rf_wrapper() ? root->get_impl() : root; | 372 | 99 | { | 373 | 99 | Defer attach_defer = [&]() { | 374 | 99 | if (pdt != PushDownType::UNACCEPTABLE && root->is_rf_wrapper()) { | 375 | 99 | auto* rf_expr = assert_cast<VRuntimeFilterWrapper*>(root.get()); | 376 | 99 | _slot_id_to_predicates[slot->id()].back()->attach_profile_counter( | 377 | 99 | rf_expr->filter_id(), | 378 | 99 | rf_expr->predicate_filtered_rows_counter(), | 379 | 99 | rf_expr->predicate_input_rows_counter(), | 380 | 99 | rf_expr->predicate_always_true_rows_counter(), | 381 | 99 | context->get_runtime_filter_selectivity()); | 382 | 99 | } | 383 | 99 | }; | 384 | 99 | switch (expr->node_type()) { | 385 | 99 | case TExprNodeType::IN_PRED: | 386 | 99 | RETURN_IF_PUSH_DOWN( | 387 | 99 | _normalize_in_predicate(context, expr, slot, | 388 | 99 | _slot_id_to_predicates[slot->id()], | 389 | 99 | value_range, &pdt), | 390 | 99 | status); | 391 | 99 | break; | 392 | 99 | case TExprNodeType::BINARY_PRED: | 393 | 99 | RETURN_IF_PUSH_DOWN( | 394 | 99 | _normalize_binary_predicate(context, expr, slot, | 395 | 99 | _slot_id_to_predicates[slot->id()], | 396 | 99 | value_range, &pdt), | 397 | 99 | status); | 398 | 99 | break; | 399 | 99 | case TExprNodeType::FUNCTION_CALL: | 400 | 99 | if (expr->is_topn_filter()) { | 401 | 99 | RETURN_IF_PUSH_DOWN( | 402 | 99 | _normalize_topn_filter(context, expr, slot, | 403 | 99 | _slot_id_to_predicates[slot->id()], | 404 | 99 | &pdt), | 405 | 99 | status); | 406 | 99 | } else { | 407 | 99 | RETURN_IF_PUSH_DOWN(_normalize_is_null_predicate( | 408 | 99 | context, expr, slot, | 409 | 99 | _slot_id_to_predicates[slot->id()], | 410 | 99 | value_range, &pdt), | 411 | 99 | status); | 412 | 99 | } | 413 | 99 | break; | 414 | 99 | case TExprNodeType::BITMAP_PRED: | 415 | 99 | RETURN_IF_PUSH_DOWN(_normalize_bitmap_filter( | 416 | 99 | context, root, slot, | 417 | 99 | _slot_id_to_predicates[slot->id()], &pdt), | 418 | 99 | status); | 419 | 99 | break; | 420 | 99 | case TExprNodeType::BLOOM_PRED: | 421 | 99 | RETURN_IF_PUSH_DOWN(_normalize_bloom_filter( | 422 | 99 | context, root, slot, | 423 | 99 | _slot_id_to_predicates[slot->id()], &pdt), | 424 | 99 | status); | 425 | 99 | break; | 426 | 99 | default: | 427 | 99 | break; | 428 | 99 | } | 429 | 99 | } | 430 | | // `node_type` of function filter is FUNCTION_CALL or COMPOUND_PRED | 431 | 99 | if (state()->enable_function_pushdown()) { | 432 | 99 | RETURN_IF_PUSH_DOWN(_normalize_function_filters(context, slot, &pdt), | 433 | 99 | status); | 434 | 99 | } | 435 | 99 | }, | 436 | 99 | *range); | 437 | 99 | RETURN_IF_ERROR(status); | 438 | 99 | } | 439 | 103 | if (pdt == PushDownType::ACCEPTABLE && slotref != nullptr && | 440 | 103 | slotref->data_type()->get_primitive_type() == PrimitiveType::TYPE_VARIANT) { | 441 | | // remaining it in the expr tree, in order to filter by function if the pushdown | 442 | | // predicate is not applied | 443 | 0 | output_expr = expr_root; // remaining in conjunct tree | 444 | 0 | return Status::OK(); | 445 | 0 | } | 446 | | | 447 | 103 | if (pdt == PushDownType::ACCEPTABLE && (_is_key_column(slot->col_name()))) { | 448 | 96 | output_expr = nullptr; | 449 | 96 | return Status::OK(); | 450 | 96 | } else { | 451 | | // for PARTIAL_ACCEPTABLE and UNACCEPTABLE, do not remove expr from the tree | 452 | 7 | output_expr = root; | 453 | 7 | return Status::OK(); | 454 | 7 | } | 455 | 0 | output_expr = root; | 456 | 0 | return Status::OK(); | 457 | 103 | } |
|
458 | | |
459 | | Status ScanLocalStateBase::_normalize_bloom_filter( |
460 | | VExprContext* expr_ctx, const VExprSPtr& root, SlotDescriptor* slot, |
461 | 0 | std::vector<std::shared_ptr<ColumnPredicate>>& predicates, PushDownType* pdt) { |
462 | 0 | std::shared_ptr<ColumnPredicate> pred = nullptr; |
463 | 0 | Defer defer = [&]() { |
464 | 0 | if (pred) { |
465 | 0 | DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string(); |
466 | 0 | predicates.emplace_back(pred); |
467 | 0 | } else { |
468 | | // If exception occurs during processing, do not push down |
469 | 0 | *pdt = PushDownType::UNACCEPTABLE; |
470 | 0 | } |
471 | 0 | }; |
472 | 0 | DCHECK(TExprNodeType::BLOOM_PRED == root->node_type()); |
473 | 0 | auto expr = root->is_rf_wrapper() ? root->get_impl() : root; |
474 | 0 | DCHECK(expr->get_num_children() == 1); |
475 | 0 | DCHECK(root->is_rf_wrapper()); |
476 | 0 | *pdt = _should_push_down_bloom_filter(); |
477 | 0 | if (*pdt != PushDownType::UNACCEPTABLE) { |
478 | 0 | pred = create_bloom_filter_predicate( |
479 | 0 | _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), |
480 | 0 | slot->type()->get_primitive_type() == TYPE_VARIANT ? expr->get_child(0)->data_type() |
481 | 0 | : slot->type(), |
482 | 0 | expr->get_bloom_filter_func()); |
483 | 0 | } |
484 | 0 | return Status::OK(); |
485 | 0 | } |
486 | | |
487 | | Status ScanLocalStateBase::_normalize_topn_filter( |
488 | | VExprContext* expr_ctx, const VExprSPtr& root, SlotDescriptor* slot, |
489 | 0 | std::vector<std::shared_ptr<ColumnPredicate>>& predicates, PushDownType* pdt) { |
490 | 0 | std::shared_ptr<ColumnPredicate> pred = nullptr; |
491 | 0 | Defer defer = [&]() { |
492 | 0 | if (pred) { |
493 | 0 | DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string(); |
494 | 0 | predicates.emplace_back(pred); |
495 | 0 | } else { |
496 | | // If exception occurs during processing, do not push down |
497 | 0 | *pdt = PushDownType::UNACCEPTABLE; |
498 | 0 | } |
499 | 0 | }; |
500 | 0 | DCHECK(root->is_topn_filter()); |
501 | 0 | *pdt = _should_push_down_topn_filter(); |
502 | 0 | if (*pdt != PushDownType::UNACCEPTABLE) { |
503 | 0 | auto& tmp = _state->get_query_ctx()->get_runtime_predicate( |
504 | 0 | assert_cast<VTopNPred*>(root.get())->source_node_id()); |
505 | 0 | if (_push_down_topn(tmp)) { |
506 | 0 | pred = tmp.get_predicate(_parent->node_id()); |
507 | 0 | } |
508 | 0 | } |
509 | 0 | return Status::OK(); |
510 | 0 | } |
511 | | |
512 | | Status ScanLocalStateBase::_normalize_bitmap_filter( |
513 | | VExprContext* expr_ctx, const VExprSPtr& root, SlotDescriptor* slot, |
514 | 0 | std::vector<std::shared_ptr<ColumnPredicate>>& predicates, PushDownType* pdt) { |
515 | 0 | std::shared_ptr<ColumnPredicate> pred = nullptr; |
516 | 0 | Defer defer = [&]() { |
517 | 0 | if (pred) { |
518 | 0 | DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string(); |
519 | 0 | predicates.emplace_back(pred); |
520 | 0 | } else { |
521 | | // If exception occurs during processing, do not push down |
522 | 0 | *pdt = PushDownType::UNACCEPTABLE; |
523 | 0 | } |
524 | 0 | }; |
525 | 0 | DCHECK(TExprNodeType::BITMAP_PRED == root->node_type()); |
526 | 0 | auto expr = root->is_rf_wrapper() ? root->get_impl() : root; |
527 | 0 | *pdt = _should_push_down_bitmap_filter(); |
528 | 0 | if (*pdt != PushDownType::UNACCEPTABLE) { |
529 | 0 | DCHECK(expr->get_num_children() == 1); |
530 | 0 | DCHECK(root->is_rf_wrapper()); |
531 | 0 | pred = create_bitmap_filter_predicate( |
532 | 0 | _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), |
533 | 0 | slot->type()->get_primitive_type() == TYPE_VARIANT ? expr->get_child(0)->data_type() |
534 | 0 | : slot->type(), |
535 | 0 | expr->get_bitmap_filter_func()); |
536 | 0 | } |
537 | 0 | return Status::OK(); |
538 | 0 | } |
539 | | |
540 | | Status ScanLocalStateBase::_normalize_function_filters(VExprContext* expr_ctx, SlotDescriptor* slot, |
541 | 0 | PushDownType* pdt) { |
542 | 0 | auto expr = expr_ctx->root()->is_rf_wrapper() ? expr_ctx->root()->get_impl() : expr_ctx->root(); |
543 | 0 | bool opposite = false; |
544 | 0 | VExpr* fn_expr = expr.get(); |
545 | 0 | if (TExprNodeType::COMPOUND_PRED == expr->node_type() && |
546 | 0 | expr->fn().name.function_name == "not") { |
547 | 0 | fn_expr = fn_expr->children()[0].get(); |
548 | 0 | opposite = true; |
549 | 0 | } |
550 | |
|
551 | 0 | if (fn_expr->is_like_expr()) { |
552 | 0 | doris::FunctionContext* fn_ctx = nullptr; |
553 | 0 | StringRef val; |
554 | 0 | PushDownType temp_pdt; |
555 | 0 | RETURN_IF_ERROR(_should_push_down_function_filter(assert_cast<VectorizedFnCall*>(fn_expr), |
556 | 0 | expr_ctx, &val, &fn_ctx, temp_pdt)); |
557 | 0 | if (temp_pdt != PushDownType::UNACCEPTABLE) { |
558 | 0 | std::string col = slot->col_name(); |
559 | 0 | _push_down_functions.emplace_back(opposite, col, fn_ctx, val); |
560 | 0 | *pdt = temp_pdt; |
561 | 0 | } |
562 | 0 | } |
563 | 0 | return Status::OK(); |
564 | 0 | } |
565 | | |
566 | | // only one level cast expr could push down for variant type |
567 | | // check if expr is cast and it's children is slot |
568 | 0 | static bool is_valid_push_down_cast(const VExprSPtrs& children) { |
569 | 0 | auto slot_expr = VExpr::expr_without_cast(children[0]); |
570 | 0 | return slot_expr->data_type()->get_primitive_type() == PrimitiveType::TYPE_VARIANT && |
571 | 0 | children[0]->node_type() == TExprNodeType::CAST_EXPR && |
572 | 0 | children[0]->children().at(0)->is_slot_ref(); |
573 | 0 | } |
574 | | |
575 | | template <typename Derived> |
576 | | bool ScanLocalState<Derived>::_is_predicate_acting_on_slot(const VExprSPtrs& children, |
577 | | SlotDescriptor** slot_desc, |
578 | 103 | ColumnValueRangeType** range) { |
579 | | // children[0] must be slot ref or cast(slot(variant) as type) |
580 | 103 | if (children.empty() || (children[0]->node_type() != TExprNodeType::SLOT_REF && |
581 | 101 | !is_valid_push_down_cast(children))) { |
582 | | // not a slot ref(column) |
583 | 2 | return false; |
584 | 2 | } |
585 | 101 | std::shared_ptr<VSlotRef> slot_ref = |
586 | 101 | std::dynamic_pointer_cast<VSlotRef>(VExpr::expr_without_cast(children[0])); |
587 | 101 | *slot_desc = |
588 | 101 | _parent->cast<typename Derived::Parent>()._slot_id_to_slot_desc[slot_ref->slot_id()]; |
589 | 101 | auto entry = _slot_id_to_predicates.find(slot_ref->slot_id()); |
590 | 101 | if (_slot_id_to_predicates.end() == entry) { |
591 | 2 | return false; |
592 | 2 | } |
593 | 99 | auto sid_to_range = _slot_id_to_value_range.find(slot_ref->slot_id()); |
594 | 99 | if (_slot_id_to_value_range.end() == sid_to_range) { |
595 | 0 | return false; |
596 | 0 | } |
597 | 99 | if (remove_nullable((*slot_desc)->type())->get_primitive_type() == TYPE_VARBINARY) { |
598 | 0 | return false; |
599 | 0 | } |
600 | 99 | *range = &(sid_to_range->second); |
601 | 99 | return true; |
602 | 99 | } Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE28_is_predicate_acting_on_slotERKSt6vectorISt10shared_ptrINS_5VExprEESaIS6_EEPPNS_14SlotDescriptorEPPSt7variantIJNS_16ColumnValueRangeILNS_13PrimitiveTypeE3EEENSF_ILSG_4EEENSF_ILSG_5EEENSF_ILSG_6EEENSF_ILSG_7EEENSF_ILSG_8EEENSF_ILSG_9EEENSF_ILSG_36EEENSF_ILSG_37EEENSF_ILSG_15EEENSF_ILSG_10EEENSF_ILSG_23EEENSF_ILSG_11EEENSF_ILSG_25EEENSF_ILSG_12EEENSF_ILSG_26EEENSF_ILSG_42EEENSF_ILSG_20EEENSF_ILSG_2EEENSF_ILSG_19EEENSF_ILSG_28EEENSF_ILSG_29EEENSF_ILSG_30EEENSF_ILSG_35EEEEE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE28_is_predicate_acting_on_slotERKSt6vectorISt10shared_ptrINS_5VExprEESaIS6_EEPPNS_14SlotDescriptorEPPSt7variantIJNS_16ColumnValueRangeILNS_13PrimitiveTypeE3EEENSF_ILSG_4EEENSF_ILSG_5EEENSF_ILSG_6EEENSF_ILSG_7EEENSF_ILSG_8EEENSF_ILSG_9EEENSF_ILSG_36EEENSF_ILSG_37EEENSF_ILSG_15EEENSF_ILSG_10EEENSF_ILSG_23EEENSF_ILSG_11EEENSF_ILSG_25EEENSF_ILSG_12EEENSF_ILSG_26EEENSF_ILSG_42EEENSF_ILSG_20EEENSF_ILSG_2EEENSF_ILSG_19EEENSF_ILSG_28EEENSF_ILSG_29EEENSF_ILSG_30EEENSF_ILSG_35EEEEE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18FileScanLocalStateEE28_is_predicate_acting_on_slotERKSt6vectorISt10shared_ptrINS_5VExprEESaIS6_EEPPNS_14SlotDescriptorEPPSt7variantIJNS_16ColumnValueRangeILNS_13PrimitiveTypeE3EEENSF_ILSG_4EEENSF_ILSG_5EEENSF_ILSG_6EEENSF_ILSG_7EEENSF_ILSG_8EEENSF_ILSG_9EEENSF_ILSG_36EEENSF_ILSG_37EEENSF_ILSG_15EEENSF_ILSG_10EEENSF_ILSG_23EEENSF_ILSG_11EEENSF_ILSG_25EEENSF_ILSG_12EEENSF_ILSG_26EEENSF_ILSG_42EEENSF_ILSG_20EEENSF_ILSG_2EEENSF_ILSG_19EEENSF_ILSG_28EEENSF_ILSG_29EEENSF_ILSG_30EEENSF_ILSG_35EEEEE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_16EsScanLocalStateEE28_is_predicate_acting_on_slotERKSt6vectorISt10shared_ptrINS_5VExprEESaIS6_EEPPNS_14SlotDescriptorEPPSt7variantIJNS_16ColumnValueRangeILNS_13PrimitiveTypeE3EEENSF_ILSG_4EEENSF_ILSG_5EEENSF_ILSG_6EEENSF_ILSG_7EEENSF_ILSG_8EEENSF_ILSG_9EEENSF_ILSG_36EEENSF_ILSG_37EEENSF_ILSG_15EEENSF_ILSG_10EEENSF_ILSG_23EEENSF_ILSG_11EEENSF_ILSG_25EEENSF_ILSG_12EEENSF_ILSG_26EEENSF_ILSG_42EEENSF_ILSG_20EEENSF_ILSG_2EEENSF_ILSG_19EEENSF_ILSG_28EEENSF_ILSG_29EEENSF_ILSG_30EEENSF_ILSG_35EEEEE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE28_is_predicate_acting_on_slotERKSt6vectorISt10shared_ptrINS_5VExprEESaIS6_EEPPNS_14SlotDescriptorEPPSt7variantIJNS_16ColumnValueRangeILNS_13PrimitiveTypeE3EEENSF_ILSG_4EEENSF_ILSG_5EEENSF_ILSG_6EEENSF_ILSG_7EEENSF_ILSG_8EEENSF_ILSG_9EEENSF_ILSG_36EEENSF_ILSG_37EEENSF_ILSG_15EEENSF_ILSG_10EEENSF_ILSG_23EEENSF_ILSG_11EEENSF_ILSG_25EEENSF_ILSG_12EEENSF_ILSG_26EEENSF_ILSG_42EEENSF_ILSG_20EEENSF_ILSG_2EEENSF_ILSG_19EEENSF_ILSG_28EEENSF_ILSG_29EEENSF_ILSG_30EEENSF_ILSG_35EEEEE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE28_is_predicate_acting_on_slotERKSt6vectorISt10shared_ptrINS_5VExprEESaIS6_EEPPNS_14SlotDescriptorEPPSt7variantIJNS_16ColumnValueRangeILNS_13PrimitiveTypeE3EEENSF_ILSG_4EEENSF_ILSG_5EEENSF_ILSG_6EEENSF_ILSG_7EEENSF_ILSG_8EEENSF_ILSG_9EEENSF_ILSG_36EEENSF_ILSG_37EEENSF_ILSG_15EEENSF_ILSG_10EEENSF_ILSG_23EEENSF_ILSG_11EEENSF_ILSG_25EEENSF_ILSG_12EEENSF_ILSG_26EEENSF_ILSG_42EEENSF_ILSG_20EEENSF_ILSG_2EEENSF_ILSG_19EEENSF_ILSG_28EEENSF_ILSG_29EEENSF_ILSG_30EEENSF_ILSG_35EEEEE _ZN5doris14ScanLocalStateINS_18MockScanLocalStateEE28_is_predicate_acting_on_slotERKSt6vectorISt10shared_ptrINS_5VExprEESaIS6_EEPPNS_14SlotDescriptorEPPSt7variantIJNS_16ColumnValueRangeILNS_13PrimitiveTypeE3EEENSF_ILSG_4EEENSF_ILSG_5EEENSF_ILSG_6EEENSF_ILSG_7EEENSF_ILSG_8EEENSF_ILSG_9EEENSF_ILSG_36EEENSF_ILSG_37EEENSF_ILSG_15EEENSF_ILSG_10EEENSF_ILSG_23EEENSF_ILSG_11EEENSF_ILSG_25EEENSF_ILSG_12EEENSF_ILSG_26EEENSF_ILSG_42EEENSF_ILSG_20EEENSF_ILSG_2EEENSF_ILSG_19EEENSF_ILSG_28EEENSF_ILSG_29EEENSF_ILSG_30EEENSF_ILSG_35EEEEE Line | Count | Source | 578 | 103 | ColumnValueRangeType** range) { | 579 | | // children[0] must be slot ref or cast(slot(variant) as type) | 580 | 103 | if (children.empty() || (children[0]->node_type() != TExprNodeType::SLOT_REF && | 581 | 101 | !is_valid_push_down_cast(children))) { | 582 | | // not a slot ref(column) | 583 | 2 | return false; | 584 | 2 | } | 585 | 101 | std::shared_ptr<VSlotRef> slot_ref = | 586 | 101 | std::dynamic_pointer_cast<VSlotRef>(VExpr::expr_without_cast(children[0])); | 587 | 101 | *slot_desc = | 588 | 101 | _parent->cast<typename Derived::Parent>()._slot_id_to_slot_desc[slot_ref->slot_id()]; | 589 | 101 | auto entry = _slot_id_to_predicates.find(slot_ref->slot_id()); | 590 | 101 | if (_slot_id_to_predicates.end() == entry) { | 591 | 2 | return false; | 592 | 2 | } | 593 | 99 | auto sid_to_range = _slot_id_to_value_range.find(slot_ref->slot_id()); | 594 | 99 | if (_slot_id_to_value_range.end() == sid_to_range) { | 595 | 0 | return false; | 596 | 0 | } | 597 | 99 | if (remove_nullable((*slot_desc)->type())->get_primitive_type() == TYPE_VARBINARY) { | 598 | 0 | return false; | 599 | 0 | } | 600 | 99 | *range = &(sid_to_range->second); | 601 | 99 | return true; | 602 | 99 | } |
|
603 | | |
604 | | template <typename Derived> |
605 | 0 | std::string ScanLocalState<Derived>::debug_string(int indentation_level) const { |
606 | 0 | fmt::memory_buffer debug_string_buffer; |
607 | 0 | fmt::format_to(debug_string_buffer, "{}, _eos = {} , _opened = {}", |
608 | 0 | PipelineXLocalState<>::debug_string(indentation_level), _eos.load(), |
609 | 0 | _opened.load()); |
610 | 0 | if (auto ctx = _scanner_ctx.load()) { |
611 | 0 | fmt::format_to(debug_string_buffer, ""); |
612 | 0 | fmt::format_to(debug_string_buffer, ", Scanner Context: {}", ctx->debug_string()); |
613 | 0 | } else { |
614 | 0 | fmt::format_to(debug_string_buffer, ""); |
615 | 0 | fmt::format_to(debug_string_buffer, ", Scanner Context: NULL"); |
616 | 0 | } |
617 | |
|
618 | 0 | return fmt::to_string(debug_string_buffer); |
619 | 0 | } Unexecuted instantiation: _ZNK5doris14ScanLocalStateINS_18OlapScanLocalStateEE12debug_stringB5cxx11Ei Unexecuted instantiation: _ZNK5doris14ScanLocalStateINS_18JDBCScanLocalStateEE12debug_stringB5cxx11Ei Unexecuted instantiation: _ZNK5doris14ScanLocalStateINS_18FileScanLocalStateEE12debug_stringB5cxx11Ei Unexecuted instantiation: _ZNK5doris14ScanLocalStateINS_16EsScanLocalStateEE12debug_stringB5cxx11Ei Unexecuted instantiation: _ZNK5doris14ScanLocalStateINS_18MetaScanLocalStateEE12debug_stringB5cxx11Ei Unexecuted instantiation: _ZNK5doris14ScanLocalStateINS_21GroupCommitLocalStateEE12debug_stringB5cxx11Ei Unexecuted instantiation: _ZNK5doris14ScanLocalStateINS_18MockScanLocalStateEE12debug_stringB5cxx11Ei |
620 | | |
621 | 105 | Status ScanLocalStateBase::_eval_const_conjuncts(VExprContext* expr_ctx, PushDownType* pdt) { |
622 | 105 | auto vexpr = |
623 | 105 | expr_ctx->root()->is_rf_wrapper() ? expr_ctx->root()->get_impl() : expr_ctx->root(); |
624 | | // Used to handle constant expressions, such as '1 = 1' _eval_const_conjuncts does not handle cases like 'colA = 1' |
625 | 105 | const char* constant_val = nullptr; |
626 | 105 | if (vexpr->is_constant()) { |
627 | 3 | std::shared_ptr<ColumnPtrWrapper> const_col_wrapper; |
628 | 3 | RETURN_IF_ERROR(vexpr->get_const_col(expr_ctx, &const_col_wrapper)); |
629 | 3 | if (const auto* const_column = |
630 | 3 | check_and_get_column<ColumnConst>(const_col_wrapper->column_ptr.get())) { |
631 | 1 | constant_val = const_column->get_data_at(0).data; |
632 | 1 | if (constant_val == nullptr || !*reinterpret_cast<const bool*>(constant_val)) { |
633 | 1 | *pdt = PushDownType::ACCEPTABLE; |
634 | 1 | _eos = true; |
635 | 1 | _scan_dependency->set_ready(); |
636 | 1 | } |
637 | 2 | } else if (const auto* bool_column = |
638 | 2 | check_and_get_column<ColumnUInt8>(const_col_wrapper->column_ptr.get())) { |
639 | | // TODO: If `vexpr->is_constant()` is true, a const column is expected here. |
640 | | // But now we still don't cover all predicates for const expression. |
641 | | // For example, for query `SELECT col FROM tbl WHERE 'PROMOTION' LIKE 'AAA%'`, |
642 | | // predicate `like` will return a ColumnVector<UInt8> which contains a single value. |
643 | 1 | LOG(WARNING) << "VExpr[" << vexpr->debug_string() |
644 | 1 | << "] should return a const column but actually is " |
645 | 1 | << const_col_wrapper->column_ptr->get_name(); |
646 | 1 | DCHECK_EQ(bool_column->size(), 1); |
647 | | /// TODO: There is a DCHECK here, but an additional check is still needed. It should return an error code. |
648 | 1 | if (bool_column->size() == 1) { |
649 | 1 | constant_val = bool_column->get_data_at(0).data; |
650 | 1 | if (constant_val == nullptr || !*reinterpret_cast<const bool*>(constant_val)) { |
651 | 1 | *pdt = PushDownType::ACCEPTABLE; |
652 | 1 | _eos = true; |
653 | 1 | _scan_dependency->set_ready(); |
654 | 1 | } |
655 | 1 | } else { |
656 | 0 | LOG(WARNING) << "Constant predicate in scan node should return a bool column with " |
657 | 0 | "`size == 1` but actually is " |
658 | 0 | << bool_column->size(); |
659 | 0 | } |
660 | 1 | } else { |
661 | 1 | LOG(WARNING) << "VExpr[" << vexpr->debug_string() |
662 | 1 | << "] should return a const column but actually is " |
663 | 1 | << const_col_wrapper->column_ptr->get_name(); |
664 | 1 | } |
665 | 3 | } |
666 | 105 | return Status::OK(); |
667 | 105 | } |
668 | | |
669 | | template <PrimitiveType T> |
670 | | Status ScanLocalStateBase::_normalize_in_predicate( |
671 | | VExprContext* expr_ctx, const VExprSPtr& root, SlotDescriptor* slot, |
672 | | std::vector<std::shared_ptr<ColumnPredicate>>& predicates, ColumnValueRange<T>& range, |
673 | 10 | PushDownType* pdt) { |
674 | 10 | std::shared_ptr<ColumnPredicate> pred = nullptr; |
675 | 10 | Defer defer = [&]() { |
676 | 10 | if (pred) { |
677 | 8 | DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string(); |
678 | 8 | predicates.emplace_back(pred); |
679 | 8 | } else { |
680 | | // If exception occurs during processing, do not push down |
681 | 2 | *pdt = PushDownType::UNACCEPTABLE; |
682 | 2 | } |
683 | 10 | }; Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE3EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE4EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE5EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv _ZZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE6EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Line | Count | Source | 675 | 6 | Defer defer = [&]() { | 676 | 6 | if (pred) { | 677 | 4 | DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string(); | 678 | 4 | predicates.emplace_back(pred); | 679 | 4 | } else { | 680 | | // If exception occurs during processing, do not push down | 681 | 2 | *pdt = PushDownType::UNACCEPTABLE; | 682 | 2 | } | 683 | 6 | }; |
Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE7EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE8EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv _ZZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE9EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Line | Count | Source | 675 | 2 | Defer defer = [&]() { | 676 | 2 | if (pred) { | 677 | 2 | DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string(); | 678 | 2 | predicates.emplace_back(pred); | 679 | 2 | } else { | 680 | | // If exception occurs during processing, do not push down | 681 | 0 | *pdt = PushDownType::UNACCEPTABLE; | 682 | 0 | } | 683 | 2 | }; |
Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE36EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE37EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE15EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE10EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE23EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE11EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE25EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE12EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE26EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv _ZZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE42EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Line | Count | Source | 675 | 2 | Defer defer = [&]() { | 676 | 2 | if (pred) { | 677 | 2 | DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string(); | 678 | 2 | predicates.emplace_back(pred); | 679 | 2 | } else { | 680 | | // If exception occurs during processing, do not push down | 681 | 0 | *pdt = PushDownType::UNACCEPTABLE; | 682 | 0 | } | 683 | 2 | }; |
Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE20EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE2EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE19EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE28EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE29EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE30EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE35EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv |
684 | | |
685 | 10 | if (slot->get_virtual_column_expr() != nullptr) { |
686 | | // virtual column, do not push down |
687 | 0 | return Status::OK(); |
688 | 0 | } |
689 | | |
690 | 10 | DCHECK(!root->is_rf_wrapper()) << root->debug_string(); |
691 | 10 | DCHECK(TExprNodeType::IN_PRED == root->node_type()) << root->debug_string(); |
692 | 10 | *pdt = _should_push_down_in_predicate(); |
693 | 10 | if (*pdt == PushDownType::UNACCEPTABLE) { |
694 | 0 | return Status::OK(); |
695 | 0 | } |
696 | 10 | HybridSetBase::IteratorBase* iter = nullptr; |
697 | 10 | auto hybrid_set = root->get_set_func(); |
698 | | |
699 | 10 | auto is_in = false; |
700 | 10 | if (hybrid_set != nullptr) { |
701 | | // runtime filter produce VDirectInPredicate |
702 | 0 | if (hybrid_set->size() <= static_cast<size_t>(_max_pushdown_conditions_per_column)) { |
703 | 0 | iter = hybrid_set->begin(); |
704 | 0 | } |
705 | 0 | is_in = true; |
706 | 10 | } else { |
707 | | // normal in predicate |
708 | 10 | auto* tmp = assert_cast<VInPredicate*>(root.get()); |
709 | | |
710 | | // begin to push InPredicate value into ColumnValueRange |
711 | 10 | auto* state = reinterpret_cast<InState*>( |
712 | 10 | expr_ctx->fn_context(tmp->fn_context_index()) |
713 | 10 | ->get_function_state(FunctionContext::FRAGMENT_LOCAL)); |
714 | | |
715 | | // xx in (col, xx, xx) should not be push down |
716 | 10 | if (!state->use_set) { |
717 | 1 | return Status::OK(); |
718 | 1 | } |
719 | 9 | is_in = !tmp->is_not_in(); |
720 | | |
721 | 9 | if (state->hybrid_set->contain_null() && tmp->is_not_in()) { |
722 | 1 | _eos = true; |
723 | 1 | _scan_dependency->set_ready(); |
724 | 1 | return Status::OK(); |
725 | 1 | } |
726 | 8 | hybrid_set = state->hybrid_set; |
727 | 8 | iter = state->hybrid_set->begin(); |
728 | 8 | } |
729 | | |
730 | 8 | if (iter) { |
731 | 8 | auto empty_range = ColumnValueRange<T>::create_empty_column_value_range( |
732 | 8 | slot->is_nullable(), range.precision(), range.scale()); |
733 | 8 | auto& temp_range = is_in ? empty_range : range; |
734 | 8 | auto fn = is_in ? ColumnValueRange<T>::add_fixed_value_range |
735 | 8 | : (range.is_fixed_value_range() |
736 | 4 | ? ColumnValueRange<T>::remove_fixed_value_range |
737 | 4 | : ColumnValueRange<T>::empty_function); |
738 | 46 | while (iter->has_next()) { |
739 | | // column in (nullptr) is always false so continue to |
740 | | // dispose next item |
741 | 38 | DCHECK(iter->get_value() != nullptr); |
742 | 38 | const auto* value = iter->get_value(); |
743 | 38 | if constexpr (is_string_type(T)) { |
744 | 0 | const auto* str_value = reinterpret_cast<const StringRef*>(value); |
745 | 0 | RETURN_IF_ERROR(_change_value_range( |
746 | 0 | is_in, temp_range, |
747 | 0 | Field::create_field<T>(std::string(str_value->data, str_value->size)), fn, |
748 | 0 | is_in ? "in" : "not_in")); |
749 | 38 | } else { |
750 | 38 | RETURN_IF_ERROR(_change_value_range( |
751 | 38 | is_in, temp_range, |
752 | 38 | Field::create_field<T>( |
753 | 38 | *reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>( |
754 | 38 | value)), |
755 | 38 | fn, is_in ? "in" : "not_in")); |
756 | 38 | } |
757 | 38 | iter->next(); |
758 | 38 | } |
759 | 8 | if (is_in) { |
760 | 4 | range.intersection(temp_range); |
761 | 4 | } |
762 | 8 | } |
763 | 8 | pred = is_in ? create_in_list_predicate<PredicateType::IN_LIST>( |
764 | 4 | _parent->intermediate_row_desc().get_column_id(slot->id()), |
765 | 4 | slot->col_name(), |
766 | 4 | slot->type()->get_primitive_type() == TYPE_VARIANT |
767 | 4 | ? root->get_child(0)->data_type() |
768 | 4 | : slot->type(), |
769 | 4 | hybrid_set, false) |
770 | 8 | : create_in_list_predicate<PredicateType::NOT_IN_LIST>( |
771 | 4 | _parent->intermediate_row_desc().get_column_id(slot->id()), |
772 | 4 | slot->col_name(), |
773 | 4 | slot->type()->get_primitive_type() == TYPE_VARIANT |
774 | 4 | ? root->get_child(0)->data_type() |
775 | 4 | : slot->type(), |
776 | 4 | hybrid_set, false); |
777 | 8 | return Status::OK(); |
778 | 10 | } Unexecuted instantiation: _ZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE3EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE4EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE5EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE _ZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE6EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Line | Count | Source | 673 | 6 | PushDownType* pdt) { | 674 | 6 | std::shared_ptr<ColumnPredicate> pred = nullptr; | 675 | 6 | Defer defer = [&]() { | 676 | 6 | if (pred) { | 677 | 6 | DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string(); | 678 | 6 | predicates.emplace_back(pred); | 679 | 6 | } else { | 680 | | // If exception occurs during processing, do not push down | 681 | 6 | *pdt = PushDownType::UNACCEPTABLE; | 682 | 6 | } | 683 | 6 | }; | 684 | | | 685 | 6 | if (slot->get_virtual_column_expr() != nullptr) { | 686 | | // virtual column, do not push down | 687 | 0 | return Status::OK(); | 688 | 0 | } | 689 | | | 690 | 6 | DCHECK(!root->is_rf_wrapper()) << root->debug_string(); | 691 | 6 | DCHECK(TExprNodeType::IN_PRED == root->node_type()) << root->debug_string(); | 692 | 6 | *pdt = _should_push_down_in_predicate(); | 693 | 6 | if (*pdt == PushDownType::UNACCEPTABLE) { | 694 | 0 | return Status::OK(); | 695 | 0 | } | 696 | 6 | HybridSetBase::IteratorBase* iter = nullptr; | 697 | 6 | auto hybrid_set = root->get_set_func(); | 698 | | | 699 | 6 | auto is_in = false; | 700 | 6 | if (hybrid_set != nullptr) { | 701 | | // runtime filter produce VDirectInPredicate | 702 | 0 | if (hybrid_set->size() <= static_cast<size_t>(_max_pushdown_conditions_per_column)) { | 703 | 0 | iter = hybrid_set->begin(); | 704 | 0 | } | 705 | 0 | is_in = true; | 706 | 6 | } else { | 707 | | // normal in predicate | 708 | 6 | auto* tmp = assert_cast<VInPredicate*>(root.get()); | 709 | | | 710 | | // begin to push InPredicate value into ColumnValueRange | 711 | 6 | auto* state = reinterpret_cast<InState*>( | 712 | 6 | expr_ctx->fn_context(tmp->fn_context_index()) | 713 | 6 | ->get_function_state(FunctionContext::FRAGMENT_LOCAL)); | 714 | | | 715 | | // xx in (col, xx, xx) should not be push down | 716 | 6 | if (!state->use_set) { | 717 | 1 | return Status::OK(); | 718 | 1 | } | 719 | 5 | is_in = !tmp->is_not_in(); | 720 | | | 721 | 5 | if (state->hybrid_set->contain_null() && tmp->is_not_in()) { | 722 | 1 | _eos = true; | 723 | 1 | _scan_dependency->set_ready(); | 724 | 1 | return Status::OK(); | 725 | 1 | } | 726 | 4 | hybrid_set = state->hybrid_set; | 727 | 4 | iter = state->hybrid_set->begin(); | 728 | 4 | } | 729 | | | 730 | 4 | if (iter) { | 731 | 4 | auto empty_range = ColumnValueRange<T>::create_empty_column_value_range( | 732 | 4 | slot->is_nullable(), range.precision(), range.scale()); | 733 | 4 | auto& temp_range = is_in ? empty_range : range; | 734 | 4 | auto fn = is_in ? ColumnValueRange<T>::add_fixed_value_range | 735 | 4 | : (range.is_fixed_value_range() | 736 | 2 | ? ColumnValueRange<T>::remove_fixed_value_range | 737 | 2 | : ColumnValueRange<T>::empty_function); | 738 | 16 | while (iter->has_next()) { | 739 | | // column in (nullptr) is always false so continue to | 740 | | // dispose next item | 741 | 12 | DCHECK(iter->get_value() != nullptr); | 742 | 12 | const auto* value = iter->get_value(); | 743 | | if constexpr (is_string_type(T)) { | 744 | | const auto* str_value = reinterpret_cast<const StringRef*>(value); | 745 | | RETURN_IF_ERROR(_change_value_range( | 746 | | is_in, temp_range, | 747 | | Field::create_field<T>(std::string(str_value->data, str_value->size)), fn, | 748 | | is_in ? "in" : "not_in")); | 749 | 12 | } else { | 750 | 12 | RETURN_IF_ERROR(_change_value_range( | 751 | 12 | is_in, temp_range, | 752 | 12 | Field::create_field<T>( | 753 | 12 | *reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>( | 754 | 12 | value)), | 755 | 12 | fn, is_in ? "in" : "not_in")); | 756 | 12 | } | 757 | 12 | iter->next(); | 758 | 12 | } | 759 | 4 | if (is_in) { | 760 | 2 | range.intersection(temp_range); | 761 | 2 | } | 762 | 4 | } | 763 | 4 | pred = is_in ? create_in_list_predicate<PredicateType::IN_LIST>( | 764 | 2 | _parent->intermediate_row_desc().get_column_id(slot->id()), | 765 | 2 | slot->col_name(), | 766 | 2 | slot->type()->get_primitive_type() == TYPE_VARIANT | 767 | 2 | ? root->get_child(0)->data_type() | 768 | 2 | : slot->type(), | 769 | 2 | hybrid_set, false) | 770 | 4 | : create_in_list_predicate<PredicateType::NOT_IN_LIST>( | 771 | 2 | _parent->intermediate_row_desc().get_column_id(slot->id()), | 772 | 2 | slot->col_name(), | 773 | 2 | slot->type()->get_primitive_type() == TYPE_VARIANT | 774 | 2 | ? root->get_child(0)->data_type() | 775 | 2 | : slot->type(), | 776 | 2 | hybrid_set, false); | 777 | 4 | return Status::OK(); | 778 | 6 | } |
Unexecuted instantiation: _ZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE7EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE8EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE _ZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE9EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Line | Count | Source | 673 | 2 | PushDownType* pdt) { | 674 | 2 | std::shared_ptr<ColumnPredicate> pred = nullptr; | 675 | 2 | Defer defer = [&]() { | 676 | 2 | if (pred) { | 677 | 2 | DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string(); | 678 | 2 | predicates.emplace_back(pred); | 679 | 2 | } else { | 680 | | // If exception occurs during processing, do not push down | 681 | 2 | *pdt = PushDownType::UNACCEPTABLE; | 682 | 2 | } | 683 | 2 | }; | 684 | | | 685 | 2 | if (slot->get_virtual_column_expr() != nullptr) { | 686 | | // virtual column, do not push down | 687 | 0 | return Status::OK(); | 688 | 0 | } | 689 | | | 690 | 2 | DCHECK(!root->is_rf_wrapper()) << root->debug_string(); | 691 | 2 | DCHECK(TExprNodeType::IN_PRED == root->node_type()) << root->debug_string(); | 692 | 2 | *pdt = _should_push_down_in_predicate(); | 693 | 2 | if (*pdt == PushDownType::UNACCEPTABLE) { | 694 | 0 | return Status::OK(); | 695 | 0 | } | 696 | 2 | HybridSetBase::IteratorBase* iter = nullptr; | 697 | 2 | auto hybrid_set = root->get_set_func(); | 698 | | | 699 | 2 | auto is_in = false; | 700 | 2 | if (hybrid_set != nullptr) { | 701 | | // runtime filter produce VDirectInPredicate | 702 | 0 | if (hybrid_set->size() <= static_cast<size_t>(_max_pushdown_conditions_per_column)) { | 703 | 0 | iter = hybrid_set->begin(); | 704 | 0 | } | 705 | 0 | is_in = true; | 706 | 2 | } else { | 707 | | // normal in predicate | 708 | 2 | auto* tmp = assert_cast<VInPredicate*>(root.get()); | 709 | | | 710 | | // begin to push InPredicate value into ColumnValueRange | 711 | 2 | auto* state = reinterpret_cast<InState*>( | 712 | 2 | expr_ctx->fn_context(tmp->fn_context_index()) | 713 | 2 | ->get_function_state(FunctionContext::FRAGMENT_LOCAL)); | 714 | | | 715 | | // xx in (col, xx, xx) should not be push down | 716 | 2 | if (!state->use_set) { | 717 | 0 | return Status::OK(); | 718 | 0 | } | 719 | 2 | is_in = !tmp->is_not_in(); | 720 | | | 721 | 2 | if (state->hybrid_set->contain_null() && tmp->is_not_in()) { | 722 | 0 | _eos = true; | 723 | 0 | _scan_dependency->set_ready(); | 724 | 0 | return Status::OK(); | 725 | 0 | } | 726 | 2 | hybrid_set = state->hybrid_set; | 727 | 2 | iter = state->hybrid_set->begin(); | 728 | 2 | } | 729 | | | 730 | 2 | if (iter) { | 731 | 2 | auto empty_range = ColumnValueRange<T>::create_empty_column_value_range( | 732 | 2 | slot->is_nullable(), range.precision(), range.scale()); | 733 | 2 | auto& temp_range = is_in ? empty_range : range; | 734 | 2 | auto fn = is_in ? ColumnValueRange<T>::add_fixed_value_range | 735 | 2 | : (range.is_fixed_value_range() | 736 | 1 | ? ColumnValueRange<T>::remove_fixed_value_range | 737 | 1 | : ColumnValueRange<T>::empty_function); | 738 | 22 | while (iter->has_next()) { | 739 | | // column in (nullptr) is always false so continue to | 740 | | // dispose next item | 741 | 20 | DCHECK(iter->get_value() != nullptr); | 742 | 20 | const auto* value = iter->get_value(); | 743 | | if constexpr (is_string_type(T)) { | 744 | | const auto* str_value = reinterpret_cast<const StringRef*>(value); | 745 | | RETURN_IF_ERROR(_change_value_range( | 746 | | is_in, temp_range, | 747 | | Field::create_field<T>(std::string(str_value->data, str_value->size)), fn, | 748 | | is_in ? "in" : "not_in")); | 749 | 20 | } else { | 750 | 20 | RETURN_IF_ERROR(_change_value_range( | 751 | 20 | is_in, temp_range, | 752 | 20 | Field::create_field<T>( | 753 | 20 | *reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>( | 754 | 20 | value)), | 755 | 20 | fn, is_in ? "in" : "not_in")); | 756 | 20 | } | 757 | 20 | iter->next(); | 758 | 20 | } | 759 | 2 | if (is_in) { | 760 | 1 | range.intersection(temp_range); | 761 | 1 | } | 762 | 2 | } | 763 | 2 | pred = is_in ? create_in_list_predicate<PredicateType::IN_LIST>( | 764 | 1 | _parent->intermediate_row_desc().get_column_id(slot->id()), | 765 | 1 | slot->col_name(), | 766 | 1 | slot->type()->get_primitive_type() == TYPE_VARIANT | 767 | 1 | ? root->get_child(0)->data_type() | 768 | 1 | : slot->type(), | 769 | 1 | hybrid_set, false) | 770 | 2 | : create_in_list_predicate<PredicateType::NOT_IN_LIST>( | 771 | 1 | _parent->intermediate_row_desc().get_column_id(slot->id()), | 772 | 1 | slot->col_name(), | 773 | 1 | slot->type()->get_primitive_type() == TYPE_VARIANT | 774 | 1 | ? root->get_child(0)->data_type() | 775 | 1 | : slot->type(), | 776 | 1 | hybrid_set, false); | 777 | 2 | return Status::OK(); | 778 | 2 | } |
Unexecuted instantiation: _ZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE36EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE37EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE15EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE10EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE23EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE11EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE25EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE12EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE26EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE _ZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE42EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Line | Count | Source | 673 | 2 | PushDownType* pdt) { | 674 | 2 | std::shared_ptr<ColumnPredicate> pred = nullptr; | 675 | 2 | Defer defer = [&]() { | 676 | 2 | if (pred) { | 677 | 2 | DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string(); | 678 | 2 | predicates.emplace_back(pred); | 679 | 2 | } else { | 680 | | // If exception occurs during processing, do not push down | 681 | 2 | *pdt = PushDownType::UNACCEPTABLE; | 682 | 2 | } | 683 | 2 | }; | 684 | | | 685 | 2 | if (slot->get_virtual_column_expr() != nullptr) { | 686 | | // virtual column, do not push down | 687 | 0 | return Status::OK(); | 688 | 0 | } | 689 | | | 690 | 2 | DCHECK(!root->is_rf_wrapper()) << root->debug_string(); | 691 | 2 | DCHECK(TExprNodeType::IN_PRED == root->node_type()) << root->debug_string(); | 692 | 2 | *pdt = _should_push_down_in_predicate(); | 693 | 2 | if (*pdt == PushDownType::UNACCEPTABLE) { | 694 | 0 | return Status::OK(); | 695 | 0 | } | 696 | 2 | HybridSetBase::IteratorBase* iter = nullptr; | 697 | 2 | auto hybrid_set = root->get_set_func(); | 698 | | | 699 | 2 | auto is_in = false; | 700 | 2 | if (hybrid_set != nullptr) { | 701 | | // runtime filter produce VDirectInPredicate | 702 | 0 | if (hybrid_set->size() <= static_cast<size_t>(_max_pushdown_conditions_per_column)) { | 703 | 0 | iter = hybrid_set->begin(); | 704 | 0 | } | 705 | 0 | is_in = true; | 706 | 2 | } else { | 707 | | // normal in predicate | 708 | 2 | auto* tmp = assert_cast<VInPredicate*>(root.get()); | 709 | | | 710 | | // begin to push InPredicate value into ColumnValueRange | 711 | 2 | auto* state = reinterpret_cast<InState*>( | 712 | 2 | expr_ctx->fn_context(tmp->fn_context_index()) | 713 | 2 | ->get_function_state(FunctionContext::FRAGMENT_LOCAL)); | 714 | | | 715 | | // xx in (col, xx, xx) should not be push down | 716 | 2 | if (!state->use_set) { | 717 | 0 | return Status::OK(); | 718 | 0 | } | 719 | 2 | is_in = !tmp->is_not_in(); | 720 | | | 721 | 2 | if (state->hybrid_set->contain_null() && tmp->is_not_in()) { | 722 | 0 | _eos = true; | 723 | 0 | _scan_dependency->set_ready(); | 724 | 0 | return Status::OK(); | 725 | 0 | } | 726 | 2 | hybrid_set = state->hybrid_set; | 727 | 2 | iter = state->hybrid_set->begin(); | 728 | 2 | } | 729 | | | 730 | 2 | if (iter) { | 731 | 2 | auto empty_range = ColumnValueRange<T>::create_empty_column_value_range( | 732 | 2 | slot->is_nullable(), range.precision(), range.scale()); | 733 | 2 | auto& temp_range = is_in ? empty_range : range; | 734 | 2 | auto fn = is_in ? ColumnValueRange<T>::add_fixed_value_range | 735 | 2 | : (range.is_fixed_value_range() | 736 | 1 | ? ColumnValueRange<T>::remove_fixed_value_range | 737 | 1 | : ColumnValueRange<T>::empty_function); | 738 | 8 | while (iter->has_next()) { | 739 | | // column in (nullptr) is always false so continue to | 740 | | // dispose next item | 741 | 6 | DCHECK(iter->get_value() != nullptr); | 742 | 6 | const auto* value = iter->get_value(); | 743 | | if constexpr (is_string_type(T)) { | 744 | | const auto* str_value = reinterpret_cast<const StringRef*>(value); | 745 | | RETURN_IF_ERROR(_change_value_range( | 746 | | is_in, temp_range, | 747 | | Field::create_field<T>(std::string(str_value->data, str_value->size)), fn, | 748 | | is_in ? "in" : "not_in")); | 749 | 6 | } else { | 750 | 6 | RETURN_IF_ERROR(_change_value_range( | 751 | 6 | is_in, temp_range, | 752 | 6 | Field::create_field<T>( | 753 | 6 | *reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>( | 754 | 6 | value)), | 755 | 6 | fn, is_in ? "in" : "not_in")); | 756 | 6 | } | 757 | 6 | iter->next(); | 758 | 6 | } | 759 | 2 | if (is_in) { | 760 | 1 | range.intersection(temp_range); | 761 | 1 | } | 762 | 2 | } | 763 | 2 | pred = is_in ? create_in_list_predicate<PredicateType::IN_LIST>( | 764 | 1 | _parent->intermediate_row_desc().get_column_id(slot->id()), | 765 | 1 | slot->col_name(), | 766 | 1 | slot->type()->get_primitive_type() == TYPE_VARIANT | 767 | 1 | ? root->get_child(0)->data_type() | 768 | 1 | : slot->type(), | 769 | 1 | hybrid_set, false) | 770 | 2 | : create_in_list_predicate<PredicateType::NOT_IN_LIST>( | 771 | 1 | _parent->intermediate_row_desc().get_column_id(slot->id()), | 772 | 1 | slot->col_name(), | 773 | 1 | slot->type()->get_primitive_type() == TYPE_VARIANT | 774 | 1 | ? root->get_child(0)->data_type() | 775 | 1 | : slot->type(), | 776 | 1 | hybrid_set, false); | 777 | 2 | return Status::OK(); | 778 | 2 | } |
Unexecuted instantiation: _ZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE20EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE2EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE19EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE28EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE29EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE30EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase23_normalize_in_predicateILNS_13PrimitiveTypeE35EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE |
779 | | |
780 | | template <PrimitiveType T> |
781 | | Status ScanLocalStateBase::_normalize_binary_predicate( |
782 | | VExprContext* expr_ctx, const VExprSPtr& root, SlotDescriptor* slot, |
783 | | std::vector<std::shared_ptr<ColumnPredicate>>& predicates, ColumnValueRange<T>& range, |
784 | 85 | PushDownType* pdt) { |
785 | 85 | std::shared_ptr<ColumnPredicate> pred = nullptr; |
786 | 85 | Defer defer = [&]() { |
787 | 85 | if (pred) { |
788 | 84 | DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string(); |
789 | 84 | predicates.emplace_back(pred); |
790 | 84 | } else { |
791 | | // If exception occurs during processing, do not push down |
792 | 1 | *pdt = PushDownType::UNACCEPTABLE; |
793 | 1 | } |
794 | 85 | }; Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE3EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE4EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE5EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv _ZZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE6EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Line | Count | Source | 786 | 7 | Defer defer = [&]() { | 787 | 7 | if (pred) { | 788 | 6 | DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string(); | 789 | 6 | predicates.emplace_back(pred); | 790 | 6 | } else { | 791 | | // If exception occurs during processing, do not push down | 792 | 1 | *pdt = PushDownType::UNACCEPTABLE; | 793 | 1 | } | 794 | 7 | }; |
Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE7EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE8EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv _ZZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE9EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Line | Count | Source | 786 | 60 | Defer defer = [&]() { | 787 | 60 | if (pred) { | 788 | 60 | DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string(); | 789 | 60 | predicates.emplace_back(pred); | 790 | 60 | } else { | 791 | | // If exception occurs during processing, do not push down | 792 | 0 | *pdt = PushDownType::UNACCEPTABLE; | 793 | 0 | } | 794 | 60 | }; |
Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE36EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE37EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE15EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE10EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE23EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE11EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE25EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE12EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE26EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv _ZZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE42EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Line | Count | Source | 786 | 18 | Defer defer = [&]() { | 787 | 18 | if (pred) { | 788 | 18 | DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string(); | 789 | 18 | predicates.emplace_back(pred); | 790 | 18 | } else { | 791 | | // If exception occurs during processing, do not push down | 792 | 0 | *pdt = PushDownType::UNACCEPTABLE; | 793 | 0 | } | 794 | 18 | }; |
Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE20EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE2EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE19EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE28EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE29EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE30EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE35EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv |
795 | | |
796 | 85 | if (slot->get_virtual_column_expr() != nullptr) { |
797 | | // virtual column, do not push down |
798 | 0 | return Status::OK(); |
799 | 0 | } |
800 | | |
801 | 85 | DCHECK(!root->is_rf_wrapper()) << root->debug_string(); |
802 | 85 | DCHECK(TExprNodeType::BINARY_PRED == root->node_type()) << root->debug_string(); |
803 | 85 | DCHECK(root->get_num_children() == 2); |
804 | 85 | Field value; |
805 | 85 | *pdt = _should_push_down_binary_predicate(assert_cast<VectorizedFnCall*>(root.get()), expr_ctx, |
806 | 85 | value, {"eq", "ne", "lt", "gt", "le", "ge"}); |
807 | 85 | if (*pdt == PushDownType::UNACCEPTABLE) { |
808 | 0 | return Status::OK(); |
809 | 0 | } |
810 | 85 | const std::string& function_name = |
811 | 85 | assert_cast<VectorizedFnCall*>(root.get())->fn().name.function_name; |
812 | 85 | auto op = to_olap_filter_type(function_name); |
813 | 85 | auto is_equal_op = op == SQLFilterOp::FILTER_EQ || op == SQLFilterOp::FILTER_NE; |
814 | 85 | auto empty_range = ColumnValueRange<T>::create_empty_column_value_range( |
815 | 85 | slot->is_nullable(), range.precision(), range.scale()); |
816 | 85 | auto& temp_range = op == SQLFilterOp::FILTER_EQ ? empty_range : range; |
817 | 85 | if (value.get_type() != TYPE_NULL) { |
818 | 84 | switch (op) { |
819 | 16 | case SQLFilterOp::FILTER_EQ: |
820 | 16 | pred = create_comparison_predicate<PredicateType::EQ>( |
821 | 16 | _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), |
822 | 16 | slot->type()->get_primitive_type() == TYPE_VARIANT |
823 | 16 | ? root->get_child(0)->data_type() |
824 | 16 | : slot->type(), |
825 | 16 | value, false); |
826 | 16 | break; |
827 | 14 | case SQLFilterOp::FILTER_NE: |
828 | 14 | pred = create_comparison_predicate<PredicateType::NE>( |
829 | 14 | _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), |
830 | 14 | slot->type()->get_primitive_type() == TYPE_VARIANT |
831 | 14 | ? root->get_child(0)->data_type() |
832 | 14 | : slot->type(), |
833 | 14 | value, false); |
834 | 14 | break; |
835 | 13 | case SQLFilterOp::FILTER_LESS: |
836 | 13 | pred = create_comparison_predicate<PredicateType::LT>( |
837 | 13 | _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), |
838 | 13 | slot->type()->get_primitive_type() == TYPE_VARIANT |
839 | 13 | ? root->get_child(0)->data_type() |
840 | 13 | : slot->type(), |
841 | 13 | value, false); |
842 | 13 | break; |
843 | 13 | case SQLFilterOp::FILTER_LARGER: |
844 | 13 | pred = create_comparison_predicate<PredicateType::GT>( |
845 | 13 | _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), |
846 | 13 | slot->type()->get_primitive_type() == TYPE_VARIANT |
847 | 13 | ? root->get_child(0)->data_type() |
848 | 13 | : slot->type(), |
849 | 13 | value, false); |
850 | 13 | break; |
851 | 14 | case SQLFilterOp::FILTER_LESS_OR_EQUAL: |
852 | 14 | pred = create_comparison_predicate<PredicateType::LE>( |
853 | 14 | _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), |
854 | 14 | slot->type()->get_primitive_type() == TYPE_VARIANT |
855 | 14 | ? root->get_child(0)->data_type() |
856 | 14 | : slot->type(), |
857 | 14 | value, false); |
858 | 14 | break; |
859 | 14 | case SQLFilterOp::FILTER_LARGER_OR_EQUAL: |
860 | 14 | pred = create_comparison_predicate<PredicateType::GE>( |
861 | 14 | _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), |
862 | 14 | slot->type()->get_primitive_type() == TYPE_VARIANT |
863 | 14 | ? root->get_child(0)->data_type() |
864 | 14 | : slot->type(), |
865 | 14 | value, false); |
866 | 14 | break; |
867 | 0 | default: |
868 | 0 | throw Exception(Status::InternalError("Unsupported function name: {}", function_name)); |
869 | 84 | } |
870 | | |
871 | 84 | auto fn = op == SQLFilterOp::FILTER_EQ ? ColumnValueRange<T>::add_fixed_value_range |
872 | 84 | : op == SQLFilterOp::FILTER_NE |
873 | 68 | ? (range.is_fixed_value_range() |
874 | 14 | ? ColumnValueRange<T>::remove_fixed_value_range |
875 | 14 | : ColumnValueRange<T>::empty_function) |
876 | 68 | : ColumnValueRange<T>::add_value_range; |
877 | 84 | RETURN_IF_ERROR(_change_value_range(is_equal_op, temp_range, value, fn, function_name)); |
878 | 84 | if (op == SQLFilterOp::FILTER_EQ) { |
879 | 16 | range.intersection(temp_range); |
880 | 16 | } |
881 | 84 | } else { |
882 | 1 | *pdt = PushDownType::UNACCEPTABLE; |
883 | 1 | _eos = true; |
884 | 1 | _scan_dependency->set_ready(); |
885 | 1 | } |
886 | | |
887 | 85 | return Status::OK(); |
888 | 85 | } Unexecuted instantiation: _ZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE3EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE4EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE5EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE _ZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE6EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Line | Count | Source | 784 | 7 | PushDownType* pdt) { | 785 | 7 | std::shared_ptr<ColumnPredicate> pred = nullptr; | 786 | 7 | Defer defer = [&]() { | 787 | 7 | if (pred) { | 788 | 7 | DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string(); | 789 | 7 | predicates.emplace_back(pred); | 790 | 7 | } else { | 791 | | // If exception occurs during processing, do not push down | 792 | 7 | *pdt = PushDownType::UNACCEPTABLE; | 793 | 7 | } | 794 | 7 | }; | 795 | | | 796 | 7 | if (slot->get_virtual_column_expr() != nullptr) { | 797 | | // virtual column, do not push down | 798 | 0 | return Status::OK(); | 799 | 0 | } | 800 | | | 801 | 7 | DCHECK(!root->is_rf_wrapper()) << root->debug_string(); | 802 | 7 | DCHECK(TExprNodeType::BINARY_PRED == root->node_type()) << root->debug_string(); | 803 | 7 | DCHECK(root->get_num_children() == 2); | 804 | 7 | Field value; | 805 | 7 | *pdt = _should_push_down_binary_predicate(assert_cast<VectorizedFnCall*>(root.get()), expr_ctx, | 806 | 7 | value, {"eq", "ne", "lt", "gt", "le", "ge"}); | 807 | 7 | if (*pdt == PushDownType::UNACCEPTABLE) { | 808 | 0 | return Status::OK(); | 809 | 0 | } | 810 | 7 | const std::string& function_name = | 811 | 7 | assert_cast<VectorizedFnCall*>(root.get())->fn().name.function_name; | 812 | 7 | auto op = to_olap_filter_type(function_name); | 813 | 7 | auto is_equal_op = op == SQLFilterOp::FILTER_EQ || op == SQLFilterOp::FILTER_NE; | 814 | 7 | auto empty_range = ColumnValueRange<T>::create_empty_column_value_range( | 815 | 7 | slot->is_nullable(), range.precision(), range.scale()); | 816 | 7 | auto& temp_range = op == SQLFilterOp::FILTER_EQ ? empty_range : range; | 817 | 7 | if (value.get_type() != TYPE_NULL) { | 818 | 6 | switch (op) { | 819 | 3 | case SQLFilterOp::FILTER_EQ: | 820 | 3 | pred = create_comparison_predicate<PredicateType::EQ>( | 821 | 3 | _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), | 822 | 3 | slot->type()->get_primitive_type() == TYPE_VARIANT | 823 | 3 | ? root->get_child(0)->data_type() | 824 | 3 | : slot->type(), | 825 | 3 | value, false); | 826 | 3 | break; | 827 | 1 | case SQLFilterOp::FILTER_NE: | 828 | 1 | pred = create_comparison_predicate<PredicateType::NE>( | 829 | 1 | _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), | 830 | 1 | slot->type()->get_primitive_type() == TYPE_VARIANT | 831 | 1 | ? root->get_child(0)->data_type() | 832 | 1 | : slot->type(), | 833 | 1 | value, false); | 834 | 1 | break; | 835 | 0 | case SQLFilterOp::FILTER_LESS: | 836 | 0 | pred = create_comparison_predicate<PredicateType::LT>( | 837 | 0 | _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), | 838 | 0 | slot->type()->get_primitive_type() == TYPE_VARIANT | 839 | 0 | ? root->get_child(0)->data_type() | 840 | 0 | : slot->type(), | 841 | 0 | value, false); | 842 | 0 | break; | 843 | 0 | case SQLFilterOp::FILTER_LARGER: | 844 | 0 | pred = create_comparison_predicate<PredicateType::GT>( | 845 | 0 | _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), | 846 | 0 | slot->type()->get_primitive_type() == TYPE_VARIANT | 847 | 0 | ? root->get_child(0)->data_type() | 848 | 0 | : slot->type(), | 849 | 0 | value, false); | 850 | 0 | break; | 851 | 1 | case SQLFilterOp::FILTER_LESS_OR_EQUAL: | 852 | 1 | pred = create_comparison_predicate<PredicateType::LE>( | 853 | 1 | _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), | 854 | 1 | slot->type()->get_primitive_type() == TYPE_VARIANT | 855 | 1 | ? root->get_child(0)->data_type() | 856 | 1 | : slot->type(), | 857 | 1 | value, false); | 858 | 1 | break; | 859 | 1 | case SQLFilterOp::FILTER_LARGER_OR_EQUAL: | 860 | 1 | pred = create_comparison_predicate<PredicateType::GE>( | 861 | 1 | _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), | 862 | 1 | slot->type()->get_primitive_type() == TYPE_VARIANT | 863 | 1 | ? root->get_child(0)->data_type() | 864 | 1 | : slot->type(), | 865 | 1 | value, false); | 866 | 1 | break; | 867 | 0 | default: | 868 | 0 | throw Exception(Status::InternalError("Unsupported function name: {}", function_name)); | 869 | 6 | } | 870 | | | 871 | 6 | auto fn = op == SQLFilterOp::FILTER_EQ ? ColumnValueRange<T>::add_fixed_value_range | 872 | 6 | : op == SQLFilterOp::FILTER_NE | 873 | 3 | ? (range.is_fixed_value_range() | 874 | 1 | ? ColumnValueRange<T>::remove_fixed_value_range | 875 | 1 | : ColumnValueRange<T>::empty_function) | 876 | 3 | : ColumnValueRange<T>::add_value_range; | 877 | 6 | RETURN_IF_ERROR(_change_value_range(is_equal_op, temp_range, value, fn, function_name)); | 878 | 6 | if (op == SQLFilterOp::FILTER_EQ) { | 879 | 3 | range.intersection(temp_range); | 880 | 3 | } | 881 | 6 | } else { | 882 | 1 | *pdt = PushDownType::UNACCEPTABLE; | 883 | 1 | _eos = true; | 884 | 1 | _scan_dependency->set_ready(); | 885 | 1 | } | 886 | | | 887 | 7 | return Status::OK(); | 888 | 7 | } |
Unexecuted instantiation: _ZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE7EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE8EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE _ZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE9EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Line | Count | Source | 784 | 60 | PushDownType* pdt) { | 785 | 60 | std::shared_ptr<ColumnPredicate> pred = nullptr; | 786 | 60 | Defer defer = [&]() { | 787 | 60 | if (pred) { | 788 | 60 | DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string(); | 789 | 60 | predicates.emplace_back(pred); | 790 | 60 | } else { | 791 | | // If exception occurs during processing, do not push down | 792 | 60 | *pdt = PushDownType::UNACCEPTABLE; | 793 | 60 | } | 794 | 60 | }; | 795 | | | 796 | 60 | if (slot->get_virtual_column_expr() != nullptr) { | 797 | | // virtual column, do not push down | 798 | 0 | return Status::OK(); | 799 | 0 | } | 800 | | | 801 | 60 | DCHECK(!root->is_rf_wrapper()) << root->debug_string(); | 802 | 60 | DCHECK(TExprNodeType::BINARY_PRED == root->node_type()) << root->debug_string(); | 803 | 60 | DCHECK(root->get_num_children() == 2); | 804 | 60 | Field value; | 805 | 60 | *pdt = _should_push_down_binary_predicate(assert_cast<VectorizedFnCall*>(root.get()), expr_ctx, | 806 | 60 | value, {"eq", "ne", "lt", "gt", "le", "ge"}); | 807 | 60 | if (*pdt == PushDownType::UNACCEPTABLE) { | 808 | 0 | return Status::OK(); | 809 | 0 | } | 810 | 60 | const std::string& function_name = | 811 | 60 | assert_cast<VectorizedFnCall*>(root.get())->fn().name.function_name; | 812 | 60 | auto op = to_olap_filter_type(function_name); | 813 | 60 | auto is_equal_op = op == SQLFilterOp::FILTER_EQ || op == SQLFilterOp::FILTER_NE; | 814 | 60 | auto empty_range = ColumnValueRange<T>::create_empty_column_value_range( | 815 | 60 | slot->is_nullable(), range.precision(), range.scale()); | 816 | 60 | auto& temp_range = op == SQLFilterOp::FILTER_EQ ? empty_range : range; | 817 | 60 | if (value.get_type() != TYPE_NULL) { | 818 | 60 | switch (op) { | 819 | 10 | case SQLFilterOp::FILTER_EQ: | 820 | 10 | pred = create_comparison_predicate<PredicateType::EQ>( | 821 | 10 | _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), | 822 | 10 | slot->type()->get_primitive_type() == TYPE_VARIANT | 823 | 10 | ? root->get_child(0)->data_type() | 824 | 10 | : slot->type(), | 825 | 10 | value, false); | 826 | 10 | break; | 827 | 10 | case SQLFilterOp::FILTER_NE: | 828 | 10 | pred = create_comparison_predicate<PredicateType::NE>( | 829 | 10 | _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), | 830 | 10 | slot->type()->get_primitive_type() == TYPE_VARIANT | 831 | 10 | ? root->get_child(0)->data_type() | 832 | 10 | : slot->type(), | 833 | 10 | value, false); | 834 | 10 | break; | 835 | 10 | case SQLFilterOp::FILTER_LESS: | 836 | 10 | pred = create_comparison_predicate<PredicateType::LT>( | 837 | 10 | _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), | 838 | 10 | slot->type()->get_primitive_type() == TYPE_VARIANT | 839 | 10 | ? root->get_child(0)->data_type() | 840 | 10 | : slot->type(), | 841 | 10 | value, false); | 842 | 10 | break; | 843 | 10 | case SQLFilterOp::FILTER_LARGER: | 844 | 10 | pred = create_comparison_predicate<PredicateType::GT>( | 845 | 10 | _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), | 846 | 10 | slot->type()->get_primitive_type() == TYPE_VARIANT | 847 | 10 | ? root->get_child(0)->data_type() | 848 | 10 | : slot->type(), | 849 | 10 | value, false); | 850 | 10 | break; | 851 | 10 | case SQLFilterOp::FILTER_LESS_OR_EQUAL: | 852 | 10 | pred = create_comparison_predicate<PredicateType::LE>( | 853 | 10 | _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), | 854 | 10 | slot->type()->get_primitive_type() == TYPE_VARIANT | 855 | 10 | ? root->get_child(0)->data_type() | 856 | 10 | : slot->type(), | 857 | 10 | value, false); | 858 | 10 | break; | 859 | 10 | case SQLFilterOp::FILTER_LARGER_OR_EQUAL: | 860 | 10 | pred = create_comparison_predicate<PredicateType::GE>( | 861 | 10 | _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), | 862 | 10 | slot->type()->get_primitive_type() == TYPE_VARIANT | 863 | 10 | ? root->get_child(0)->data_type() | 864 | 10 | : slot->type(), | 865 | 10 | value, false); | 866 | 10 | break; | 867 | 0 | default: | 868 | 0 | throw Exception(Status::InternalError("Unsupported function name: {}", function_name)); | 869 | 60 | } | 870 | | | 871 | 60 | auto fn = op == SQLFilterOp::FILTER_EQ ? ColumnValueRange<T>::add_fixed_value_range | 872 | 60 | : op == SQLFilterOp::FILTER_NE | 873 | 50 | ? (range.is_fixed_value_range() | 874 | 10 | ? ColumnValueRange<T>::remove_fixed_value_range | 875 | 10 | : ColumnValueRange<T>::empty_function) | 876 | 50 | : ColumnValueRange<T>::add_value_range; | 877 | 60 | RETURN_IF_ERROR(_change_value_range(is_equal_op, temp_range, value, fn, function_name)); | 878 | 60 | if (op == SQLFilterOp::FILTER_EQ) { | 879 | 10 | range.intersection(temp_range); | 880 | 10 | } | 881 | 60 | } else { | 882 | 0 | *pdt = PushDownType::UNACCEPTABLE; | 883 | 0 | _eos = true; | 884 | 0 | _scan_dependency->set_ready(); | 885 | 0 | } | 886 | | | 887 | 60 | return Status::OK(); | 888 | 60 | } |
Unexecuted instantiation: _ZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE36EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE37EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE15EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE10EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE23EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE11EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE25EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE12EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE26EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE _ZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE42EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Line | Count | Source | 784 | 18 | PushDownType* pdt) { | 785 | 18 | std::shared_ptr<ColumnPredicate> pred = nullptr; | 786 | 18 | Defer defer = [&]() { | 787 | 18 | if (pred) { | 788 | 18 | DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string(); | 789 | 18 | predicates.emplace_back(pred); | 790 | 18 | } else { | 791 | | // If exception occurs during processing, do not push down | 792 | 18 | *pdt = PushDownType::UNACCEPTABLE; | 793 | 18 | } | 794 | 18 | }; | 795 | | | 796 | 18 | if (slot->get_virtual_column_expr() != nullptr) { | 797 | | // virtual column, do not push down | 798 | 0 | return Status::OK(); | 799 | 0 | } | 800 | | | 801 | 18 | DCHECK(!root->is_rf_wrapper()) << root->debug_string(); | 802 | 18 | DCHECK(TExprNodeType::BINARY_PRED == root->node_type()) << root->debug_string(); | 803 | 18 | DCHECK(root->get_num_children() == 2); | 804 | 18 | Field value; | 805 | 18 | *pdt = _should_push_down_binary_predicate(assert_cast<VectorizedFnCall*>(root.get()), expr_ctx, | 806 | 18 | value, {"eq", "ne", "lt", "gt", "le", "ge"}); | 807 | 18 | if (*pdt == PushDownType::UNACCEPTABLE) { | 808 | 0 | return Status::OK(); | 809 | 0 | } | 810 | 18 | const std::string& function_name = | 811 | 18 | assert_cast<VectorizedFnCall*>(root.get())->fn().name.function_name; | 812 | 18 | auto op = to_olap_filter_type(function_name); | 813 | 18 | auto is_equal_op = op == SQLFilterOp::FILTER_EQ || op == SQLFilterOp::FILTER_NE; | 814 | 18 | auto empty_range = ColumnValueRange<T>::create_empty_column_value_range( | 815 | 18 | slot->is_nullable(), range.precision(), range.scale()); | 816 | 18 | auto& temp_range = op == SQLFilterOp::FILTER_EQ ? empty_range : range; | 817 | 18 | if (value.get_type() != TYPE_NULL) { | 818 | 18 | switch (op) { | 819 | 3 | case SQLFilterOp::FILTER_EQ: | 820 | 3 | pred = create_comparison_predicate<PredicateType::EQ>( | 821 | 3 | _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), | 822 | 3 | slot->type()->get_primitive_type() == TYPE_VARIANT | 823 | 3 | ? root->get_child(0)->data_type() | 824 | 3 | : slot->type(), | 825 | 3 | value, false); | 826 | 3 | break; | 827 | 3 | case SQLFilterOp::FILTER_NE: | 828 | 3 | pred = create_comparison_predicate<PredicateType::NE>( | 829 | 3 | _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), | 830 | 3 | slot->type()->get_primitive_type() == TYPE_VARIANT | 831 | 3 | ? root->get_child(0)->data_type() | 832 | 3 | : slot->type(), | 833 | 3 | value, false); | 834 | 3 | break; | 835 | 3 | case SQLFilterOp::FILTER_LESS: | 836 | 3 | pred = create_comparison_predicate<PredicateType::LT>( | 837 | 3 | _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), | 838 | 3 | slot->type()->get_primitive_type() == TYPE_VARIANT | 839 | 3 | ? root->get_child(0)->data_type() | 840 | 3 | : slot->type(), | 841 | 3 | value, false); | 842 | 3 | break; | 843 | 3 | case SQLFilterOp::FILTER_LARGER: | 844 | 3 | pred = create_comparison_predicate<PredicateType::GT>( | 845 | 3 | _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), | 846 | 3 | slot->type()->get_primitive_type() == TYPE_VARIANT | 847 | 3 | ? root->get_child(0)->data_type() | 848 | 3 | : slot->type(), | 849 | 3 | value, false); | 850 | 3 | break; | 851 | 3 | case SQLFilterOp::FILTER_LESS_OR_EQUAL: | 852 | 3 | pred = create_comparison_predicate<PredicateType::LE>( | 853 | 3 | _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), | 854 | 3 | slot->type()->get_primitive_type() == TYPE_VARIANT | 855 | 3 | ? root->get_child(0)->data_type() | 856 | 3 | : slot->type(), | 857 | 3 | value, false); | 858 | 3 | break; | 859 | 3 | case SQLFilterOp::FILTER_LARGER_OR_EQUAL: | 860 | 3 | pred = create_comparison_predicate<PredicateType::GE>( | 861 | 3 | _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), | 862 | 3 | slot->type()->get_primitive_type() == TYPE_VARIANT | 863 | 3 | ? root->get_child(0)->data_type() | 864 | 3 | : slot->type(), | 865 | 3 | value, false); | 866 | 3 | break; | 867 | 0 | default: | 868 | 0 | throw Exception(Status::InternalError("Unsupported function name: {}", function_name)); | 869 | 18 | } | 870 | | | 871 | 18 | auto fn = op == SQLFilterOp::FILTER_EQ ? ColumnValueRange<T>::add_fixed_value_range | 872 | 18 | : op == SQLFilterOp::FILTER_NE | 873 | 15 | ? (range.is_fixed_value_range() | 874 | 3 | ? ColumnValueRange<T>::remove_fixed_value_range | 875 | 3 | : ColumnValueRange<T>::empty_function) | 876 | 15 | : ColumnValueRange<T>::add_value_range; | 877 | 18 | RETURN_IF_ERROR(_change_value_range(is_equal_op, temp_range, value, fn, function_name)); | 878 | 18 | if (op == SQLFilterOp::FILTER_EQ) { | 879 | 3 | range.intersection(temp_range); | 880 | 3 | } | 881 | 18 | } else { | 882 | 0 | *pdt = PushDownType::UNACCEPTABLE; | 883 | 0 | _eos = true; | 884 | 0 | _scan_dependency->set_ready(); | 885 | 0 | } | 886 | | | 887 | 18 | return Status::OK(); | 888 | 18 | } |
Unexecuted instantiation: _ZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE20EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE2EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE19EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE28EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE29EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE30EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase27_normalize_binary_predicateILNS_13PrimitiveTypeE35EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE |
889 | | |
890 | | template <PrimitiveType PrimitiveType, typename ChangeFixedValueRangeFunc> |
891 | | Status ScanLocalStateBase::_change_value_range(bool is_equal_op, |
892 | | ColumnValueRange<PrimitiveType>& temp_range, |
893 | | const Field& value, |
894 | | const ChangeFixedValueRangeFunc& func, |
895 | 122 | const std::string& fn_name) { |
896 | 122 | if constexpr (PrimitiveType == TYPE_DATE) { |
897 | 0 | auto tmp_value = value.template get<TYPE_DATE>(); |
898 | 0 | if (is_equal_op) { |
899 | 0 | if (!tmp_value.check_loss_accuracy_cast_to_date()) { |
900 | 0 | func(temp_range, to_olap_filter_type(fn_name), tmp_value); |
901 | 0 | } |
902 | 0 | } else { |
903 | 0 | if (tmp_value.check_loss_accuracy_cast_to_date()) { |
904 | 0 | if (fn_name == "lt" || fn_name == "ge") { |
905 | 0 | ++tmp_value; |
906 | 0 | } |
907 | 0 | } |
908 | 0 | func(temp_range, to_olap_filter_type(fn_name), tmp_value); |
909 | 0 | } |
910 | | } else if constexpr ((PrimitiveType == TYPE_DECIMALV2) || (PrimitiveType == TYPE_DATETIMEV2) || |
911 | | (PrimitiveType == TYPE_TINYINT) || (PrimitiveType == TYPE_SMALLINT) || |
912 | | (PrimitiveType == TYPE_INT) || (PrimitiveType == TYPE_BIGINT) || |
913 | | (PrimitiveType == TYPE_LARGEINT) || (PrimitiveType == TYPE_FLOAT) || |
914 | | (PrimitiveType == TYPE_DOUBLE) || (PrimitiveType == TYPE_IPV4) || |
915 | | (PrimitiveType == TYPE_IPV6) || (PrimitiveType == TYPE_DECIMAL32) || |
916 | | (PrimitiveType == TYPE_DECIMAL64) || (PrimitiveType == TYPE_DECIMAL128I) || |
917 | | (PrimitiveType == TYPE_DECIMAL256) || (PrimitiveType == TYPE_BOOLEAN) || |
918 | | (PrimitiveType == TYPE_DATEV2) || (PrimitiveType == TYPE_TIMESTAMPTZ) || |
919 | 122 | (PrimitiveType == TYPE_DATETIME) || is_string_type(PrimitiveType)) { |
920 | 122 | func(temp_range, to_olap_filter_type(fn_name), value.template get<PrimitiveType>()); |
921 | 122 | } else if constexpr (PrimitiveType == TYPE_HLL) { |
922 | 0 | auto tmp = value.template get<PrimitiveType>(); |
923 | 0 | func(temp_range, to_olap_filter_type(fn_name), |
924 | 0 | StringRef(reinterpret_cast<const char*>(&tmp), sizeof(tmp))); |
925 | | } else { |
926 | | static_assert(always_false_v<PrimitiveType>); |
927 | | } |
928 | 122 | return Status::OK(); |
929 | 122 | } Unexecuted instantiation: _ZN5doris18ScanLocalStateBase19_change_value_rangeILNS_13PrimitiveTypeE3EPFvRNS_16ColumnValueRangeILS2_3EEENS_11SQLFilterOpERKaEEENS_6StatusEbRNS3_IXT_EEERKNS_5FieldERKT0_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase19_change_value_rangeILNS_13PrimitiveTypeE4EPFvRNS_16ColumnValueRangeILS2_4EEENS_11SQLFilterOpERKsEEENS_6StatusEbRNS3_IXT_EEERKNS_5FieldERKT0_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase19_change_value_rangeILNS_13PrimitiveTypeE5EPFvRNS_16ColumnValueRangeILS2_5EEENS_11SQLFilterOpERKiEEENS_6StatusEbRNS3_IXT_EEERKNS_5FieldERKT0_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE _ZN5doris18ScanLocalStateBase19_change_value_rangeILNS_13PrimitiveTypeE6EPFvRNS_16ColumnValueRangeILS2_6EEENS_11SQLFilterOpERKlEEENS_6StatusEbRNS3_IXT_EEERKNS_5FieldERKT0_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE Line | Count | Source | 895 | 18 | const std::string& fn_name) { | 896 | | if constexpr (PrimitiveType == TYPE_DATE) { | 897 | | auto tmp_value = value.template get<TYPE_DATE>(); | 898 | | if (is_equal_op) { | 899 | | if (!tmp_value.check_loss_accuracy_cast_to_date()) { | 900 | | func(temp_range, to_olap_filter_type(fn_name), tmp_value); | 901 | | } | 902 | | } else { | 903 | | if (tmp_value.check_loss_accuracy_cast_to_date()) { | 904 | | if (fn_name == "lt" || fn_name == "ge") { | 905 | | ++tmp_value; | 906 | | } | 907 | | } | 908 | | func(temp_range, to_olap_filter_type(fn_name), tmp_value); | 909 | | } | 910 | | } else if constexpr ((PrimitiveType == TYPE_DECIMALV2) || (PrimitiveType == TYPE_DATETIMEV2) || | 911 | | (PrimitiveType == TYPE_TINYINT) || (PrimitiveType == TYPE_SMALLINT) || | 912 | | (PrimitiveType == TYPE_INT) || (PrimitiveType == TYPE_BIGINT) || | 913 | | (PrimitiveType == TYPE_LARGEINT) || (PrimitiveType == TYPE_FLOAT) || | 914 | | (PrimitiveType == TYPE_DOUBLE) || (PrimitiveType == TYPE_IPV4) || | 915 | | (PrimitiveType == TYPE_IPV6) || (PrimitiveType == TYPE_DECIMAL32) || | 916 | | (PrimitiveType == TYPE_DECIMAL64) || (PrimitiveType == TYPE_DECIMAL128I) || | 917 | | (PrimitiveType == TYPE_DECIMAL256) || (PrimitiveType == TYPE_BOOLEAN) || | 918 | | (PrimitiveType == TYPE_DATEV2) || (PrimitiveType == TYPE_TIMESTAMPTZ) || | 919 | 18 | (PrimitiveType == TYPE_DATETIME) || is_string_type(PrimitiveType)) { | 920 | 18 | func(temp_range, to_olap_filter_type(fn_name), value.template get<PrimitiveType>()); | 921 | | } else if constexpr (PrimitiveType == TYPE_HLL) { | 922 | | auto tmp = value.template get<PrimitiveType>(); | 923 | | func(temp_range, to_olap_filter_type(fn_name), | 924 | | StringRef(reinterpret_cast<const char*>(&tmp), sizeof(tmp))); | 925 | | } else { | 926 | | static_assert(always_false_v<PrimitiveType>); | 927 | | } | 928 | 18 | return Status::OK(); | 929 | 18 | } |
Unexecuted instantiation: _ZN5doris18ScanLocalStateBase19_change_value_rangeILNS_13PrimitiveTypeE7EPFvRNS_16ColumnValueRangeILS2_7EEENS_11SQLFilterOpERKnEEENS_6StatusEbRNS3_IXT_EEERKNS_5FieldERKT0_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase19_change_value_rangeILNS_13PrimitiveTypeE8EPFvRNS_16ColumnValueRangeILS2_8EEENS_11SQLFilterOpERKfEEENS_6StatusEbRNS3_IXT_EEERKNS_5FieldERKT0_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE _ZN5doris18ScanLocalStateBase19_change_value_rangeILNS_13PrimitiveTypeE9EPFvRNS_16ColumnValueRangeILS2_9EEENS_11SQLFilterOpERKdEEENS_6StatusEbRNS3_IXT_EEERKNS_5FieldERKT0_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE Line | Count | Source | 895 | 80 | const std::string& fn_name) { | 896 | | if constexpr (PrimitiveType == TYPE_DATE) { | 897 | | auto tmp_value = value.template get<TYPE_DATE>(); | 898 | | if (is_equal_op) { | 899 | | if (!tmp_value.check_loss_accuracy_cast_to_date()) { | 900 | | func(temp_range, to_olap_filter_type(fn_name), tmp_value); | 901 | | } | 902 | | } else { | 903 | | if (tmp_value.check_loss_accuracy_cast_to_date()) { | 904 | | if (fn_name == "lt" || fn_name == "ge") { | 905 | | ++tmp_value; | 906 | | } | 907 | | } | 908 | | func(temp_range, to_olap_filter_type(fn_name), tmp_value); | 909 | | } | 910 | | } else if constexpr ((PrimitiveType == TYPE_DECIMALV2) || (PrimitiveType == TYPE_DATETIMEV2) || | 911 | | (PrimitiveType == TYPE_TINYINT) || (PrimitiveType == TYPE_SMALLINT) || | 912 | | (PrimitiveType == TYPE_INT) || (PrimitiveType == TYPE_BIGINT) || | 913 | | (PrimitiveType == TYPE_LARGEINT) || (PrimitiveType == TYPE_FLOAT) || | 914 | | (PrimitiveType == TYPE_DOUBLE) || (PrimitiveType == TYPE_IPV4) || | 915 | | (PrimitiveType == TYPE_IPV6) || (PrimitiveType == TYPE_DECIMAL32) || | 916 | | (PrimitiveType == TYPE_DECIMAL64) || (PrimitiveType == TYPE_DECIMAL128I) || | 917 | | (PrimitiveType == TYPE_DECIMAL256) || (PrimitiveType == TYPE_BOOLEAN) || | 918 | | (PrimitiveType == TYPE_DATEV2) || (PrimitiveType == TYPE_TIMESTAMPTZ) || | 919 | 80 | (PrimitiveType == TYPE_DATETIME) || is_string_type(PrimitiveType)) { | 920 | 80 | func(temp_range, to_olap_filter_type(fn_name), value.template get<PrimitiveType>()); | 921 | | } else if constexpr (PrimitiveType == TYPE_HLL) { | 922 | | auto tmp = value.template get<PrimitiveType>(); | 923 | | func(temp_range, to_olap_filter_type(fn_name), | 924 | | StringRef(reinterpret_cast<const char*>(&tmp), sizeof(tmp))); | 925 | | } else { | 926 | | static_assert(always_false_v<PrimitiveType>); | 927 | | } | 928 | 80 | return Status::OK(); | 929 | 80 | } |
Unexecuted instantiation: _ZN5doris18ScanLocalStateBase19_change_value_rangeILNS_13PrimitiveTypeE36EPFvRNS_16ColumnValueRangeILS2_36EEENS_11SQLFilterOpERKjEEENS_6StatusEbRNS3_IXT_EEERKNS_5FieldERKT0_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase19_change_value_rangeILNS_13PrimitiveTypeE37EPFvRNS_16ColumnValueRangeILS2_37EEENS_11SQLFilterOpERKoEEENS_6StatusEbRNS3_IXT_EEERKNS_5FieldERKT0_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase19_change_value_rangeILNS_13PrimitiveTypeE15EPFvRNS_16ColumnValueRangeILS2_15EEENS_11SQLFilterOpERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEENS_6StatusEbRNS3_IXT_EEERKNS_5FieldERKT0_SE_ Unexecuted instantiation: _ZN5doris18ScanLocalStateBase19_change_value_rangeILNS_13PrimitiveTypeE10EPFvRNS_16ColumnValueRangeILS2_10EEENS_11SQLFilterOpERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEENS_6StatusEbRNS3_IXT_EEERKNS_5FieldERKT0_SE_ Unexecuted instantiation: _ZN5doris18ScanLocalStateBase19_change_value_rangeILNS_13PrimitiveTypeE23EPFvRNS_16ColumnValueRangeILS2_23EEENS_11SQLFilterOpERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEENS_6StatusEbRNS3_IXT_EEERKNS_5FieldERKT0_SE_ Unexecuted instantiation: _ZN5doris18ScanLocalStateBase19_change_value_rangeILNS_13PrimitiveTypeE11EPFvRNS_16ColumnValueRangeILS2_11EEENS_11SQLFilterOpERKNS_16VecDateTimeValueEEEENS_6StatusEbRNS3_IXT_EEERKNS_5FieldERKT0_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase19_change_value_rangeILNS_13PrimitiveTypeE25EPFvRNS_16ColumnValueRangeILS2_25EEENS_11SQLFilterOpERKNS_11DateV2ValueINS_15DateV2ValueTypeEEEEEENS_6StatusEbRNS3_IXT_EEERKNS_5FieldERKT0_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase19_change_value_rangeILNS_13PrimitiveTypeE12EPFvRNS_16ColumnValueRangeILS2_12EEENS_11SQLFilterOpERKNS_16VecDateTimeValueEEEENS_6StatusEbRNS3_IXT_EEERKNS_5FieldERKT0_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase19_change_value_rangeILNS_13PrimitiveTypeE26EPFvRNS_16ColumnValueRangeILS2_26EEENS_11SQLFilterOpERKNS_11DateV2ValueINS_19DateTimeV2ValueTypeEEEEEENS_6StatusEbRNS3_IXT_EEERKNS_5FieldERKT0_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE _ZN5doris18ScanLocalStateBase19_change_value_rangeILNS_13PrimitiveTypeE42EPFvRNS_16ColumnValueRangeILS2_42EEENS_11SQLFilterOpERKNS_16TimestampTzValueEEEENS_6StatusEbRNS3_IXT_EEERKNS_5FieldERKT0_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE Line | Count | Source | 895 | 24 | const std::string& fn_name) { | 896 | | if constexpr (PrimitiveType == TYPE_DATE) { | 897 | | auto tmp_value = value.template get<TYPE_DATE>(); | 898 | | if (is_equal_op) { | 899 | | if (!tmp_value.check_loss_accuracy_cast_to_date()) { | 900 | | func(temp_range, to_olap_filter_type(fn_name), tmp_value); | 901 | | } | 902 | | } else { | 903 | | if (tmp_value.check_loss_accuracy_cast_to_date()) { | 904 | | if (fn_name == "lt" || fn_name == "ge") { | 905 | | ++tmp_value; | 906 | | } | 907 | | } | 908 | | func(temp_range, to_olap_filter_type(fn_name), tmp_value); | 909 | | } | 910 | | } else if constexpr ((PrimitiveType == TYPE_DECIMALV2) || (PrimitiveType == TYPE_DATETIMEV2) || | 911 | | (PrimitiveType == TYPE_TINYINT) || (PrimitiveType == TYPE_SMALLINT) || | 912 | | (PrimitiveType == TYPE_INT) || (PrimitiveType == TYPE_BIGINT) || | 913 | | (PrimitiveType == TYPE_LARGEINT) || (PrimitiveType == TYPE_FLOAT) || | 914 | | (PrimitiveType == TYPE_DOUBLE) || (PrimitiveType == TYPE_IPV4) || | 915 | | (PrimitiveType == TYPE_IPV6) || (PrimitiveType == TYPE_DECIMAL32) || | 916 | | (PrimitiveType == TYPE_DECIMAL64) || (PrimitiveType == TYPE_DECIMAL128I) || | 917 | | (PrimitiveType == TYPE_DECIMAL256) || (PrimitiveType == TYPE_BOOLEAN) || | 918 | | (PrimitiveType == TYPE_DATEV2) || (PrimitiveType == TYPE_TIMESTAMPTZ) || | 919 | 24 | (PrimitiveType == TYPE_DATETIME) || is_string_type(PrimitiveType)) { | 920 | 24 | func(temp_range, to_olap_filter_type(fn_name), value.template get<PrimitiveType>()); | 921 | | } else if constexpr (PrimitiveType == TYPE_HLL) { | 922 | | auto tmp = value.template get<PrimitiveType>(); | 923 | | func(temp_range, to_olap_filter_type(fn_name), | 924 | | StringRef(reinterpret_cast<const char*>(&tmp), sizeof(tmp))); | 925 | | } else { | 926 | | static_assert(always_false_v<PrimitiveType>); | 927 | | } | 928 | 24 | return Status::OK(); | 929 | 24 | } |
Unexecuted instantiation: _ZN5doris18ScanLocalStateBase19_change_value_rangeILNS_13PrimitiveTypeE20EPFvRNS_16ColumnValueRangeILS2_20EEENS_11SQLFilterOpERKNS_14DecimalV2ValueEEEENS_6StatusEbRNS3_IXT_EEERKNS_5FieldERKT0_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase19_change_value_rangeILNS_13PrimitiveTypeE2EPFvRNS_16ColumnValueRangeILS2_2EEENS_11SQLFilterOpERKhEEENS_6StatusEbRNS3_IXT_EEERKNS_5FieldERKT0_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase19_change_value_rangeILNS_13PrimitiveTypeE19EPFvRNS_16ColumnValueRangeILS2_19EEENS_11SQLFilterOpERKNS_9StringRefEEEENS_6StatusEbRNS3_IXT_EEERKNS_5FieldERKT0_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase19_change_value_rangeILNS_13PrimitiveTypeE28EPFvRNS_16ColumnValueRangeILS2_28EEENS_11SQLFilterOpERKNS_7DecimalIiEEEEENS_6StatusEbRNS3_IXT_EEERKNS_5FieldERKT0_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase19_change_value_rangeILNS_13PrimitiveTypeE29EPFvRNS_16ColumnValueRangeILS2_29EEENS_11SQLFilterOpERKNS_7DecimalIlEEEEENS_6StatusEbRNS3_IXT_EEERKNS_5FieldERKT0_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase19_change_value_rangeILNS_13PrimitiveTypeE30EPFvRNS_16ColumnValueRangeILS2_30EEENS_11SQLFilterOpERKNS_12Decimal128V3EEEENS_6StatusEbRNS3_IXT_EEERKNS_5FieldERKT0_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase19_change_value_rangeILNS_13PrimitiveTypeE35EPFvRNS_16ColumnValueRangeILS2_35EEENS_11SQLFilterOpERKNS_7DecimalIN4wide7integerILm256EiEEEEEEENS_6StatusEbRNS3_IXT_EEERKNS_5FieldERKT0_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE |
930 | | |
931 | | template <PrimitiveType T> |
932 | | Status ScanLocalStateBase::_normalize_is_null_predicate( |
933 | | VExprContext* expr_ctx, const VExprSPtr& root, SlotDescriptor* slot, |
934 | | std::vector<std::shared_ptr<ColumnPredicate>>& predicates, ColumnValueRange<T>& range, |
935 | 4 | PushDownType* pdt) { |
936 | 4 | std::shared_ptr<ColumnPredicate> pred = nullptr; |
937 | 4 | Defer defer = [&]() { |
938 | 4 | if (pred) { |
939 | 4 | DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string(); |
940 | 4 | predicates.emplace_back(pred); |
941 | 4 | } else { |
942 | | // If exception occurs during processing, do not push down |
943 | 0 | *pdt = PushDownType::UNACCEPTABLE; |
944 | 0 | } |
945 | 4 | }; Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE3EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE4EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE5EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv _ZZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE6EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Line | Count | Source | 937 | 2 | Defer defer = [&]() { | 938 | 2 | if (pred) { | 939 | 2 | DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string(); | 940 | 2 | predicates.emplace_back(pred); | 941 | 2 | } else { | 942 | | // If exception occurs during processing, do not push down | 943 | 0 | *pdt = PushDownType::UNACCEPTABLE; | 944 | 0 | } | 945 | 2 | }; |
Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE7EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE8EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv _ZZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE9EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Line | Count | Source | 937 | 1 | Defer defer = [&]() { | 938 | 1 | if (pred) { | 939 | 1 | DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string(); | 940 | 1 | predicates.emplace_back(pred); | 941 | 1 | } else { | 942 | | // If exception occurs during processing, do not push down | 943 | 0 | *pdt = PushDownType::UNACCEPTABLE; | 944 | 0 | } | 945 | 1 | }; |
Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE36EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE37EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE15EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE10EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE23EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE11EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE25EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE12EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE26EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv _ZZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE42EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Line | Count | Source | 937 | 1 | Defer defer = [&]() { | 938 | 1 | if (pred) { | 939 | 1 | DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string(); | 940 | 1 | predicates.emplace_back(pred); | 941 | 1 | } else { | 942 | | // If exception occurs during processing, do not push down | 943 | 0 | *pdt = PushDownType::UNACCEPTABLE; | 944 | 0 | } | 945 | 1 | }; |
Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE20EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE2EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE19EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE28EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE29EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE30EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv Unexecuted instantiation: _ZZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE35EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeEENKUlvE_clEv |
946 | 4 | DCHECK(!root->is_rf_wrapper()) << root->debug_string(); |
947 | 4 | DCHECK(TExprNodeType::FUNCTION_CALL == root->node_type()) << root->debug_string(); |
948 | 4 | if (auto fn_call = dynamic_cast<VectorizedFnCall*>(root.get())) { |
949 | 4 | *pdt = _should_push_down_is_null_predicate(fn_call); |
950 | 4 | } else { |
951 | 0 | *pdt = PushDownType::UNACCEPTABLE; |
952 | 0 | } |
953 | | |
954 | 4 | if (*pdt == PushDownType::UNACCEPTABLE) { |
955 | 0 | return Status::OK(); |
956 | 0 | } |
957 | | |
958 | 4 | auto fn_call = assert_cast<VectorizedFnCall*>(root.get()); |
959 | 4 | if (fn_call->fn().name.function_name == "is_null_pred") { |
960 | 1 | pred = NullPredicate::create_shared( |
961 | 1 | _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), true, |
962 | 1 | T); |
963 | 1 | auto temp_range = ColumnValueRange<T>::create_empty_column_value_range( |
964 | 1 | slot->is_nullable(), range.precision(), range.scale()); |
965 | 1 | temp_range.set_contain_null(true); |
966 | 1 | range.intersection(temp_range); |
967 | 3 | } else if (fn_call->fn().name.function_name == "is_not_null_pred") { |
968 | 3 | pred = NullPredicate::create_shared( |
969 | 3 | _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), false, |
970 | 3 | T); |
971 | 3 | auto temp_range = ColumnValueRange<T>::create_empty_column_value_range( |
972 | 3 | slot->is_nullable(), range.precision(), range.scale()); |
973 | 3 | temp_range.set_contain_null(false); |
974 | 3 | range.intersection(temp_range); |
975 | 3 | } |
976 | 4 | return Status::OK(); |
977 | 4 | } Unexecuted instantiation: _ZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE3EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE4EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE5EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE _ZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE6EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Line | Count | Source | 935 | 2 | PushDownType* pdt) { | 936 | 2 | std::shared_ptr<ColumnPredicate> pred = nullptr; | 937 | 2 | Defer defer = [&]() { | 938 | 2 | if (pred) { | 939 | 2 | DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string(); | 940 | 2 | predicates.emplace_back(pred); | 941 | 2 | } else { | 942 | | // If exception occurs during processing, do not push down | 943 | 2 | *pdt = PushDownType::UNACCEPTABLE; | 944 | 2 | } | 945 | 2 | }; | 946 | 2 | DCHECK(!root->is_rf_wrapper()) << root->debug_string(); | 947 | 2 | DCHECK(TExprNodeType::FUNCTION_CALL == root->node_type()) << root->debug_string(); | 948 | 2 | if (auto fn_call = dynamic_cast<VectorizedFnCall*>(root.get())) { | 949 | 2 | *pdt = _should_push_down_is_null_predicate(fn_call); | 950 | 2 | } else { | 951 | 0 | *pdt = PushDownType::UNACCEPTABLE; | 952 | 0 | } | 953 | | | 954 | 2 | if (*pdt == PushDownType::UNACCEPTABLE) { | 955 | 0 | return Status::OK(); | 956 | 0 | } | 957 | | | 958 | 2 | auto fn_call = assert_cast<VectorizedFnCall*>(root.get()); | 959 | 2 | if (fn_call->fn().name.function_name == "is_null_pred") { | 960 | 1 | pred = NullPredicate::create_shared( | 961 | 1 | _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), true, | 962 | 1 | T); | 963 | 1 | auto temp_range = ColumnValueRange<T>::create_empty_column_value_range( | 964 | 1 | slot->is_nullable(), range.precision(), range.scale()); | 965 | 1 | temp_range.set_contain_null(true); | 966 | 1 | range.intersection(temp_range); | 967 | 1 | } else if (fn_call->fn().name.function_name == "is_not_null_pred") { | 968 | 1 | pred = NullPredicate::create_shared( | 969 | 1 | _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), false, | 970 | 1 | T); | 971 | 1 | auto temp_range = ColumnValueRange<T>::create_empty_column_value_range( | 972 | 1 | slot->is_nullable(), range.precision(), range.scale()); | 973 | 1 | temp_range.set_contain_null(false); | 974 | 1 | range.intersection(temp_range); | 975 | 1 | } | 976 | 2 | return Status::OK(); | 977 | 2 | } |
Unexecuted instantiation: _ZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE7EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE8EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE _ZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE9EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Line | Count | Source | 935 | 1 | PushDownType* pdt) { | 936 | 1 | std::shared_ptr<ColumnPredicate> pred = nullptr; | 937 | 1 | Defer defer = [&]() { | 938 | 1 | if (pred) { | 939 | 1 | DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string(); | 940 | 1 | predicates.emplace_back(pred); | 941 | 1 | } else { | 942 | | // If exception occurs during processing, do not push down | 943 | 1 | *pdt = PushDownType::UNACCEPTABLE; | 944 | 1 | } | 945 | 1 | }; | 946 | 1 | DCHECK(!root->is_rf_wrapper()) << root->debug_string(); | 947 | 1 | DCHECK(TExprNodeType::FUNCTION_CALL == root->node_type()) << root->debug_string(); | 948 | 1 | if (auto fn_call = dynamic_cast<VectorizedFnCall*>(root.get())) { | 949 | 1 | *pdt = _should_push_down_is_null_predicate(fn_call); | 950 | 1 | } else { | 951 | 0 | *pdt = PushDownType::UNACCEPTABLE; | 952 | 0 | } | 953 | | | 954 | 1 | if (*pdt == PushDownType::UNACCEPTABLE) { | 955 | 0 | return Status::OK(); | 956 | 0 | } | 957 | | | 958 | 1 | auto fn_call = assert_cast<VectorizedFnCall*>(root.get()); | 959 | 1 | if (fn_call->fn().name.function_name == "is_null_pred") { | 960 | 0 | pred = NullPredicate::create_shared( | 961 | 0 | _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), true, | 962 | 0 | T); | 963 | 0 | auto temp_range = ColumnValueRange<T>::create_empty_column_value_range( | 964 | 0 | slot->is_nullable(), range.precision(), range.scale()); | 965 | 0 | temp_range.set_contain_null(true); | 966 | 0 | range.intersection(temp_range); | 967 | 1 | } else if (fn_call->fn().name.function_name == "is_not_null_pred") { | 968 | 1 | pred = NullPredicate::create_shared( | 969 | 1 | _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), false, | 970 | 1 | T); | 971 | 1 | auto temp_range = ColumnValueRange<T>::create_empty_column_value_range( | 972 | 1 | slot->is_nullable(), range.precision(), range.scale()); | 973 | 1 | temp_range.set_contain_null(false); | 974 | 1 | range.intersection(temp_range); | 975 | 1 | } | 976 | 1 | return Status::OK(); | 977 | 1 | } |
Unexecuted instantiation: _ZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE36EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE37EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE15EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE10EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE23EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE11EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE25EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE12EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE26EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE _ZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE42EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Line | Count | Source | 935 | 1 | PushDownType* pdt) { | 936 | 1 | std::shared_ptr<ColumnPredicate> pred = nullptr; | 937 | 1 | Defer defer = [&]() { | 938 | 1 | if (pred) { | 939 | 1 | DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string(); | 940 | 1 | predicates.emplace_back(pred); | 941 | 1 | } else { | 942 | | // If exception occurs during processing, do not push down | 943 | 1 | *pdt = PushDownType::UNACCEPTABLE; | 944 | 1 | } | 945 | 1 | }; | 946 | 1 | DCHECK(!root->is_rf_wrapper()) << root->debug_string(); | 947 | 1 | DCHECK(TExprNodeType::FUNCTION_CALL == root->node_type()) << root->debug_string(); | 948 | 1 | if (auto fn_call = dynamic_cast<VectorizedFnCall*>(root.get())) { | 949 | 1 | *pdt = _should_push_down_is_null_predicate(fn_call); | 950 | 1 | } else { | 951 | 0 | *pdt = PushDownType::UNACCEPTABLE; | 952 | 0 | } | 953 | | | 954 | 1 | if (*pdt == PushDownType::UNACCEPTABLE) { | 955 | 0 | return Status::OK(); | 956 | 0 | } | 957 | | | 958 | 1 | auto fn_call = assert_cast<VectorizedFnCall*>(root.get()); | 959 | 1 | if (fn_call->fn().name.function_name == "is_null_pred") { | 960 | 0 | pred = NullPredicate::create_shared( | 961 | 0 | _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), true, | 962 | 0 | T); | 963 | 0 | auto temp_range = ColumnValueRange<T>::create_empty_column_value_range( | 964 | 0 | slot->is_nullable(), range.precision(), range.scale()); | 965 | 0 | temp_range.set_contain_null(true); | 966 | 0 | range.intersection(temp_range); | 967 | 1 | } else if (fn_call->fn().name.function_name == "is_not_null_pred") { | 968 | 1 | pred = NullPredicate::create_shared( | 969 | 1 | _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), false, | 970 | 1 | T); | 971 | 1 | auto temp_range = ColumnValueRange<T>::create_empty_column_value_range( | 972 | 1 | slot->is_nullable(), range.precision(), range.scale()); | 973 | 1 | temp_range.set_contain_null(false); | 974 | 1 | range.intersection(temp_range); | 975 | 1 | } | 976 | 1 | return Status::OK(); | 977 | 1 | } |
Unexecuted instantiation: _ZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE20EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE2EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE19EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE28EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE29EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE30EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE Unexecuted instantiation: _ZN5doris18ScanLocalStateBase28_normalize_is_null_predicateILNS_13PrimitiveTypeE35EEENS_6StatusEPNS_12VExprContextERKSt10shared_ptrINS_5VExprEEPNS_14SlotDescriptorERSt6vectorIS6_INS_15ColumnPredicateEESaISF_EERNS_16ColumnValueRangeIXT_EEEPNS_12PushDownTypeE |
978 | | |
979 | | template <typename Derived> |
980 | 0 | Status ScanLocalState<Derived>::_prepare_scanners() { |
981 | 0 | std::list<ScannerSPtr> scanners; |
982 | 0 | RETURN_IF_ERROR(_init_scanners(&scanners)); |
983 | | // Init scanner wrapper |
984 | 0 | for (auto it = scanners.begin(); it != scanners.end(); ++it) { |
985 | 0 | _scanners.emplace_back(std::make_shared<ScannerDelegate>(*it)); |
986 | 0 | } |
987 | 0 | if (scanners.empty()) { |
988 | 0 | _eos = true; |
989 | 0 | _scan_dependency->set_always_ready(); |
990 | 0 | } else { |
991 | 0 | COUNTER_SET(_num_scanners, static_cast<int64_t>(scanners.size())); |
992 | 0 | RETURN_IF_ERROR(_start_scanners(_scanners)); |
993 | 0 | } |
994 | 0 | return Status::OK(); |
995 | 0 | } Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE17_prepare_scannersEv Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE17_prepare_scannersEv Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18FileScanLocalStateEE17_prepare_scannersEv Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_16EsScanLocalStateEE17_prepare_scannersEv Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE17_prepare_scannersEv Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE17_prepare_scannersEv Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18MockScanLocalStateEE17_prepare_scannersEv |
996 | | |
997 | | template <typename Derived> |
998 | | Status ScanLocalState<Derived>::_start_scanners( |
999 | 0 | const std::list<std::shared_ptr<ScannerDelegate>>& scanners) { |
1000 | 0 | auto& p = _parent->cast<typename Derived::Parent>(); |
1001 | 0 | _scanner_ctx.store(ScannerContext::create_shared( |
1002 | 0 | state(), this, p._output_tuple_desc, p.output_row_descriptor(), scanners, p.limit(), |
1003 | 0 | _scan_dependency, p._mem_arb, p._mem_limiter, _instance_idx, |
1004 | 0 | _state->get_query_ctx()->get_query_options().__isset.enable_adaptive_scan && |
1005 | 0 | _state->get_query_ctx()->get_query_options().enable_adaptive_scan |
1006 | 0 | #ifdef BE_TEST |
1007 | 0 | , |
1008 | 0 | max_scanners_concurrency(state()) |
1009 | 0 | #endif |
1010 | 0 | )); |
1011 | 0 | return Status::OK(); |
1012 | 0 | } Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE15_start_scannersERKNSt7__cxx114listISt10shared_ptrINS_15ScannerDelegateEESaIS7_EEE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE15_start_scannersERKNSt7__cxx114listISt10shared_ptrINS_15ScannerDelegateEESaIS7_EEE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18FileScanLocalStateEE15_start_scannersERKNSt7__cxx114listISt10shared_ptrINS_15ScannerDelegateEESaIS7_EEE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_16EsScanLocalStateEE15_start_scannersERKNSt7__cxx114listISt10shared_ptrINS_15ScannerDelegateEESaIS7_EEE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE15_start_scannersERKNSt7__cxx114listISt10shared_ptrINS_15ScannerDelegateEESaIS7_EEE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE15_start_scannersERKNSt7__cxx114listISt10shared_ptrINS_15ScannerDelegateEESaIS7_EEE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18MockScanLocalStateEE15_start_scannersERKNSt7__cxx114listISt10shared_ptrINS_15ScannerDelegateEESaIS7_EEE |
1013 | | |
1014 | | template <typename Derived> |
1015 | 0 | const TupleDescriptor* ScanLocalState<Derived>::input_tuple_desc() const { |
1016 | 0 | return _parent->cast<typename Derived::Parent>()._input_tuple_desc; |
1017 | 0 | } Unexecuted instantiation: _ZNK5doris14ScanLocalStateINS_18OlapScanLocalStateEE16input_tuple_descEv Unexecuted instantiation: _ZNK5doris14ScanLocalStateINS_18JDBCScanLocalStateEE16input_tuple_descEv Unexecuted instantiation: _ZNK5doris14ScanLocalStateINS_18FileScanLocalStateEE16input_tuple_descEv Unexecuted instantiation: _ZNK5doris14ScanLocalStateINS_16EsScanLocalStateEE16input_tuple_descEv Unexecuted instantiation: _ZNK5doris14ScanLocalStateINS_18MetaScanLocalStateEE16input_tuple_descEv Unexecuted instantiation: _ZNK5doris14ScanLocalStateINS_21GroupCommitLocalStateEE16input_tuple_descEv Unexecuted instantiation: _ZNK5doris14ScanLocalStateINS_18MockScanLocalStateEE16input_tuple_descEv |
1018 | | template <typename Derived> |
1019 | 16 | const TupleDescriptor* ScanLocalState<Derived>::output_tuple_desc() const { |
1020 | 16 | return _parent->cast<typename Derived::Parent>()._output_tuple_desc; |
1021 | 16 | } _ZNK5doris14ScanLocalStateINS_18OlapScanLocalStateEE17output_tuple_descEv Line | Count | Source | 1019 | 15 | const TupleDescriptor* ScanLocalState<Derived>::output_tuple_desc() const { | 1020 | 15 | return _parent->cast<typename Derived::Parent>()._output_tuple_desc; | 1021 | 15 | } |
Unexecuted instantiation: _ZNK5doris14ScanLocalStateINS_18JDBCScanLocalStateEE17output_tuple_descEv _ZNK5doris14ScanLocalStateINS_18FileScanLocalStateEE17output_tuple_descEv Line | Count | Source | 1019 | 1 | const TupleDescriptor* ScanLocalState<Derived>::output_tuple_desc() const { | 1020 | 1 | return _parent->cast<typename Derived::Parent>()._output_tuple_desc; | 1021 | 1 | } |
Unexecuted instantiation: _ZNK5doris14ScanLocalStateINS_16EsScanLocalStateEE17output_tuple_descEv Unexecuted instantiation: _ZNK5doris14ScanLocalStateINS_18MetaScanLocalStateEE17output_tuple_descEv Unexecuted instantiation: _ZNK5doris14ScanLocalStateINS_21GroupCommitLocalStateEE17output_tuple_descEv Unexecuted instantiation: _ZNK5doris14ScanLocalStateINS_18MockScanLocalStateEE17output_tuple_descEv |
1022 | | |
1023 | | template <typename Derived> |
1024 | 0 | TPushAggOp::type ScanLocalState<Derived>::get_push_down_agg_type() { |
1025 | 0 | return _parent->cast<typename Derived::Parent>()._push_down_agg_type; |
1026 | 0 | } Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE22get_push_down_agg_typeEv Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE22get_push_down_agg_typeEv Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18FileScanLocalStateEE22get_push_down_agg_typeEv Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_16EsScanLocalStateEE22get_push_down_agg_typeEv Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE22get_push_down_agg_typeEv Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE22get_push_down_agg_typeEv Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18MockScanLocalStateEE22get_push_down_agg_typeEv |
1027 | | |
1028 | | template <typename Derived> |
1029 | 0 | int64_t ScanLocalState<Derived>::limit_per_scanner() { |
1030 | 0 | return _parent->cast<typename Derived::Parent>()._limit_per_scanner; |
1031 | 0 | } Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE17limit_per_scannerEv Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE17limit_per_scannerEv Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18FileScanLocalStateEE17limit_per_scannerEv Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_16EsScanLocalStateEE17limit_per_scannerEv Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE17limit_per_scannerEv Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE17limit_per_scannerEv Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18MockScanLocalStateEE17limit_per_scannerEv |
1032 | | |
1033 | | template <typename Derived> |
1034 | 2 | Status ScanLocalState<Derived>::_init_profile() { |
1035 | | // 1. counters for scan node |
1036 | 2 | _rows_read_counter = ADD_COUNTER(custom_profile(), "RowsRead", TUnit::UNIT); |
1037 | 2 | _num_scanners = ADD_COUNTER(custom_profile(), "NumScanners", TUnit::UNIT); |
1038 | | //custom_profile()->AddHighWaterMarkCounter("PeakMemoryUsage", TUnit::BYTES); |
1039 | | |
1040 | | // 2. counters for scanners |
1041 | 2 | _scanner_profile.reset(new RuntimeProfile("Scanner")); |
1042 | 2 | custom_profile()->add_child(_scanner_profile.get(), true, nullptr); |
1043 | | |
1044 | 2 | _newly_create_free_blocks_num = |
1045 | 2 | ADD_COUNTER(_scanner_profile, "NewlyCreateFreeBlocksNum", TUnit::UNIT); |
1046 | 2 | _scan_timer = ADD_TIMER(_scanner_profile, "ScannerGetBlockTime"); |
1047 | 2 | _scan_cpu_timer = ADD_TIMER(_scanner_profile, "ScannerCpuTime"); |
1048 | 2 | _filter_timer = ADD_TIMER(_scanner_profile, "ScannerFilterTime"); |
1049 | | |
1050 | | // time of scan thread to wait for worker thread of the thread pool |
1051 | 2 | _scanner_wait_worker_timer = ADD_TIMER(custom_profile(), "ScannerWorkerWaitTime"); |
1052 | | |
1053 | 2 | _max_scan_concurrency = ADD_COUNTER(custom_profile(), "MaxScanConcurrency", TUnit::UNIT); |
1054 | 2 | _min_scan_concurrency = ADD_COUNTER(custom_profile(), "MinScanConcurrency", TUnit::UNIT); |
1055 | | |
1056 | 2 | _peak_running_scanner = |
1057 | 2 | _scanner_profile->AddHighWaterMarkCounter("RunningScanner", TUnit::UNIT); |
1058 | | |
1059 | | // Rows read from storage. |
1060 | | // Include the rows read from doris page cache. |
1061 | 2 | _scan_rows = ADD_COUNTER_WITH_LEVEL(custom_profile(), "ScanRows", TUnit::UNIT, 1); |
1062 | | // Size of data that read from storage. |
1063 | | // Does not include rows that are cached by doris page cache. |
1064 | 2 | _scan_bytes = ADD_COUNTER_WITH_LEVEL(custom_profile(), "ScanBytes", TUnit::BYTES, 1); |
1065 | 2 | return Status::OK(); |
1066 | 2 | } Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE13_init_profileEv Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE13_init_profileEv _ZN5doris14ScanLocalStateINS_18FileScanLocalStateEE13_init_profileEv Line | Count | Source | 1034 | 2 | Status ScanLocalState<Derived>::_init_profile() { | 1035 | | // 1. counters for scan node | 1036 | 2 | _rows_read_counter = ADD_COUNTER(custom_profile(), "RowsRead", TUnit::UNIT); | 1037 | 2 | _num_scanners = ADD_COUNTER(custom_profile(), "NumScanners", TUnit::UNIT); | 1038 | | //custom_profile()->AddHighWaterMarkCounter("PeakMemoryUsage", TUnit::BYTES); | 1039 | | | 1040 | | // 2. counters for scanners | 1041 | 2 | _scanner_profile.reset(new RuntimeProfile("Scanner")); | 1042 | 2 | custom_profile()->add_child(_scanner_profile.get(), true, nullptr); | 1043 | | | 1044 | 2 | _newly_create_free_blocks_num = | 1045 | 2 | ADD_COUNTER(_scanner_profile, "NewlyCreateFreeBlocksNum", TUnit::UNIT); | 1046 | 2 | _scan_timer = ADD_TIMER(_scanner_profile, "ScannerGetBlockTime"); | 1047 | 2 | _scan_cpu_timer = ADD_TIMER(_scanner_profile, "ScannerCpuTime"); | 1048 | 2 | _filter_timer = ADD_TIMER(_scanner_profile, "ScannerFilterTime"); | 1049 | | | 1050 | | // time of scan thread to wait for worker thread of the thread pool | 1051 | 2 | _scanner_wait_worker_timer = ADD_TIMER(custom_profile(), "ScannerWorkerWaitTime"); | 1052 | | | 1053 | 2 | _max_scan_concurrency = ADD_COUNTER(custom_profile(), "MaxScanConcurrency", TUnit::UNIT); | 1054 | 2 | _min_scan_concurrency = ADD_COUNTER(custom_profile(), "MinScanConcurrency", TUnit::UNIT); | 1055 | | | 1056 | 2 | _peak_running_scanner = | 1057 | 2 | _scanner_profile->AddHighWaterMarkCounter("RunningScanner", TUnit::UNIT); | 1058 | | | 1059 | | // Rows read from storage. | 1060 | | // Include the rows read from doris page cache. | 1061 | 2 | _scan_rows = ADD_COUNTER_WITH_LEVEL(custom_profile(), "ScanRows", TUnit::UNIT, 1); | 1062 | | // Size of data that read from storage. | 1063 | | // Does not include rows that are cached by doris page cache. | 1064 | 2 | _scan_bytes = ADD_COUNTER_WITH_LEVEL(custom_profile(), "ScanBytes", TUnit::BYTES, 1); | 1065 | 2 | return Status::OK(); | 1066 | 2 | } |
Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_16EsScanLocalStateEE13_init_profileEv Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE13_init_profileEv Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE13_init_profileEv Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18MockScanLocalStateEE13_init_profileEv |
1067 | | |
1068 | | template <typename Derived> |
1069 | 0 | Status ScanLocalState<Derived>::_get_topn_filters(RuntimeState* state) { |
1070 | 0 | auto& p = _parent->cast<typename Derived::Parent>(); |
1071 | 0 | std::stringstream result; |
1072 | 0 | std::copy(p._topn_filter_source_node_ids.begin(), p._topn_filter_source_node_ids.end(), |
1073 | 0 | std::ostream_iterator<int>(result, ",")); |
1074 | 0 | custom_profile()->add_info_string("TopNFilterSourceNodeIds", result.str()); |
1075 | |
|
1076 | 0 | for (auto id : get_topn_filter_source_node_ids(state, false)) { |
1077 | 0 | const auto& pred = state->get_query_ctx()->get_runtime_predicate(id); |
1078 | 0 | VExprSPtr topn_pred; |
1079 | 0 | RETURN_IF_ERROR(VTopNPred::create_vtopn_pred(pred.get_texpr(p.node_id()), id, topn_pred)); |
1080 | | |
1081 | 0 | VExprContextSPtr conjunct = VExprContext::create_shared(topn_pred); |
1082 | 0 | RETURN_IF_ERROR(conjunct->prepare( |
1083 | 0 | state, _parent->cast<typename Derived::Parent>().row_descriptor())); |
1084 | 0 | RETURN_IF_ERROR(conjunct->open(state)); |
1085 | 0 | _conjuncts.emplace_back(conjunct); |
1086 | 0 | } |
1087 | 0 | for (auto id : get_topn_filter_source_node_ids(state, true)) { |
1088 | 0 | const auto& pred = state->get_query_ctx()->get_runtime_predicate(id); |
1089 | 0 | VExprSPtr topn_pred; |
1090 | 0 | RETURN_IF_ERROR(VTopNPred::create_vtopn_pred(pred.get_texpr(p.node_id()), id, topn_pred)); |
1091 | | |
1092 | 0 | VExprContextSPtr conjunct = VExprContext::create_shared(topn_pred); |
1093 | 0 | RETURN_IF_ERROR(conjunct->prepare( |
1094 | 0 | state, _parent->cast<typename Derived::Parent>().row_descriptor())); |
1095 | 0 | RETURN_IF_ERROR(conjunct->open(state)); |
1096 | 0 | _conjuncts.emplace_back(conjunct); |
1097 | 0 | } |
1098 | 0 | return Status::OK(); |
1099 | 0 | } Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE17_get_topn_filtersEPNS_12RuntimeStateE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE17_get_topn_filtersEPNS_12RuntimeStateE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18FileScanLocalStateEE17_get_topn_filtersEPNS_12RuntimeStateE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_16EsScanLocalStateEE17_get_topn_filtersEPNS_12RuntimeStateE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE17_get_topn_filtersEPNS_12RuntimeStateE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE17_get_topn_filtersEPNS_12RuntimeStateE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18MockScanLocalStateEE17_get_topn_filtersEPNS_12RuntimeStateE |
1100 | | |
1101 | | template <typename Derived> |
1102 | | void ScanLocalState<Derived>::_filter_and_collect_cast_type_for_variant( |
1103 | | const VExpr* expr, |
1104 | 0 | std::unordered_map<std::string, std::vector<DataTypePtr>>& colname_to_cast_types) { |
1105 | 0 | auto& p = _parent->cast<typename Derived::Parent>(); |
1106 | 0 | const auto* cast_expr = dynamic_cast<const VCastExpr*>(expr); |
1107 | 0 | if (cast_expr != nullptr) { |
1108 | 0 | const auto* src_slot = |
1109 | 0 | cast_expr->get_child(0)->node_type() == TExprNodeType::SLOT_REF |
1110 | 0 | ? dynamic_cast<const VSlotRef*>(cast_expr->get_child(0).get()) |
1111 | 0 | : nullptr; |
1112 | 0 | if (src_slot == nullptr) { |
1113 | 0 | return; |
1114 | 0 | } |
1115 | 0 | std::vector<SlotDescriptor*> slots = output_tuple_desc()->slots(); |
1116 | 0 | SlotDescriptor* src_slot_desc = p._slot_id_to_slot_desc[src_slot->slot_id()]; |
1117 | 0 | auto type_desc = cast_expr->get_target_type(); |
1118 | 0 | if (src_slot_desc->type()->get_primitive_type() == PrimitiveType::TYPE_VARIANT) { |
1119 | 0 | colname_to_cast_types[src_slot_desc->col_name()].push_back(type_desc); |
1120 | 0 | } |
1121 | 0 | } |
1122 | 0 | for (const auto& child : expr->children()) { |
1123 | 0 | _filter_and_collect_cast_type_for_variant(child.get(), colname_to_cast_types); |
1124 | 0 | } |
1125 | 0 | } Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE41_filter_and_collect_cast_type_for_variantEPKNS_5VExprERSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISH_EESt4hashISC_ESt8equal_toISC_ESaISt4pairIKSC_SJ_EEE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE41_filter_and_collect_cast_type_for_variantEPKNS_5VExprERSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISH_EESt4hashISC_ESt8equal_toISC_ESaISt4pairIKSC_SJ_EEE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18FileScanLocalStateEE41_filter_and_collect_cast_type_for_variantEPKNS_5VExprERSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISH_EESt4hashISC_ESt8equal_toISC_ESaISt4pairIKSC_SJ_EEE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_16EsScanLocalStateEE41_filter_and_collect_cast_type_for_variantEPKNS_5VExprERSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISH_EESt4hashISC_ESt8equal_toISC_ESaISt4pairIKSC_SJ_EEE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE41_filter_and_collect_cast_type_for_variantEPKNS_5VExprERSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISH_EESt4hashISC_ESt8equal_toISC_ESaISt4pairIKSC_SJ_EEE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE41_filter_and_collect_cast_type_for_variantEPKNS_5VExprERSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISH_EESt4hashISC_ESt8equal_toISC_ESaISt4pairIKSC_SJ_EEE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18MockScanLocalStateEE41_filter_and_collect_cast_type_for_variantEPKNS_5VExprERSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISH_EESt4hashISC_ESt8equal_toISC_ESaISt4pairIKSC_SJ_EEE |
1126 | | |
1127 | | template <typename Derived> |
1128 | 0 | void ScanLocalState<Derived>::get_cast_types_for_variants() { |
1129 | 0 | std::unordered_map<std::string, std::vector<DataTypePtr>> colname_to_cast_types; |
1130 | 0 | for (auto it = _conjuncts.begin(); it != _conjuncts.end();) { |
1131 | 0 | auto& conjunct = *it; |
1132 | 0 | if (conjunct->root()) { |
1133 | 0 | _filter_and_collect_cast_type_for_variant(conjunct->root().get(), |
1134 | 0 | colname_to_cast_types); |
1135 | 0 | } |
1136 | 0 | ++it; |
1137 | 0 | } |
1138 | | // cast to one certain type for variant could utilize fully predicates performance |
1139 | | // when storage layer type equals to cast type |
1140 | 0 | for (const auto& [slotid, types] : colname_to_cast_types) { |
1141 | 0 | if (types.size() == 1) { |
1142 | 0 | _cast_types_for_variants[slotid] = types[0]; |
1143 | 0 | } |
1144 | 0 | } |
1145 | 0 | } Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE27get_cast_types_for_variantsEv Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE27get_cast_types_for_variantsEv Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18FileScanLocalStateEE27get_cast_types_for_variantsEv Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_16EsScanLocalStateEE27get_cast_types_for_variantsEv Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE27get_cast_types_for_variantsEv Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE27get_cast_types_for_variantsEv Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18MockScanLocalStateEE27get_cast_types_for_variantsEv |
1146 | | |
1147 | | template <typename LocalStateType> |
1148 | | ScanOperatorX<LocalStateType>::ScanOperatorX(ObjectPool* pool, const TPlanNode& tnode, |
1149 | | int operator_id, const DescriptorTbl& descs, |
1150 | | int parallel_tasks) |
1151 | 19 | : OperatorX<LocalStateType>(pool, tnode, operator_id, descs), |
1152 | 19 | _runtime_filter_descs(tnode.runtime_filters), |
1153 | 19 | _parallel_tasks(parallel_tasks) { |
1154 | 19 | if (tnode.__isset.push_down_count) { |
1155 | 0 | _push_down_count = tnode.push_down_count; |
1156 | 0 | } |
1157 | 19 | } _ZN5doris13ScanOperatorXINS_18OlapScanLocalStateEEC2EPNS_10ObjectPoolERKNS_9TPlanNodeEiRKNS_13DescriptorTblEi Line | Count | Source | 1151 | 17 | : OperatorX<LocalStateType>(pool, tnode, operator_id, descs), | 1152 | 17 | _runtime_filter_descs(tnode.runtime_filters), | 1153 | 17 | _parallel_tasks(parallel_tasks) { | 1154 | 17 | if (tnode.__isset.push_down_count) { | 1155 | 0 | _push_down_count = tnode.push_down_count; | 1156 | 0 | } | 1157 | 17 | } |
Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_18JDBCScanLocalStateEEC2EPNS_10ObjectPoolERKNS_9TPlanNodeEiRKNS_13DescriptorTblEi _ZN5doris13ScanOperatorXINS_18FileScanLocalStateEEC2EPNS_10ObjectPoolERKNS_9TPlanNodeEiRKNS_13DescriptorTblEi Line | Count | Source | 1151 | 2 | : OperatorX<LocalStateType>(pool, tnode, operator_id, descs), | 1152 | 2 | _runtime_filter_descs(tnode.runtime_filters), | 1153 | 2 | _parallel_tasks(parallel_tasks) { | 1154 | 2 | if (tnode.__isset.push_down_count) { | 1155 | 0 | _push_down_count = tnode.push_down_count; | 1156 | 0 | } | 1157 | 2 | } |
Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_16EsScanLocalStateEEC2EPNS_10ObjectPoolERKNS_9TPlanNodeEiRKNS_13DescriptorTblEi Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_18MetaScanLocalStateEEC2EPNS_10ObjectPoolERKNS_9TPlanNodeEiRKNS_13DescriptorTblEi Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_21GroupCommitLocalStateEEC2EPNS_10ObjectPoolERKNS_9TPlanNodeEiRKNS_13DescriptorTblEi Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_18MockScanLocalStateEEC2EPNS_10ObjectPoolERKNS_9TPlanNodeEiRKNS_13DescriptorTblEi |
1158 | | |
1159 | | template <typename LocalStateType> |
1160 | 6 | Status ScanOperatorX<LocalStateType>::init(const TPlanNode& tnode, RuntimeState* state) { |
1161 | 6 | RETURN_IF_ERROR(OperatorX<LocalStateType>::init(tnode, state)); |
1162 | | |
1163 | 6 | const TQueryOptions& query_options = state->query_options(); |
1164 | 6 | if (query_options.__isset.max_scan_key_num) { |
1165 | 0 | _max_scan_key_num = query_options.max_scan_key_num; |
1166 | 0 | } |
1167 | 6 | if (query_options.__isset.max_pushdown_conditions_per_column) { |
1168 | 0 | _max_pushdown_conditions_per_column = query_options.max_pushdown_conditions_per_column; |
1169 | 0 | } |
1170 | 6 | #ifdef BE_TEST |
1171 | 6 | _mem_arb = nullptr; |
1172 | | #else |
1173 | | _mem_arb = state->get_query_ctx()->mem_arb(); |
1174 | | #endif |
1175 | 6 | if (_mem_arb) { |
1176 | 0 | _mem_arb->register_scan_node(); |
1177 | 0 | _mem_limiter = ScannerMemLimiter::create_shared( |
1178 | 0 | state->query_id(), state->query_parallel_instance_num(), |
1179 | 0 | OperatorX<LocalStateType>::is_serial_operator(), |
1180 | 0 | state->get_query_ctx()->get_query_options().mem_limit); |
1181 | 0 | } |
1182 | | // tnode.olap_scan_node.push_down_agg_type_opt field is deprecated |
1183 | | // Introduced a new field : tnode.push_down_agg_type_opt |
1184 | | // |
1185 | | // make it compatible here |
1186 | 6 | if (tnode.__isset.push_down_agg_type_opt) { |
1187 | 0 | _push_down_agg_type = tnode.push_down_agg_type_opt; |
1188 | 6 | } else if (tnode.olap_scan_node.__isset.push_down_agg_type_opt) { |
1189 | 0 | _push_down_agg_type = tnode.olap_scan_node.push_down_agg_type_opt; |
1190 | 6 | } else { |
1191 | 6 | _push_down_agg_type = TPushAggOp::type::NONE; |
1192 | 6 | } |
1193 | | |
1194 | 6 | if (tnode.__isset.topn_filter_source_node_ids) { |
1195 | 0 | _topn_filter_source_node_ids = tnode.topn_filter_source_node_ids; |
1196 | 0 | } |
1197 | | |
1198 | | // Which means the request could be fullfilled in a single segment iterator request. |
1199 | | // the unique_table has a condition of delete_sign = 0 awalys, so it's not have plan for one instance to scan table, |
1200 | | // now add some check for unique_table let running only one instance for select limit n. |
1201 | 6 | if (query_options.enable_adaptive_pipeline_task_serial_read_on_limit) { |
1202 | 5 | DCHECK(query_options.__isset.adaptive_pipeline_task_serial_read_on_limit); |
1203 | 5 | if (!tnode.__isset.conjuncts || tnode.conjuncts.empty() || |
1204 | 5 | (tnode.conjuncts.size() == 1 && tnode.__isset.olap_scan_node && |
1205 | 4 | tnode.olap_scan_node.keyType == TKeysType::UNIQUE_KEYS)) { |
1206 | 4 | if (tnode.limit > 0 && |
1207 | 4 | tnode.limit <= query_options.adaptive_pipeline_task_serial_read_on_limit) { |
1208 | 1 | _should_run_serial = true; |
1209 | 1 | } |
1210 | 4 | } |
1211 | 5 | } |
1212 | | |
1213 | 6 | return Status::OK(); |
1214 | 6 | } _ZN5doris13ScanOperatorXINS_18OlapScanLocalStateEE4initERKNS_9TPlanNodeEPNS_12RuntimeStateE Line | Count | Source | 1160 | 4 | Status ScanOperatorX<LocalStateType>::init(const TPlanNode& tnode, RuntimeState* state) { | 1161 | 4 | RETURN_IF_ERROR(OperatorX<LocalStateType>::init(tnode, state)); | 1162 | | | 1163 | 4 | const TQueryOptions& query_options = state->query_options(); | 1164 | 4 | if (query_options.__isset.max_scan_key_num) { | 1165 | 0 | _max_scan_key_num = query_options.max_scan_key_num; | 1166 | 0 | } | 1167 | 4 | if (query_options.__isset.max_pushdown_conditions_per_column) { | 1168 | 0 | _max_pushdown_conditions_per_column = query_options.max_pushdown_conditions_per_column; | 1169 | 0 | } | 1170 | 4 | #ifdef BE_TEST | 1171 | 4 | _mem_arb = nullptr; | 1172 | | #else | 1173 | | _mem_arb = state->get_query_ctx()->mem_arb(); | 1174 | | #endif | 1175 | 4 | if (_mem_arb) { | 1176 | 0 | _mem_arb->register_scan_node(); | 1177 | 0 | _mem_limiter = ScannerMemLimiter::create_shared( | 1178 | 0 | state->query_id(), state->query_parallel_instance_num(), | 1179 | 0 | OperatorX<LocalStateType>::is_serial_operator(), | 1180 | 0 | state->get_query_ctx()->get_query_options().mem_limit); | 1181 | 0 | } | 1182 | | // tnode.olap_scan_node.push_down_agg_type_opt field is deprecated | 1183 | | // Introduced a new field : tnode.push_down_agg_type_opt | 1184 | | // | 1185 | | // make it compatible here | 1186 | 4 | if (tnode.__isset.push_down_agg_type_opt) { | 1187 | 0 | _push_down_agg_type = tnode.push_down_agg_type_opt; | 1188 | 4 | } else if (tnode.olap_scan_node.__isset.push_down_agg_type_opt) { | 1189 | 0 | _push_down_agg_type = tnode.olap_scan_node.push_down_agg_type_opt; | 1190 | 4 | } else { | 1191 | 4 | _push_down_agg_type = TPushAggOp::type::NONE; | 1192 | 4 | } | 1193 | | | 1194 | 4 | if (tnode.__isset.topn_filter_source_node_ids) { | 1195 | 0 | _topn_filter_source_node_ids = tnode.topn_filter_source_node_ids; | 1196 | 0 | } | 1197 | | | 1198 | | // Which means the request could be fullfilled in a single segment iterator request. | 1199 | | // the unique_table has a condition of delete_sign = 0 awalys, so it's not have plan for one instance to scan table, | 1200 | | // now add some check for unique_table let running only one instance for select limit n. | 1201 | 4 | if (query_options.enable_adaptive_pipeline_task_serial_read_on_limit) { | 1202 | 3 | DCHECK(query_options.__isset.adaptive_pipeline_task_serial_read_on_limit); | 1203 | 3 | if (!tnode.__isset.conjuncts || tnode.conjuncts.empty() || | 1204 | 3 | (tnode.conjuncts.size() == 1 && tnode.__isset.olap_scan_node && | 1205 | 2 | tnode.olap_scan_node.keyType == TKeysType::UNIQUE_KEYS)) { | 1206 | 2 | if (tnode.limit > 0 && | 1207 | 2 | tnode.limit <= query_options.adaptive_pipeline_task_serial_read_on_limit) { | 1208 | 1 | _should_run_serial = true; | 1209 | 1 | } | 1210 | 2 | } | 1211 | 3 | } | 1212 | | | 1213 | 4 | return Status::OK(); | 1214 | 4 | } |
Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_18JDBCScanLocalStateEE4initERKNS_9TPlanNodeEPNS_12RuntimeStateE _ZN5doris13ScanOperatorXINS_18FileScanLocalStateEE4initERKNS_9TPlanNodeEPNS_12RuntimeStateE Line | Count | Source | 1160 | 2 | Status ScanOperatorX<LocalStateType>::init(const TPlanNode& tnode, RuntimeState* state) { | 1161 | 2 | RETURN_IF_ERROR(OperatorX<LocalStateType>::init(tnode, state)); | 1162 | | | 1163 | 2 | const TQueryOptions& query_options = state->query_options(); | 1164 | 2 | if (query_options.__isset.max_scan_key_num) { | 1165 | 0 | _max_scan_key_num = query_options.max_scan_key_num; | 1166 | 0 | } | 1167 | 2 | if (query_options.__isset.max_pushdown_conditions_per_column) { | 1168 | 0 | _max_pushdown_conditions_per_column = query_options.max_pushdown_conditions_per_column; | 1169 | 0 | } | 1170 | 2 | #ifdef BE_TEST | 1171 | 2 | _mem_arb = nullptr; | 1172 | | #else | 1173 | | _mem_arb = state->get_query_ctx()->mem_arb(); | 1174 | | #endif | 1175 | 2 | if (_mem_arb) { | 1176 | 0 | _mem_arb->register_scan_node(); | 1177 | 0 | _mem_limiter = ScannerMemLimiter::create_shared( | 1178 | 0 | state->query_id(), state->query_parallel_instance_num(), | 1179 | 0 | OperatorX<LocalStateType>::is_serial_operator(), | 1180 | 0 | state->get_query_ctx()->get_query_options().mem_limit); | 1181 | 0 | } | 1182 | | // tnode.olap_scan_node.push_down_agg_type_opt field is deprecated | 1183 | | // Introduced a new field : tnode.push_down_agg_type_opt | 1184 | | // | 1185 | | // make it compatible here | 1186 | 2 | if (tnode.__isset.push_down_agg_type_opt) { | 1187 | 0 | _push_down_agg_type = tnode.push_down_agg_type_opt; | 1188 | 2 | } else if (tnode.olap_scan_node.__isset.push_down_agg_type_opt) { | 1189 | 0 | _push_down_agg_type = tnode.olap_scan_node.push_down_agg_type_opt; | 1190 | 2 | } else { | 1191 | 2 | _push_down_agg_type = TPushAggOp::type::NONE; | 1192 | 2 | } | 1193 | | | 1194 | 2 | if (tnode.__isset.topn_filter_source_node_ids) { | 1195 | 0 | _topn_filter_source_node_ids = tnode.topn_filter_source_node_ids; | 1196 | 0 | } | 1197 | | | 1198 | | // Which means the request could be fullfilled in a single segment iterator request. | 1199 | | // the unique_table has a condition of delete_sign = 0 awalys, so it's not have plan for one instance to scan table, | 1200 | | // now add some check for unique_table let running only one instance for select limit n. | 1201 | 2 | if (query_options.enable_adaptive_pipeline_task_serial_read_on_limit) { | 1202 | 2 | DCHECK(query_options.__isset.adaptive_pipeline_task_serial_read_on_limit); | 1203 | 2 | if (!tnode.__isset.conjuncts || tnode.conjuncts.empty() || | 1204 | 2 | (tnode.conjuncts.size() == 1 && tnode.__isset.olap_scan_node && | 1205 | 2 | tnode.olap_scan_node.keyType == TKeysType::UNIQUE_KEYS)) { | 1206 | 2 | if (tnode.limit > 0 && | 1207 | 2 | tnode.limit <= query_options.adaptive_pipeline_task_serial_read_on_limit) { | 1208 | 0 | _should_run_serial = true; | 1209 | 0 | } | 1210 | 2 | } | 1211 | 2 | } | 1212 | | | 1213 | 2 | return Status::OK(); | 1214 | 2 | } |
Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_16EsScanLocalStateEE4initERKNS_9TPlanNodeEPNS_12RuntimeStateE Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_18MetaScanLocalStateEE4initERKNS_9TPlanNodeEPNS_12RuntimeStateE Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_21GroupCommitLocalStateEE4initERKNS_9TPlanNodeEPNS_12RuntimeStateE Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_18MockScanLocalStateEE4initERKNS_9TPlanNodeEPNS_12RuntimeStateE |
1215 | | |
1216 | | template <typename LocalStateType> |
1217 | 2 | Status ScanOperatorX<LocalStateType>::prepare(RuntimeState* state) { |
1218 | 2 | _input_tuple_desc = state->desc_tbl().get_tuple_descriptor(_input_tuple_id); |
1219 | 2 | _output_tuple_desc = state->desc_tbl().get_tuple_descriptor(_output_tuple_id); |
1220 | 2 | RETURN_IF_ERROR(OperatorX<LocalStateType>::prepare(state)); |
1221 | | |
1222 | 2 | const auto slots = _output_tuple_desc->slots(); |
1223 | 6 | for (auto* slot : slots) { |
1224 | 6 | _colname_to_slot_id[slot->col_name()] = slot->id(); |
1225 | 6 | _slot_id_to_slot_desc[slot->id()] = slot; |
1226 | 6 | } |
1227 | 2 | for (auto id : _topn_filter_source_node_ids) { |
1228 | 0 | if (!state->get_query_ctx()->has_runtime_predicate(id)) { |
1229 | | // compatible with older versions fe |
1230 | 0 | continue; |
1231 | 0 | } |
1232 | | |
1233 | 0 | int cid = -1; |
1234 | 0 | if (state->get_query_ctx()->get_runtime_predicate(id).target_is_slot(node_id())) { |
1235 | 0 | auto s = _slot_id_to_slot_desc[state->get_query_ctx() |
1236 | 0 | ->get_runtime_predicate(id) |
1237 | 0 | .get_texpr(node_id()) |
1238 | 0 | .nodes[0] |
1239 | 0 | .slot_ref.slot_id]; |
1240 | 0 | DCHECK(s != nullptr); |
1241 | 0 | if (remove_nullable(s->type())->get_primitive_type() == TYPE_VARBINARY) { |
1242 | 0 | continue; |
1243 | 0 | } |
1244 | 0 | auto col_name = s->col_name(); |
1245 | 0 | cid = get_column_id(col_name); |
1246 | 0 | } |
1247 | 0 | RETURN_IF_ERROR(state->get_query_ctx()->get_runtime_predicate(id).init_target( |
1248 | 0 | node_id(), _slot_id_to_slot_desc, cid)); |
1249 | 0 | } |
1250 | | |
1251 | 2 | RETURN_IF_CANCELLED(state); |
1252 | 2 | return Status::OK(); |
1253 | 2 | } Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_18OlapScanLocalStateEE7prepareEPNS_12RuntimeStateE Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_18JDBCScanLocalStateEE7prepareEPNS_12RuntimeStateE _ZN5doris13ScanOperatorXINS_18FileScanLocalStateEE7prepareEPNS_12RuntimeStateE Line | Count | Source | 1217 | 2 | Status ScanOperatorX<LocalStateType>::prepare(RuntimeState* state) { | 1218 | 2 | _input_tuple_desc = state->desc_tbl().get_tuple_descriptor(_input_tuple_id); | 1219 | 2 | _output_tuple_desc = state->desc_tbl().get_tuple_descriptor(_output_tuple_id); | 1220 | 2 | RETURN_IF_ERROR(OperatorX<LocalStateType>::prepare(state)); | 1221 | | | 1222 | 2 | const auto slots = _output_tuple_desc->slots(); | 1223 | 6 | for (auto* slot : slots) { | 1224 | 6 | _colname_to_slot_id[slot->col_name()] = slot->id(); | 1225 | 6 | _slot_id_to_slot_desc[slot->id()] = slot; | 1226 | 6 | } | 1227 | 2 | for (auto id : _topn_filter_source_node_ids) { | 1228 | 0 | if (!state->get_query_ctx()->has_runtime_predicate(id)) { | 1229 | | // compatible with older versions fe | 1230 | 0 | continue; | 1231 | 0 | } | 1232 | | | 1233 | 0 | int cid = -1; | 1234 | 0 | if (state->get_query_ctx()->get_runtime_predicate(id).target_is_slot(node_id())) { | 1235 | 0 | auto s = _slot_id_to_slot_desc[state->get_query_ctx() | 1236 | 0 | ->get_runtime_predicate(id) | 1237 | 0 | .get_texpr(node_id()) | 1238 | 0 | .nodes[0] | 1239 | 0 | .slot_ref.slot_id]; | 1240 | 0 | DCHECK(s != nullptr); | 1241 | 0 | if (remove_nullable(s->type())->get_primitive_type() == TYPE_VARBINARY) { | 1242 | 0 | continue; | 1243 | 0 | } | 1244 | 0 | auto col_name = s->col_name(); | 1245 | 0 | cid = get_column_id(col_name); | 1246 | 0 | } | 1247 | 0 | RETURN_IF_ERROR(state->get_query_ctx()->get_runtime_predicate(id).init_target( | 1248 | 0 | node_id(), _slot_id_to_slot_desc, cid)); | 1249 | 0 | } | 1250 | | | 1251 | 2 | RETURN_IF_CANCELLED(state); | 1252 | 2 | return Status::OK(); | 1253 | 2 | } |
Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_16EsScanLocalStateEE7prepareEPNS_12RuntimeStateE Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_18MetaScanLocalStateEE7prepareEPNS_12RuntimeStateE Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_21GroupCommitLocalStateEE7prepareEPNS_12RuntimeStateE Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_18MockScanLocalStateEE7prepareEPNS_12RuntimeStateE |
1254 | | |
1255 | | template <typename Derived> |
1256 | 2 | Status ScanLocalState<Derived>::close(RuntimeState* state) { |
1257 | 2 | if (_closed) { |
1258 | 0 | return Status::OK(); |
1259 | 0 | } |
1260 | 2 | COUNTER_UPDATE(exec_time_counter(), _scan_dependency->watcher_elapse_time()); |
1261 | 2 | int64_t rf_time = 0; |
1262 | 2 | for (auto& dep : _filter_dependencies) { |
1263 | 0 | rf_time += dep->watcher_elapse_time(); |
1264 | 0 | } |
1265 | 2 | COUNTER_UPDATE(exec_time_counter(), rf_time); |
1266 | 2 | SCOPED_TIMER(_close_timer); |
1267 | | |
1268 | 2 | SCOPED_TIMER(exec_time_counter()); |
1269 | 2 | if (auto ctx = _scanner_ctx.load()) { |
1270 | 0 | ctx->stop_scanners(state); |
1271 | | // _scanner_ctx may be accessed in debug_string concurrently |
1272 | | // so use atomic shared ptr to avoid use after free |
1273 | 0 | _scanner_ctx.store(nullptr); |
1274 | 0 | } |
1275 | 2 | std::list<std::shared_ptr<ScannerDelegate>> {}.swap(_scanners); |
1276 | 2 | COUNTER_SET(_wait_for_dependency_timer, _scan_dependency->watcher_elapse_time()); |
1277 | 2 | COUNTER_SET(_wait_for_rf_timer, rf_time); |
1278 | 2 | _helper.collect_realtime_profile(custom_profile()); |
1279 | 2 | return PipelineXLocalState<>::close(state); |
1280 | 2 | } Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE5closeEPNS_12RuntimeStateE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE5closeEPNS_12RuntimeStateE _ZN5doris14ScanLocalStateINS_18FileScanLocalStateEE5closeEPNS_12RuntimeStateE Line | Count | Source | 1256 | 2 | Status ScanLocalState<Derived>::close(RuntimeState* state) { | 1257 | 2 | if (_closed) { | 1258 | 0 | return Status::OK(); | 1259 | 0 | } | 1260 | 2 | COUNTER_UPDATE(exec_time_counter(), _scan_dependency->watcher_elapse_time()); | 1261 | 2 | int64_t rf_time = 0; | 1262 | 2 | for (auto& dep : _filter_dependencies) { | 1263 | 0 | rf_time += dep->watcher_elapse_time(); | 1264 | 0 | } | 1265 | 2 | COUNTER_UPDATE(exec_time_counter(), rf_time); | 1266 | 2 | SCOPED_TIMER(_close_timer); | 1267 | | | 1268 | 2 | SCOPED_TIMER(exec_time_counter()); | 1269 | 2 | if (auto ctx = _scanner_ctx.load()) { | 1270 | 0 | ctx->stop_scanners(state); | 1271 | | // _scanner_ctx may be accessed in debug_string concurrently | 1272 | | // so use atomic shared ptr to avoid use after free | 1273 | 0 | _scanner_ctx.store(nullptr); | 1274 | 0 | } | 1275 | 2 | std::list<std::shared_ptr<ScannerDelegate>> {}.swap(_scanners); | 1276 | 2 | COUNTER_SET(_wait_for_dependency_timer, _scan_dependency->watcher_elapse_time()); | 1277 | 2 | COUNTER_SET(_wait_for_rf_timer, rf_time); | 1278 | 2 | _helper.collect_realtime_profile(custom_profile()); | 1279 | 2 | return PipelineXLocalState<>::close(state); | 1280 | 2 | } |
Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_16EsScanLocalStateEE5closeEPNS_12RuntimeStateE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE5closeEPNS_12RuntimeStateE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE5closeEPNS_12RuntimeStateE Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18MockScanLocalStateEE5closeEPNS_12RuntimeStateE |
1281 | | |
1282 | | template <typename LocalStateType> |
1283 | 0 | Status ScanOperatorX<LocalStateType>::get_block(RuntimeState* state, Block* block, bool* eos) { |
1284 | 0 | auto& local_state = get_local_state(state); |
1285 | 0 | SCOPED_TIMER(local_state.exec_time_counter()); |
1286 | |
|
1287 | 0 | if (state->is_cancelled()) { |
1288 | 0 | if (auto ctx = local_state._scanner_ctx.load()) { |
1289 | 0 | ctx->stop_scanners(state); |
1290 | 0 | } |
1291 | 0 | return state->cancel_reason(); |
1292 | 0 | } |
1293 | | |
1294 | 0 | if (local_state._eos) { |
1295 | 0 | *eos = true; |
1296 | 0 | return Status::OK(); |
1297 | 0 | } |
1298 | | |
1299 | 0 | auto ctx = local_state._scanner_ctx.load(); |
1300 | |
|
1301 | 0 | DCHECK(ctx != nullptr); |
1302 | 0 | RETURN_IF_ERROR(ctx->get_block_from_queue(state, block, eos, 0)); |
1303 | | |
1304 | 0 | local_state.reached_limit(block, eos); |
1305 | 0 | if (*eos) { |
1306 | | // reach limit, stop the scanners. |
1307 | 0 | ctx->stop_scanners(state); |
1308 | 0 | local_state._scanner_profile->add_info_string("EOS", "True"); |
1309 | 0 | } |
1310 | |
|
1311 | 0 | return Status::OK(); |
1312 | 0 | } Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_18OlapScanLocalStateEE9get_blockEPNS_12RuntimeStateEPNS_5BlockEPb Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_18JDBCScanLocalStateEE9get_blockEPNS_12RuntimeStateEPNS_5BlockEPb Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_18FileScanLocalStateEE9get_blockEPNS_12RuntimeStateEPNS_5BlockEPb Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_16EsScanLocalStateEE9get_blockEPNS_12RuntimeStateEPNS_5BlockEPb Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_18MetaScanLocalStateEE9get_blockEPNS_12RuntimeStateEPNS_5BlockEPb Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_21GroupCommitLocalStateEE9get_blockEPNS_12RuntimeStateEPNS_5BlockEPb Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_18MockScanLocalStateEE9get_blockEPNS_12RuntimeStateEPNS_5BlockEPb |
1313 | | |
1314 | | template <typename LocalStateType> |
1315 | 0 | size_t ScanOperatorX<LocalStateType>::get_reserve_mem_size(RuntimeState* state) { |
1316 | 0 | auto& local_state = get_local_state(state); |
1317 | 0 | auto ctx = local_state._scanner_ctx.load(); |
1318 | 0 | if (!local_state._opened || local_state._closed || !ctx) { |
1319 | 0 | return config::doris_scanner_row_bytes; |
1320 | 0 | } |
1321 | | |
1322 | 0 | if (local_state.low_memory_mode()) { |
1323 | 0 | return ctx->low_memory_mode_scan_bytes_per_scanner() * ctx->low_memory_mode_scanners(); |
1324 | 0 | } else { |
1325 | 0 | const auto peak_usage = local_state._memory_used_counter->value(); |
1326 | 0 | const auto block_usage = ctx->block_memory_usage(); |
1327 | 0 | if (peak_usage > 0) { |
1328 | | // It is only a safty check, to avoid some counter not right. |
1329 | 0 | if (peak_usage > block_usage) { |
1330 | 0 | return peak_usage - block_usage; |
1331 | 0 | } else { |
1332 | 0 | return config::doris_scanner_row_bytes; |
1333 | 0 | } |
1334 | 0 | } else { |
1335 | | // If the scan operator is first time to run, then we think it will occupy doris_scanner_row_bytes. |
1336 | | // It maybe a little smaller than actual usage. |
1337 | 0 | return config::doris_scanner_row_bytes; |
1338 | | // return local_state._scanner_ctx->max_bytes_in_queue(); |
1339 | 0 | } |
1340 | 0 | } |
1341 | 0 | } Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_18OlapScanLocalStateEE20get_reserve_mem_sizeEPNS_12RuntimeStateE Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_18JDBCScanLocalStateEE20get_reserve_mem_sizeEPNS_12RuntimeStateE Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_18FileScanLocalStateEE20get_reserve_mem_sizeEPNS_12RuntimeStateE Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_16EsScanLocalStateEE20get_reserve_mem_sizeEPNS_12RuntimeStateE Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_18MetaScanLocalStateEE20get_reserve_mem_sizeEPNS_12RuntimeStateE Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_21GroupCommitLocalStateEE20get_reserve_mem_sizeEPNS_12RuntimeStateE Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_18MockScanLocalStateEE20get_reserve_mem_sizeEPNS_12RuntimeStateE |
1342 | | |
1343 | | template class ScanOperatorX<OlapScanLocalState>; |
1344 | | template class ScanLocalState<OlapScanLocalState>; |
1345 | | template class ScanOperatorX<JDBCScanLocalState>; |
1346 | | template class ScanLocalState<JDBCScanLocalState>; |
1347 | | template class ScanOperatorX<FileScanLocalState>; |
1348 | | template class ScanLocalState<FileScanLocalState>; |
1349 | | template class ScanOperatorX<EsScanLocalState>; |
1350 | | template class ScanLocalState<EsScanLocalState>; |
1351 | | template class ScanLocalState<MetaScanLocalState>; |
1352 | | template class ScanOperatorX<MetaScanLocalState>; |
1353 | | template class ScanOperatorX<GroupCommitLocalState>; |
1354 | | template class ScanLocalState<GroupCommitLocalState>; |
1355 | | |
1356 | | #ifdef BE_TEST |
1357 | | template class ScanOperatorX<MockScanLocalState>; |
1358 | | template class ScanLocalState<MockScanLocalState>; |
1359 | | #endif |
1360 | | |
1361 | | } // namespace doris |