Coverage Report

Created: 2026-03-16 17:53

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
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
16
bool ScanLocalState<Derived>::should_run_serial() const {
72
16
    return _parent->cast<typename Derived::Parent>()._should_run_serial;
73
16
}
_ZNK5doris14ScanLocalStateINS_18OlapScanLocalStateEE17should_run_serialEv
Line
Count
Source
71
14
bool ScanLocalState<Derived>::should_run_serial() const {
72
14
    return _parent->cast<typename Derived::Parent>()._should_run_serial;
73
14
}
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
14
int ScanLocalStateBase::min_scanners_concurrency(RuntimeState* state) const {
116
14
    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
14
    return (state->min_scanners_concurrency() > 0 ? state->min_scanners_concurrency() : 1) *
127
14
           (state->query_parallel_instance_num() / _parent->parallelism(state));
128
14
}
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
    return Status::OK();
152
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
    return Status::OK();
152
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
153
154
template <typename Derived>
155
0
Status ScanLocalState<Derived>::open(RuntimeState* state) {
156
0
    SCOPED_TIMER(exec_time_counter());
157
0
    SCOPED_TIMER(_open_timer);
158
0
    if (_opened) {
159
0
        return Status::OK();
160
0
    }
161
0
    RETURN_IF_ERROR(PipelineXLocalState<>::open(state));
162
0
    auto& p = _parent->cast<typename Derived::Parent>();
163
164
    // init id_file_map() for runtime state
165
0
    std::vector<SlotDescriptor*> slots = p._output_tuple_desc->slots();
166
0
    for (auto slot : slots) {
167
0
        if (slot->col_name().starts_with(BeConsts::GLOBAL_ROWID_COL)) {
168
0
            state->set_id_file_map();
169
0
        }
170
0
    }
171
172
0
    _common_expr_ctxs_push_down.resize(p._common_expr_ctxs_push_down.size());
173
0
    for (size_t i = 0; i < _common_expr_ctxs_push_down.size(); i++) {
174
0
        RETURN_IF_ERROR(
175
0
                p._common_expr_ctxs_push_down[i]->clone(state, _common_expr_ctxs_push_down[i]));
176
0
    }
177
0
    RETURN_IF_ERROR(_helper.acquire_runtime_filter(state, _conjuncts, p.row_descriptor()));
178
179
    // Disable condition cache in topn filter valid. TODO:: Try to support the topn filter in condition cache
180
0
    if (state->query_options().condition_cache_digest && p._topn_filter_source_node_ids.empty()) {
181
0
        _condition_cache_digest = state->query_options().condition_cache_digest;
182
0
        for (auto& conjunct : _conjuncts) {
183
0
            _condition_cache_digest = conjunct->get_digest(_condition_cache_digest);
184
0
            if (!_condition_cache_digest) {
185
0
                break;
186
0
            }
187
0
        }
188
0
    } else {
189
0
        _condition_cache_digest = 0;
190
0
    }
191
192
0
    RETURN_IF_ERROR(_process_conjuncts(state));
193
194
0
    auto status = _eos ? Status::OK() : _prepare_scanners();
195
0
    RETURN_IF_ERROR(status);
196
0
    if (auto ctx = _scanner_ctx.load()) {
197
0
        DCHECK(!_eos && _num_scanners->value() > 0);
198
0
        RETURN_IF_ERROR(ctx->init());
199
0
    }
200
0
    _opened = true;
201
0
    return status;
202
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
203
204
static std::string predicates_to_string(
205
        const phmap::flat_hash_map<int, std::vector<std::shared_ptr<ColumnPredicate>>>&
206
0
                slot_id_to_predicates) {
207
0
    fmt::memory_buffer debug_string_buffer;
208
0
    for (const auto& [slot_id, predicates] : slot_id_to_predicates) {
209
0
        if (predicates.empty()) {
210
0
            continue;
211
0
        }
212
0
        fmt::format_to(debug_string_buffer, "Slot ID: {}: [", slot_id);
213
0
        for (const auto& predicate : predicates) {
214
0
            fmt::format_to(debug_string_buffer, "{{{}}}, ", predicate->debug_string());
215
0
        }
216
0
        fmt::format_to(debug_string_buffer, "] ");
217
0
    }
218
0
    return fmt::to_string(debug_string_buffer);
219
0
}
220
221
static void init_slot_value_range(
222
        phmap::flat_hash_map<int, ColumnValueRangeType>& slot_id_to_value_range,
223
0
        SlotDescriptor* slot, const DataTypePtr type_desc) {
224
0
    switch (type_desc->get_primitive_type()) {
225
0
#define M(NAME)                                                                        \
226
0
    case TYPE_##NAME: {                                                                \
227
0
        ColumnValueRange<TYPE_##NAME> range(slot->col_name(), slot->is_nullable(),     \
228
0
                                            cast_set<int>(type_desc->get_precision()), \
229
0
                                            cast_set<int>(type_desc->get_scale()));    \
230
0
        slot_id_to_value_range[slot->id()] = std::move(range);                         \
231
0
        break;                                                                         \
232
0
    }
233
0
#define APPLY_FOR_SCALAR_TYPE(M) \
234
0
    M(TINYINT)                   \
235
0
    M(SMALLINT)                  \
236
0
    M(INT)                       \
237
0
    M(BIGINT)                    \
238
0
    M(LARGEINT)                  \
239
0
    M(FLOAT)                     \
240
0
    M(DOUBLE)                    \
241
0
    M(CHAR)                      \
242
0
    M(DATE)                      \
243
0
    M(DATETIME)                  \
244
0
    M(DATEV2)                    \
245
0
    M(DATETIMEV2)                \
246
0
    M(TIMESTAMPTZ)               \
247
0
    M(VARCHAR)                   \
248
0
    M(STRING)                    \
249
0
    M(HLL)                       \
250
0
    M(DECIMAL32)                 \
251
0
    M(DECIMAL64)                 \
252
0
    M(DECIMAL128I)               \
253
0
    M(DECIMAL256)                \
254
0
    M(DECIMALV2)                 \
255
0
    M(BOOLEAN)                   \
256
0
    M(IPV4)                      \
257
0
    M(IPV6)
258
0
        APPLY_FOR_SCALAR_TYPE(M)
259
0
#undef M
260
0
    default: {
261
0
        break;
262
0
    }
263
0
    }
264
0
}
265
266
template <typename Derived>
267
0
Status ScanLocalState<Derived>::_normalize_conjuncts(RuntimeState* state) {
268
0
    auto& p = _parent->cast<typename Derived::Parent>();
269
    // The conjuncts is always on output tuple, so use _output_tuple_desc;
270
0
    std::vector<SlotDescriptor*> slots = p._output_tuple_desc->slots();
271
272
0
    for (auto& slot : slots) {
273
0
        init_slot_value_range(_slot_id_to_value_range, slot, slot->type());
274
0
        _slot_id_to_predicates.insert(
275
0
                {slot->id(), std::vector<std::shared_ptr<ColumnPredicate>>()});
276
0
    }
277
278
0
    get_cast_types_for_variants();
279
0
    for (const auto& [colname, type] : _cast_types_for_variants) {
280
0
        auto* slot = p._slot_id_to_slot_desc[p._colname_to_slot_id[colname]];
281
0
        init_slot_value_range(_slot_id_to_value_range, slot, type);
282
0
        _slot_id_to_predicates.insert(
283
0
                {slot->id(), std::vector<std::shared_ptr<ColumnPredicate>>()});
284
0
    }
285
286
0
    RETURN_IF_ERROR(_get_topn_filters(state));
287
288
0
    for (auto it = _conjuncts.begin(); it != _conjuncts.end();) {
289
0
        auto& conjunct = *it;
290
0
        if (conjunct->root()) {
291
0
            VExprSPtr new_root;
292
0
            RETURN_IF_ERROR(_normalize_predicate(conjunct.get(), conjunct->root(), new_root));
293
0
            if (new_root) {
294
0
                conjunct->set_root(new_root);
295
0
                if (_should_push_down_common_expr() &&
296
0
                    VExpr::is_acting_on_a_slot(*(conjunct->root()))) {
297
0
                    _common_expr_ctxs_push_down.emplace_back(conjunct);
298
0
                    it = _conjuncts.erase(it);
299
0
                    continue;
300
0
                }
301
0
            } else { // All conjuncts are pushed down as predicate column
302
0
                _stale_expr_ctxs.emplace_back(
303
0
                        conjunct); // avoid function context and constant str being freed
304
0
                it = _conjuncts.erase(it);
305
0
                continue;
306
0
            }
307
0
        }
308
0
        ++it;
309
0
    }
310
311
0
    if (state->enable_profile()) {
312
0
        custom_profile()->add_info_string("PushDownPredicates",
313
0
                                          predicates_to_string(_slot_id_to_predicates));
314
0
        std::string message;
315
0
        for (auto& conjunct : _conjuncts) {
316
0
            if (conjunct->root()) {
317
0
                if (!message.empty()) {
318
0
                    message += ", ";
319
0
                }
320
0
                message += conjunct->root()->debug_string();
321
0
            }
322
0
        }
323
0
        custom_profile()->add_info_string("RemainedPredicates", message);
324
0
    }
325
326
0
    for (auto& it : _slot_id_to_value_range) {
327
0
        std::visit(
328
0
                [&](auto&& range) {
329
0
                    if (range.is_empty_value_range()) {
330
0
                        _eos = true;
331
0
                        _scan_dependency->set_ready();
332
0
                    }
333
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_
334
0
                it.second);
335
0
    }
336
337
0
    return Status::OK();
338
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
339
340
template <typename Derived>
341
Status ScanLocalState<Derived>::_normalize_predicate(VExprContext* context, const VExprSPtr& root,
342
105
                                                     VExprSPtr& output_expr) {
343
105
    auto expr_root = root->is_rf_wrapper() ? root->get_impl() : root;
344
105
    PushDownType pdt = PushDownType::UNACCEPTABLE;
345
105
    if (dynamic_cast<VirtualSlotRef*>(expr_root.get())) {
346
        // If the expr has virtual slot ref, we need to keep it in the tree.
347
0
        output_expr = expr_root;
348
0
        return Status::OK();
349
0
    }
350
351
105
    SlotDescriptor* slot = nullptr;
352
105
    ColumnValueRangeType* range = nullptr;
353
105
    RETURN_IF_ERROR(_eval_const_conjuncts(context, &pdt));
354
105
    if (pdt == PushDownType::ACCEPTABLE) {
355
2
        output_expr = nullptr;
356
2
        return Status::OK();
357
2
    }
358
103
    std::shared_ptr<VSlotRef> slotref;
359
188
    for (const auto& child : expr_root->children()) {
360
188
        if (VExpr::expr_without_cast(child)->node_type() != TExprNodeType::SLOT_REF) {
361
            // not a slot ref(column)
362
87
            continue;
363
87
        }
364
101
        slotref = std::dynamic_pointer_cast<VSlotRef>(VExpr::expr_without_cast(child));
365
101
    }
366
103
    if (_is_predicate_acting_on_slot(expr_root->children(), &slot, &range)) {
367
99
        Status status = Status::OK();
368
99
        std::visit(
369
99
                [&](auto& value_range) {
370
99
                    auto expr = root->is_rf_wrapper() ? root->get_impl() : root;
371
99
                    {
372
99
                        Defer attach_defer = [&]() {
373
99
                            if (pdt != PushDownType::UNACCEPTABLE && root->is_rf_wrapper()) {
374
0
                                auto* rf_expr = assert_cast<VRuntimeFilterWrapper*>(root.get());
375
0
                                _slot_id_to_predicates[slot->id()].back()->attach_profile_counter(
376
0
                                        rf_expr->filter_id(),
377
0
                                        rf_expr->predicate_filtered_rows_counter(),
378
0
                                        rf_expr->predicate_input_rows_counter(),
379
0
                                        rf_expr->predicate_always_true_rows_counter(),
380
0
                                        context->get_runtime_filter_selectivity());
381
0
                            }
382
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
372
15
                        Defer attach_defer = [&]() {
373
15
                            if (pdt != PushDownType::UNACCEPTABLE && root->is_rf_wrapper()) {
374
0
                                auto* rf_expr = assert_cast<VRuntimeFilterWrapper*>(root.get());
375
0
                                _slot_id_to_predicates[slot->id()].back()->attach_profile_counter(
376
0
                                        rf_expr->filter_id(),
377
0
                                        rf_expr->predicate_filtered_rows_counter(),
378
0
                                        rf_expr->predicate_input_rows_counter(),
379
0
                                        rf_expr->predicate_always_true_rows_counter(),
380
0
                                        context->get_runtime_filter_selectivity());
381
0
                            }
382
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
372
63
                        Defer attach_defer = [&]() {
373
63
                            if (pdt != PushDownType::UNACCEPTABLE && root->is_rf_wrapper()) {
374
0
                                auto* rf_expr = assert_cast<VRuntimeFilterWrapper*>(root.get());
375
0
                                _slot_id_to_predicates[slot->id()].back()->attach_profile_counter(
376
0
                                        rf_expr->filter_id(),
377
0
                                        rf_expr->predicate_filtered_rows_counter(),
378
0
                                        rf_expr->predicate_input_rows_counter(),
379
0
                                        rf_expr->predicate_always_true_rows_counter(),
380
0
                                        context->get_runtime_filter_selectivity());
381
0
                            }
382
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
372
21
                        Defer attach_defer = [&]() {
373
21
                            if (pdt != PushDownType::UNACCEPTABLE && root->is_rf_wrapper()) {
374
0
                                auto* rf_expr = assert_cast<VRuntimeFilterWrapper*>(root.get());
375
0
                                _slot_id_to_predicates[slot->id()].back()->attach_profile_counter(
376
0
                                        rf_expr->filter_id(),
377
0
                                        rf_expr->predicate_filtered_rows_counter(),
378
0
                                        rf_expr->predicate_input_rows_counter(),
379
0
                                        rf_expr->predicate_always_true_rows_counter(),
380
0
                                        context->get_runtime_filter_selectivity());
381
0
                            }
382
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
383
99
                        switch (expr->node_type()) {
384
10
                        case TExprNodeType::IN_PRED:
385
10
                            RETURN_IF_PUSH_DOWN(
386
10
                                    _normalize_in_predicate(context, expr, slot,
387
10
                                                            _slot_id_to_predicates[slot->id()],
388
10
                                                            value_range, &pdt),
389
10
                                    status);
390
10
                            break;
391
85
                        case TExprNodeType::BINARY_PRED:
392
85
                            RETURN_IF_PUSH_DOWN(
393
85
                                    _normalize_binary_predicate(context, expr, slot,
394
85
                                                                _slot_id_to_predicates[slot->id()],
395
85
                                                                value_range, &pdt),
396
85
                                    status);
397
85
                            break;
398
4
                        case TExprNodeType::FUNCTION_CALL:
399
4
                            if (expr->is_topn_filter()) {
400
0
                                RETURN_IF_PUSH_DOWN(
401
0
                                        _normalize_topn_filter(context, expr, slot,
402
0
                                                               _slot_id_to_predicates[slot->id()],
403
0
                                                               &pdt),
404
0
                                        status);
405
4
                            } else {
406
4
                                RETURN_IF_PUSH_DOWN(_normalize_is_null_predicate(
407
4
                                                            context, expr, slot,
408
4
                                                            _slot_id_to_predicates[slot->id()],
409
4
                                                            value_range, &pdt),
410
4
                                                    status);
411
4
                            }
412
4
                            break;
413
4
                        case TExprNodeType::BITMAP_PRED:
414
0
                            RETURN_IF_PUSH_DOWN(_normalize_bitmap_filter(
415
0
                                                        context, root, slot,
416
0
                                                        _slot_id_to_predicates[slot->id()], &pdt),
417
0
                                                status);
418
0
                            break;
419
0
                        case TExprNodeType::BLOOM_PRED:
420
0
                            RETURN_IF_PUSH_DOWN(_normalize_bloom_filter(
421
0
                                                        context, root, slot,
422
0
                                                        _slot_id_to_predicates[slot->id()], &pdt),
423
0
                                                status);
424
0
                            break;
425
0
                        default:
426
0
                            break;
427
99
                        }
428
99
                    }
429
                    // `node_type` of function filter is FUNCTION_CALL or COMPOUND_PRED
430
99
                    if (state()->enable_function_pushdown()) {
431
0
                        RETURN_IF_PUSH_DOWN(_normalize_function_filters(context, slot, &pdt),
432
0
                                            status);
433
0
                    }
434
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
369
15
                [&](auto& value_range) {
370
15
                    auto expr = root->is_rf_wrapper() ? root->get_impl() : root;
371
15
                    {
372
15
                        Defer attach_defer = [&]() {
373
15
                            if (pdt != PushDownType::UNACCEPTABLE && root->is_rf_wrapper()) {
374
15
                                auto* rf_expr = assert_cast<VRuntimeFilterWrapper*>(root.get());
375
15
                                _slot_id_to_predicates[slot->id()].back()->attach_profile_counter(
376
15
                                        rf_expr->filter_id(),
377
15
                                        rf_expr->predicate_filtered_rows_counter(),
378
15
                                        rf_expr->predicate_input_rows_counter(),
379
15
                                        rf_expr->predicate_always_true_rows_counter(),
380
15
                                        context->get_runtime_filter_selectivity());
381
15
                            }
382
15
                        };
383
15
                        switch (expr->node_type()) {
384
6
                        case TExprNodeType::IN_PRED:
385
6
                            RETURN_IF_PUSH_DOWN(
386
6
                                    _normalize_in_predicate(context, expr, slot,
387
6
                                                            _slot_id_to_predicates[slot->id()],
388
6
                                                            value_range, &pdt),
389
6
                                    status);
390
6
                            break;
391
7
                        case TExprNodeType::BINARY_PRED:
392
7
                            RETURN_IF_PUSH_DOWN(
393
7
                                    _normalize_binary_predicate(context, expr, slot,
394
7
                                                                _slot_id_to_predicates[slot->id()],
395
7
                                                                value_range, &pdt),
396
7
                                    status);
397
7
                            break;
398
2
                        case TExprNodeType::FUNCTION_CALL:
399
2
                            if (expr->is_topn_filter()) {
400
0
                                RETURN_IF_PUSH_DOWN(
401
0
                                        _normalize_topn_filter(context, expr, slot,
402
0
                                                               _slot_id_to_predicates[slot->id()],
403
0
                                                               &pdt),
404
0
                                        status);
405
2
                            } else {
406
2
                                RETURN_IF_PUSH_DOWN(_normalize_is_null_predicate(
407
2
                                                            context, expr, slot,
408
2
                                                            _slot_id_to_predicates[slot->id()],
409
2
                                                            value_range, &pdt),
410
2
                                                    status);
411
2
                            }
412
2
                            break;
413
2
                        case TExprNodeType::BITMAP_PRED:
414
0
                            RETURN_IF_PUSH_DOWN(_normalize_bitmap_filter(
415
0
                                                        context, root, slot,
416
0
                                                        _slot_id_to_predicates[slot->id()], &pdt),
417
0
                                                status);
418
0
                            break;
419
0
                        case TExprNodeType::BLOOM_PRED:
420
0
                            RETURN_IF_PUSH_DOWN(_normalize_bloom_filter(
421
0
                                                        context, root, slot,
422
0
                                                        _slot_id_to_predicates[slot->id()], &pdt),
423
0
                                                status);
424
0
                            break;
425
0
                        default:
426
0
                            break;
427
15
                        }
428
15
                    }
429
                    // `node_type` of function filter is FUNCTION_CALL or COMPOUND_PRED
430
15
                    if (state()->enable_function_pushdown()) {
431
0
                        RETURN_IF_PUSH_DOWN(_normalize_function_filters(context, slot, &pdt),
432
0
                                            status);
433
0
                    }
434
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
369
63
                [&](auto& value_range) {
370
63
                    auto expr = root->is_rf_wrapper() ? root->get_impl() : root;
371
63
                    {
372
63
                        Defer attach_defer = [&]() {
373
63
                            if (pdt != PushDownType::UNACCEPTABLE && root->is_rf_wrapper()) {
374
63
                                auto* rf_expr = assert_cast<VRuntimeFilterWrapper*>(root.get());
375
63
                                _slot_id_to_predicates[slot->id()].back()->attach_profile_counter(
376
63
                                        rf_expr->filter_id(),
377
63
                                        rf_expr->predicate_filtered_rows_counter(),
378
63
                                        rf_expr->predicate_input_rows_counter(),
379
63
                                        rf_expr->predicate_always_true_rows_counter(),
380
63
                                        context->get_runtime_filter_selectivity());
381
63
                            }
382
63
                        };
383
63
                        switch (expr->node_type()) {
384
2
                        case TExprNodeType::IN_PRED:
385
2
                            RETURN_IF_PUSH_DOWN(
386
2
                                    _normalize_in_predicate(context, expr, slot,
387
2
                                                            _slot_id_to_predicates[slot->id()],
388
2
                                                            value_range, &pdt),
389
2
                                    status);
390
2
                            break;
391
60
                        case TExprNodeType::BINARY_PRED:
392
60
                            RETURN_IF_PUSH_DOWN(
393
60
                                    _normalize_binary_predicate(context, expr, slot,
394
60
                                                                _slot_id_to_predicates[slot->id()],
395
60
                                                                value_range, &pdt),
396
60
                                    status);
397
60
                            break;
398
1
                        case TExprNodeType::FUNCTION_CALL:
399
1
                            if (expr->is_topn_filter()) {
400
0
                                RETURN_IF_PUSH_DOWN(
401
0
                                        _normalize_topn_filter(context, expr, slot,
402
0
                                                               _slot_id_to_predicates[slot->id()],
403
0
                                                               &pdt),
404
0
                                        status);
405
1
                            } else {
406
1
                                RETURN_IF_PUSH_DOWN(_normalize_is_null_predicate(
407
1
                                                            context, expr, slot,
408
1
                                                            _slot_id_to_predicates[slot->id()],
409
1
                                                            value_range, &pdt),
410
1
                                                    status);
411
1
                            }
412
1
                            break;
413
1
                        case TExprNodeType::BITMAP_PRED:
414
0
                            RETURN_IF_PUSH_DOWN(_normalize_bitmap_filter(
415
0
                                                        context, root, slot,
416
0
                                                        _slot_id_to_predicates[slot->id()], &pdt),
417
0
                                                status);
418
0
                            break;
419
0
                        case TExprNodeType::BLOOM_PRED:
420
0
                            RETURN_IF_PUSH_DOWN(_normalize_bloom_filter(
421
0
                                                        context, root, slot,
422
0
                                                        _slot_id_to_predicates[slot->id()], &pdt),
423
0
                                                status);
424
0
                            break;
425
0
                        default:
426
0
                            break;
427
63
                        }
428
63
                    }
429
                    // `node_type` of function filter is FUNCTION_CALL or COMPOUND_PRED
430
63
                    if (state()->enable_function_pushdown()) {
431
0
                        RETURN_IF_PUSH_DOWN(_normalize_function_filters(context, slot, &pdt),
432
0
                                            status);
433
0
                    }
434
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
369
21
                [&](auto& value_range) {
370
21
                    auto expr = root->is_rf_wrapper() ? root->get_impl() : root;
371
21
                    {
372
21
                        Defer attach_defer = [&]() {
373
21
                            if (pdt != PushDownType::UNACCEPTABLE && root->is_rf_wrapper()) {
374
21
                                auto* rf_expr = assert_cast<VRuntimeFilterWrapper*>(root.get());
375
21
                                _slot_id_to_predicates[slot->id()].back()->attach_profile_counter(
376
21
                                        rf_expr->filter_id(),
377
21
                                        rf_expr->predicate_filtered_rows_counter(),
378
21
                                        rf_expr->predicate_input_rows_counter(),
379
21
                                        rf_expr->predicate_always_true_rows_counter(),
380
21
                                        context->get_runtime_filter_selectivity());
381
21
                            }
382
21
                        };
383
21
                        switch (expr->node_type()) {
384
2
                        case TExprNodeType::IN_PRED:
385
2
                            RETURN_IF_PUSH_DOWN(
386
2
                                    _normalize_in_predicate(context, expr, slot,
387
2
                                                            _slot_id_to_predicates[slot->id()],
388
2
                                                            value_range, &pdt),
389
2
                                    status);
390
2
                            break;
391
18
                        case TExprNodeType::BINARY_PRED:
392
18
                            RETURN_IF_PUSH_DOWN(
393
18
                                    _normalize_binary_predicate(context, expr, slot,
394
18
                                                                _slot_id_to_predicates[slot->id()],
395
18
                                                                value_range, &pdt),
396
18
                                    status);
397
18
                            break;
398
1
                        case TExprNodeType::FUNCTION_CALL:
399
1
                            if (expr->is_topn_filter()) {
400
0
                                RETURN_IF_PUSH_DOWN(
401
0
                                        _normalize_topn_filter(context, expr, slot,
402
0
                                                               _slot_id_to_predicates[slot->id()],
403
0
                                                               &pdt),
404
0
                                        status);
405
1
                            } else {
406
1
                                RETURN_IF_PUSH_DOWN(_normalize_is_null_predicate(
407
1
                                                            context, expr, slot,
408
1
                                                            _slot_id_to_predicates[slot->id()],
409
1
                                                            value_range, &pdt),
410
1
                                                    status);
411
1
                            }
412
1
                            break;
413
1
                        case TExprNodeType::BITMAP_PRED:
414
0
                            RETURN_IF_PUSH_DOWN(_normalize_bitmap_filter(
415
0
                                                        context, root, slot,
416
0
                                                        _slot_id_to_predicates[slot->id()], &pdt),
417
0
                                                status);
418
0
                            break;
419
0
                        case TExprNodeType::BLOOM_PRED:
420
0
                            RETURN_IF_PUSH_DOWN(_normalize_bloom_filter(
421
0
                                                        context, root, slot,
422
0
                                                        _slot_id_to_predicates[slot->id()], &pdt),
423
0
                                                status);
424
0
                            break;
425
0
                        default:
426
0
                            break;
427
21
                        }
428
21
                    }
429
                    // `node_type` of function filter is FUNCTION_CALL or COMPOUND_PRED
430
21
                    if (state()->enable_function_pushdown()) {
431
0
                        RETURN_IF_PUSH_DOWN(_normalize_function_filters(context, slot, &pdt),
432
0
                                            status);
433
0
                    }
434
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_
435
99
                *range);
436
99
        RETURN_IF_ERROR(status);
437
99
    }
438
103
    if (pdt == PushDownType::ACCEPTABLE && slotref != nullptr &&
439
103
        slotref->data_type()->get_primitive_type() == PrimitiveType::TYPE_VARIANT) {
440
        // remaining it in the expr tree, in order to filter by function if the pushdown
441
        // predicate is not applied
442
0
        output_expr = expr_root; // remaining in conjunct tree
443
0
        return Status::OK();
444
0
    }
445
446
103
    if (pdt == PushDownType::ACCEPTABLE && (_is_key_column(slot->col_name()))) {
447
96
        output_expr = nullptr;
448
96
        return Status::OK();
449
96
    } else {
450
        // for PARTIAL_ACCEPTABLE and UNACCEPTABLE, do not remove expr from the tree
451
7
        output_expr = root;
452
7
        return Status::OK();
453
7
    }
454
0
    output_expr = root;
455
0
    return Status::OK();
456
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
342
105
                                                     VExprSPtr& output_expr) {
343
105
    auto expr_root = root->is_rf_wrapper() ? root->get_impl() : root;
344
105
    PushDownType pdt = PushDownType::UNACCEPTABLE;
345
105
    if (dynamic_cast<VirtualSlotRef*>(expr_root.get())) {
346
        // If the expr has virtual slot ref, we need to keep it in the tree.
347
0
        output_expr = expr_root;
348
0
        return Status::OK();
349
0
    }
350
351
105
    SlotDescriptor* slot = nullptr;
352
105
    ColumnValueRangeType* range = nullptr;
353
105
    RETURN_IF_ERROR(_eval_const_conjuncts(context, &pdt));
354
105
    if (pdt == PushDownType::ACCEPTABLE) {
355
2
        output_expr = nullptr;
356
2
        return Status::OK();
357
2
    }
358
103
    std::shared_ptr<VSlotRef> slotref;
359
188
    for (const auto& child : expr_root->children()) {
360
188
        if (VExpr::expr_without_cast(child)->node_type() != TExprNodeType::SLOT_REF) {
361
            // not a slot ref(column)
362
87
            continue;
363
87
        }
364
101
        slotref = std::dynamic_pointer_cast<VSlotRef>(VExpr::expr_without_cast(child));
365
101
    }
366
103
    if (_is_predicate_acting_on_slot(expr_root->children(), &slot, &range)) {
367
99
        Status status = Status::OK();
368
99
        std::visit(
369
99
                [&](auto& value_range) {
370
99
                    auto expr = root->is_rf_wrapper() ? root->get_impl() : root;
371
99
                    {
372
99
                        Defer attach_defer = [&]() {
373
99
                            if (pdt != PushDownType::UNACCEPTABLE && root->is_rf_wrapper()) {
374
99
                                auto* rf_expr = assert_cast<VRuntimeFilterWrapper*>(root.get());
375
99
                                _slot_id_to_predicates[slot->id()].back()->attach_profile_counter(
376
99
                                        rf_expr->filter_id(),
377
99
                                        rf_expr->predicate_filtered_rows_counter(),
378
99
                                        rf_expr->predicate_input_rows_counter(),
379
99
                                        rf_expr->predicate_always_true_rows_counter(),
380
99
                                        context->get_runtime_filter_selectivity());
381
99
                            }
382
99
                        };
383
99
                        switch (expr->node_type()) {
384
99
                        case TExprNodeType::IN_PRED:
385
99
                            RETURN_IF_PUSH_DOWN(
386
99
                                    _normalize_in_predicate(context, expr, slot,
387
99
                                                            _slot_id_to_predicates[slot->id()],
388
99
                                                            value_range, &pdt),
389
99
                                    status);
390
99
                            break;
391
99
                        case TExprNodeType::BINARY_PRED:
392
99
                            RETURN_IF_PUSH_DOWN(
393
99
                                    _normalize_binary_predicate(context, expr, slot,
394
99
                                                                _slot_id_to_predicates[slot->id()],
395
99
                                                                value_range, &pdt),
396
99
                                    status);
397
99
                            break;
398
99
                        case TExprNodeType::FUNCTION_CALL:
399
99
                            if (expr->is_topn_filter()) {
400
99
                                RETURN_IF_PUSH_DOWN(
401
99
                                        _normalize_topn_filter(context, expr, slot,
402
99
                                                               _slot_id_to_predicates[slot->id()],
403
99
                                                               &pdt),
404
99
                                        status);
405
99
                            } else {
406
99
                                RETURN_IF_PUSH_DOWN(_normalize_is_null_predicate(
407
99
                                                            context, expr, slot,
408
99
                                                            _slot_id_to_predicates[slot->id()],
409
99
                                                            value_range, &pdt),
410
99
                                                    status);
411
99
                            }
412
99
                            break;
413
99
                        case TExprNodeType::BITMAP_PRED:
414
99
                            RETURN_IF_PUSH_DOWN(_normalize_bitmap_filter(
415
99
                                                        context, root, slot,
416
99
                                                        _slot_id_to_predicates[slot->id()], &pdt),
417
99
                                                status);
418
99
                            break;
419
99
                        case TExprNodeType::BLOOM_PRED:
420
99
                            RETURN_IF_PUSH_DOWN(_normalize_bloom_filter(
421
99
                                                        context, root, slot,
422
99
                                                        _slot_id_to_predicates[slot->id()], &pdt),
423
99
                                                status);
424
99
                            break;
425
99
                        default:
426
99
                            break;
427
99
                        }
428
99
                    }
429
                    // `node_type` of function filter is FUNCTION_CALL or COMPOUND_PRED
430
99
                    if (state()->enable_function_pushdown()) {
431
99
                        RETURN_IF_PUSH_DOWN(_normalize_function_filters(context, slot, &pdt),
432
99
                                            status);
433
99
                    }
434
99
                },
435
99
                *range);
436
99
        RETURN_IF_ERROR(status);
437
99
    }
438
103
    if (pdt == PushDownType::ACCEPTABLE && slotref != nullptr &&
439
103
        slotref->data_type()->get_primitive_type() == PrimitiveType::TYPE_VARIANT) {
440
        // remaining it in the expr tree, in order to filter by function if the pushdown
441
        // predicate is not applied
442
0
        output_expr = expr_root; // remaining in conjunct tree
443
0
        return Status::OK();
444
0
    }
445
446
103
    if (pdt == PushDownType::ACCEPTABLE && (_is_key_column(slot->col_name()))) {
447
96
        output_expr = nullptr;
448
96
        return Status::OK();
449
96
    } else {
450
        // for PARTIAL_ACCEPTABLE and UNACCEPTABLE, do not remove expr from the tree
451
7
        output_expr = root;
452
7
        return Status::OK();
453
7
    }
454
0
    output_expr = root;
455
0
    return Status::OK();
456
103
}
457
458
Status ScanLocalStateBase::_normalize_bloom_filter(
459
        VExprContext* expr_ctx, const VExprSPtr& root, SlotDescriptor* slot,
460
0
        std::vector<std::shared_ptr<ColumnPredicate>>& predicates, PushDownType* pdt) {
461
0
    std::shared_ptr<ColumnPredicate> pred = nullptr;
462
0
    Defer defer = [&]() {
463
0
        if (pred) {
464
0
            DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string();
465
0
            predicates.emplace_back(pred);
466
0
        } else {
467
            // If exception occurs during processing, do not push down
468
0
            *pdt = PushDownType::UNACCEPTABLE;
469
0
        }
470
0
    };
471
0
    DCHECK(TExprNodeType::BLOOM_PRED == root->node_type());
472
0
    auto expr = root->is_rf_wrapper() ? root->get_impl() : root;
473
0
    DCHECK(expr->get_num_children() == 1);
474
0
    DCHECK(root->is_rf_wrapper());
475
0
    *pdt = _should_push_down_bloom_filter();
476
0
    if (*pdt != PushDownType::UNACCEPTABLE) {
477
0
        pred = create_bloom_filter_predicate(
478
0
                _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(),
479
0
                slot->type()->get_primitive_type() == TYPE_VARIANT ? expr->get_child(0)->data_type()
480
0
                                                                   : slot->type(),
481
0
                expr->get_bloom_filter_func());
482
0
    }
483
0
    return Status::OK();
484
0
}
485
486
Status ScanLocalStateBase::_normalize_topn_filter(
487
        VExprContext* expr_ctx, const VExprSPtr& root, SlotDescriptor* slot,
488
0
        std::vector<std::shared_ptr<ColumnPredicate>>& predicates, PushDownType* pdt) {
489
0
    std::shared_ptr<ColumnPredicate> pred = nullptr;
490
0
    Defer defer = [&]() {
491
0
        if (pred) {
492
0
            DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string();
493
0
            predicates.emplace_back(pred);
494
0
        } else {
495
            // If exception occurs during processing, do not push down
496
0
            *pdt = PushDownType::UNACCEPTABLE;
497
0
        }
498
0
    };
499
0
    DCHECK(root->is_topn_filter());
500
0
    *pdt = _should_push_down_topn_filter();
501
0
    if (*pdt != PushDownType::UNACCEPTABLE) {
502
0
        auto& tmp = _state->get_query_ctx()->get_runtime_predicate(
503
0
                assert_cast<VTopNPred*>(root.get())->source_node_id());
504
0
        if (_push_down_topn(tmp)) {
505
0
            pred = tmp.get_predicate(_parent->node_id());
506
0
        }
507
0
    }
508
0
    return Status::OK();
509
0
}
510
511
Status ScanLocalStateBase::_normalize_bitmap_filter(
512
        VExprContext* expr_ctx, const VExprSPtr& root, SlotDescriptor* slot,
513
0
        std::vector<std::shared_ptr<ColumnPredicate>>& predicates, PushDownType* pdt) {
514
0
    std::shared_ptr<ColumnPredicate> pred = nullptr;
515
0
    Defer defer = [&]() {
516
0
        if (pred) {
517
0
            DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string();
518
0
            predicates.emplace_back(pred);
519
0
        } else {
520
            // If exception occurs during processing, do not push down
521
0
            *pdt = PushDownType::UNACCEPTABLE;
522
0
        }
523
0
    };
524
0
    DCHECK(TExprNodeType::BITMAP_PRED == root->node_type());
525
0
    auto expr = root->is_rf_wrapper() ? root->get_impl() : root;
526
0
    *pdt = _should_push_down_bitmap_filter();
527
0
    if (*pdt != PushDownType::UNACCEPTABLE) {
528
0
        DCHECK(expr->get_num_children() == 1);
529
0
        DCHECK(root->is_rf_wrapper());
530
0
        pred = create_bitmap_filter_predicate(
531
0
                _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(),
532
0
                slot->type()->get_primitive_type() == TYPE_VARIANT ? expr->get_child(0)->data_type()
533
0
                                                                   : slot->type(),
534
0
                expr->get_bitmap_filter_func());
535
0
    }
536
0
    return Status::OK();
537
0
}
538
539
Status ScanLocalStateBase::_normalize_function_filters(VExprContext* expr_ctx, SlotDescriptor* slot,
540
0
                                                       PushDownType* pdt) {
541
0
    auto expr = expr_ctx->root()->is_rf_wrapper() ? expr_ctx->root()->get_impl() : expr_ctx->root();
542
0
    bool opposite = false;
543
0
    VExpr* fn_expr = expr.get();
544
0
    if (TExprNodeType::COMPOUND_PRED == expr->node_type() &&
545
0
        expr->fn().name.function_name == "not") {
546
0
        fn_expr = fn_expr->children()[0].get();
547
0
        opposite = true;
548
0
    }
549
550
0
    if (fn_expr->is_like_expr()) {
551
0
        doris::FunctionContext* fn_ctx = nullptr;
552
0
        StringRef val;
553
0
        PushDownType temp_pdt;
554
0
        RETURN_IF_ERROR(_should_push_down_function_filter(assert_cast<VectorizedFnCall*>(fn_expr),
555
0
                                                          expr_ctx, &val, &fn_ctx, temp_pdt));
556
0
        if (temp_pdt != PushDownType::UNACCEPTABLE) {
557
0
            std::string col = slot->col_name();
558
0
            _push_down_functions.emplace_back(opposite, col, fn_ctx, val);
559
0
            *pdt = temp_pdt;
560
0
        }
561
0
    }
562
0
    return Status::OK();
563
0
}
564
565
// only one level cast expr could push down for variant type
566
// check if expr is cast and it's children is slot
567
0
static bool is_valid_push_down_cast(const VExprSPtrs& children) {
568
0
    auto slot_expr = VExpr::expr_without_cast(children[0]);
569
0
    return slot_expr->data_type()->get_primitive_type() == PrimitiveType::TYPE_VARIANT &&
570
0
           children[0]->node_type() == TExprNodeType::CAST_EXPR &&
571
0
           children[0]->children().at(0)->is_slot_ref();
572
0
}
573
574
template <typename Derived>
575
bool ScanLocalState<Derived>::_is_predicate_acting_on_slot(const VExprSPtrs& children,
576
                                                           SlotDescriptor** slot_desc,
577
103
                                                           ColumnValueRangeType** range) {
578
    // children[0] must be slot ref or cast(slot(variant) as type)
579
103
    if (children.empty() || (children[0]->node_type() != TExprNodeType::SLOT_REF &&
580
101
                             !is_valid_push_down_cast(children))) {
581
        // not a slot ref(column)
582
2
        return false;
583
2
    }
584
101
    std::shared_ptr<VSlotRef> slot_ref =
585
101
            std::dynamic_pointer_cast<VSlotRef>(VExpr::expr_without_cast(children[0]));
586
101
    *slot_desc =
587
101
            _parent->cast<typename Derived::Parent>()._slot_id_to_slot_desc[slot_ref->slot_id()];
588
101
    auto entry = _slot_id_to_predicates.find(slot_ref->slot_id());
589
101
    if (_slot_id_to_predicates.end() == entry) {
590
2
        return false;
591
2
    }
592
99
    auto sid_to_range = _slot_id_to_value_range.find(slot_ref->slot_id());
593
99
    if (_slot_id_to_value_range.end() == sid_to_range) {
594
0
        return false;
595
0
    }
596
99
    if (remove_nullable((*slot_desc)->type())->get_primitive_type() == TYPE_VARBINARY) {
597
0
        return false;
598
0
    }
599
99
    *range = &(sid_to_range->second);
600
99
    return true;
601
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
577
103
                                                           ColumnValueRangeType** range) {
578
    // children[0] must be slot ref or cast(slot(variant) as type)
579
103
    if (children.empty() || (children[0]->node_type() != TExprNodeType::SLOT_REF &&
580
101
                             !is_valid_push_down_cast(children))) {
581
        // not a slot ref(column)
582
2
        return false;
583
2
    }
584
101
    std::shared_ptr<VSlotRef> slot_ref =
585
101
            std::dynamic_pointer_cast<VSlotRef>(VExpr::expr_without_cast(children[0]));
586
101
    *slot_desc =
587
101
            _parent->cast<typename Derived::Parent>()._slot_id_to_slot_desc[slot_ref->slot_id()];
588
101
    auto entry = _slot_id_to_predicates.find(slot_ref->slot_id());
589
101
    if (_slot_id_to_predicates.end() == entry) {
590
2
        return false;
591
2
    }
592
99
    auto sid_to_range = _slot_id_to_value_range.find(slot_ref->slot_id());
593
99
    if (_slot_id_to_value_range.end() == sid_to_range) {
594
0
        return false;
595
0
    }
596
99
    if (remove_nullable((*slot_desc)->type())->get_primitive_type() == TYPE_VARBINARY) {
597
0
        return false;
598
0
    }
599
99
    *range = &(sid_to_range->second);
600
99
    return true;
601
99
}
602
603
template <typename Derived>
604
0
std::string ScanLocalState<Derived>::debug_string(int indentation_level) const {
605
0
    fmt::memory_buffer debug_string_buffer;
606
0
    fmt::format_to(debug_string_buffer, "{}, _eos = {} , _opened = {}",
607
0
                   PipelineXLocalState<>::debug_string(indentation_level), _eos.load(),
608
0
                   _opened.load());
609
0
    if (auto ctx = _scanner_ctx.load()) {
610
0
        fmt::format_to(debug_string_buffer, "");
611
0
        fmt::format_to(debug_string_buffer, ", Scanner Context: {}", ctx->debug_string());
612
0
    } else {
613
0
        fmt::format_to(debug_string_buffer, "");
614
0
        fmt::format_to(debug_string_buffer, ", Scanner Context: NULL");
615
0
    }
616
617
0
    return fmt::to_string(debug_string_buffer);
618
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
619
620
105
Status ScanLocalStateBase::_eval_const_conjuncts(VExprContext* expr_ctx, PushDownType* pdt) {
621
105
    auto vexpr =
622
105
            expr_ctx->root()->is_rf_wrapper() ? expr_ctx->root()->get_impl() : expr_ctx->root();
623
    // Used to handle constant expressions, such as '1 = 1' _eval_const_conjuncts does not handle cases like 'colA = 1'
624
105
    const char* constant_val = nullptr;
625
105
    if (vexpr->is_constant()) {
626
3
        std::shared_ptr<ColumnPtrWrapper> const_col_wrapper;
627
3
        RETURN_IF_ERROR(vexpr->get_const_col(expr_ctx, &const_col_wrapper));
628
3
        if (const auto* const_column =
629
3
                    check_and_get_column<ColumnConst>(const_col_wrapper->column_ptr.get())) {
630
1
            constant_val = const_column->get_data_at(0).data;
631
1
            if (constant_val == nullptr || !*reinterpret_cast<const bool*>(constant_val)) {
632
1
                *pdt = PushDownType::ACCEPTABLE;
633
1
                _eos = true;
634
1
                _scan_dependency->set_ready();
635
1
            }
636
2
        } else if (const auto* bool_column =
637
2
                           check_and_get_column<ColumnUInt8>(const_col_wrapper->column_ptr.get())) {
638
            // TODO: If `vexpr->is_constant()` is true, a const column is expected here.
639
            //  But now we still don't cover all predicates for const expression.
640
            //  For example, for query `SELECT col FROM tbl WHERE 'PROMOTION' LIKE 'AAA%'`,
641
            //  predicate `like` will return a ColumnVector<UInt8> which contains a single value.
642
1
            LOG(WARNING) << "VExpr[" << vexpr->debug_string()
643
1
                         << "] should return a const column but actually is "
644
1
                         << const_col_wrapper->column_ptr->get_name();
645
1
            DCHECK_EQ(bool_column->size(), 1);
646
            /// TODO: There is a DCHECK here, but an additional check is still needed. It should return an error code.
647
1
            if (bool_column->size() == 1) {
648
1
                constant_val = bool_column->get_data_at(0).data;
649
1
                if (constant_val == nullptr || !*reinterpret_cast<const bool*>(constant_val)) {
650
1
                    *pdt = PushDownType::ACCEPTABLE;
651
1
                    _eos = true;
652
1
                    _scan_dependency->set_ready();
653
1
                }
654
1
            } else {
655
0
                LOG(WARNING) << "Constant predicate in scan node should return a bool column with "
656
0
                                "`size == 1` but actually is "
657
0
                             << bool_column->size();
658
0
            }
659
1
        } else {
660
1
            LOG(WARNING) << "VExpr[" << vexpr->debug_string()
661
1
                         << "] should return a const column but actually is "
662
1
                         << const_col_wrapper->column_ptr->get_name();
663
1
        }
664
3
    }
665
105
    return Status::OK();
666
105
}
667
668
template <PrimitiveType T>
669
Status ScanLocalStateBase::_normalize_in_predicate(
670
        VExprContext* expr_ctx, const VExprSPtr& root, SlotDescriptor* slot,
671
        std::vector<std::shared_ptr<ColumnPredicate>>& predicates, ColumnValueRange<T>& range,
672
10
        PushDownType* pdt) {
673
10
    std::shared_ptr<ColumnPredicate> pred = nullptr;
674
10
    Defer defer = [&]() {
675
10
        if (pred) {
676
8
            DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string();
677
8
            predicates.emplace_back(pred);
678
8
        } else {
679
            // If exception occurs during processing, do not push down
680
2
            *pdt = PushDownType::UNACCEPTABLE;
681
2
        }
682
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
674
6
    Defer defer = [&]() {
675
6
        if (pred) {
676
4
            DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string();
677
4
            predicates.emplace_back(pred);
678
4
        } else {
679
            // If exception occurs during processing, do not push down
680
2
            *pdt = PushDownType::UNACCEPTABLE;
681
2
        }
682
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
674
2
    Defer defer = [&]() {
675
2
        if (pred) {
676
2
            DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string();
677
2
            predicates.emplace_back(pred);
678
2
        } else {
679
            // If exception occurs during processing, do not push down
680
0
            *pdt = PushDownType::UNACCEPTABLE;
681
0
        }
682
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
674
2
    Defer defer = [&]() {
675
2
        if (pred) {
676
2
            DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string();
677
2
            predicates.emplace_back(pred);
678
2
        } else {
679
            // If exception occurs during processing, do not push down
680
0
            *pdt = PushDownType::UNACCEPTABLE;
681
0
        }
682
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
683
684
10
    if (slot->get_virtual_column_expr() != nullptr) {
685
        // virtual column, do not push down
686
0
        return Status::OK();
687
0
    }
688
689
10
    DCHECK(!root->is_rf_wrapper()) << root->debug_string();
690
10
    DCHECK(TExprNodeType::IN_PRED == root->node_type()) << root->debug_string();
691
10
    *pdt = _should_push_down_in_predicate();
692
10
    if (*pdt == PushDownType::UNACCEPTABLE) {
693
0
        return Status::OK();
694
0
    }
695
10
    HybridSetBase::IteratorBase* iter = nullptr;
696
10
    auto hybrid_set = root->get_set_func();
697
698
10
    auto is_in = false;
699
10
    if (hybrid_set != nullptr) {
700
        // runtime filter produce VDirectInPredicate
701
0
        if (hybrid_set->size() <= static_cast<size_t>(_max_pushdown_conditions_per_column)) {
702
0
            iter = hybrid_set->begin();
703
0
        }
704
0
        is_in = true;
705
10
    } else {
706
        // normal in predicate
707
10
        auto* tmp = assert_cast<VInPredicate*>(root.get());
708
709
        // begin to push InPredicate value into ColumnValueRange
710
10
        auto* state = reinterpret_cast<InState*>(
711
10
                expr_ctx->fn_context(tmp->fn_context_index())
712
10
                        ->get_function_state(FunctionContext::FRAGMENT_LOCAL));
713
714
        // xx in (col, xx, xx) should not be push down
715
10
        if (!state->use_set) {
716
1
            return Status::OK();
717
1
        }
718
9
        is_in = !tmp->is_not_in();
719
720
9
        if (state->hybrid_set->contain_null() && tmp->is_not_in()) {
721
1
            _eos = true;
722
1
            _scan_dependency->set_ready();
723
1
            return Status::OK();
724
1
        }
725
8
        hybrid_set = state->hybrid_set;
726
8
        iter = state->hybrid_set->begin();
727
8
    }
728
729
8
    if (iter) {
730
8
        auto empty_range = ColumnValueRange<T>::create_empty_column_value_range(
731
8
                slot->is_nullable(), range.precision(), range.scale());
732
8
        auto& temp_range = is_in ? empty_range : range;
733
8
        auto fn = is_in ? ColumnValueRange<T>::add_fixed_value_range
734
8
                        : (range.is_fixed_value_range()
735
4
                                   ? ColumnValueRange<T>::remove_fixed_value_range
736
4
                                   : ColumnValueRange<T>::empty_function);
737
46
        while (iter->has_next()) {
738
            // column in (nullptr) is always false so continue to
739
            // dispose next item
740
38
            DCHECK(iter->get_value() != nullptr);
741
38
            const auto* value = iter->get_value();
742
38
            if constexpr (is_string_type(T)) {
743
0
                const auto* str_value = reinterpret_cast<const StringRef*>(value);
744
0
                RETURN_IF_ERROR(_change_value_range(
745
0
                        is_in, temp_range,
746
0
                        Field::create_field<T>(std::string(str_value->data, str_value->size)), fn,
747
0
                        is_in ? "in" : "not_in"));
748
38
            } else {
749
38
                RETURN_IF_ERROR(_change_value_range(
750
38
                        is_in, temp_range,
751
38
                        Field::create_field<T>(
752
38
                                *reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(
753
38
                                        value)),
754
38
                        fn, is_in ? "in" : "not_in"));
755
38
            }
756
38
            iter->next();
757
38
        }
758
8
        if (is_in) {
759
4
            range.intersection(temp_range);
760
4
        }
761
8
    }
762
8
    pred = is_in ? create_in_list_predicate<PredicateType::IN_LIST>(
763
4
                           _parent->intermediate_row_desc().get_column_id(slot->id()),
764
4
                           slot->col_name(),
765
4
                           slot->type()->get_primitive_type() == TYPE_VARIANT
766
4
                                   ? root->get_child(0)->data_type()
767
4
                                   : slot->type(),
768
4
                           hybrid_set, false)
769
8
                 : create_in_list_predicate<PredicateType::NOT_IN_LIST>(
770
4
                           _parent->intermediate_row_desc().get_column_id(slot->id()),
771
4
                           slot->col_name(),
772
4
                           slot->type()->get_primitive_type() == TYPE_VARIANT
773
4
                                   ? root->get_child(0)->data_type()
774
4
                                   : slot->type(),
775
4
                           hybrid_set, false);
776
8
    return Status::OK();
777
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
672
6
        PushDownType* pdt) {
673
6
    std::shared_ptr<ColumnPredicate> pred = nullptr;
674
6
    Defer defer = [&]() {
675
6
        if (pred) {
676
6
            DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string();
677
6
            predicates.emplace_back(pred);
678
6
        } else {
679
            // If exception occurs during processing, do not push down
680
6
            *pdt = PushDownType::UNACCEPTABLE;
681
6
        }
682
6
    };
683
684
6
    if (slot->get_virtual_column_expr() != nullptr) {
685
        // virtual column, do not push down
686
0
        return Status::OK();
687
0
    }
688
689
6
    DCHECK(!root->is_rf_wrapper()) << root->debug_string();
690
6
    DCHECK(TExprNodeType::IN_PRED == root->node_type()) << root->debug_string();
691
6
    *pdt = _should_push_down_in_predicate();
692
6
    if (*pdt == PushDownType::UNACCEPTABLE) {
693
0
        return Status::OK();
694
0
    }
695
6
    HybridSetBase::IteratorBase* iter = nullptr;
696
6
    auto hybrid_set = root->get_set_func();
697
698
6
    auto is_in = false;
699
6
    if (hybrid_set != nullptr) {
700
        // runtime filter produce VDirectInPredicate
701
0
        if (hybrid_set->size() <= static_cast<size_t>(_max_pushdown_conditions_per_column)) {
702
0
            iter = hybrid_set->begin();
703
0
        }
704
0
        is_in = true;
705
6
    } else {
706
        // normal in predicate
707
6
        auto* tmp = assert_cast<VInPredicate*>(root.get());
708
709
        // begin to push InPredicate value into ColumnValueRange
710
6
        auto* state = reinterpret_cast<InState*>(
711
6
                expr_ctx->fn_context(tmp->fn_context_index())
712
6
                        ->get_function_state(FunctionContext::FRAGMENT_LOCAL));
713
714
        // xx in (col, xx, xx) should not be push down
715
6
        if (!state->use_set) {
716
1
            return Status::OK();
717
1
        }
718
5
        is_in = !tmp->is_not_in();
719
720
5
        if (state->hybrid_set->contain_null() && tmp->is_not_in()) {
721
1
            _eos = true;
722
1
            _scan_dependency->set_ready();
723
1
            return Status::OK();
724
1
        }
725
4
        hybrid_set = state->hybrid_set;
726
4
        iter = state->hybrid_set->begin();
727
4
    }
728
729
4
    if (iter) {
730
4
        auto empty_range = ColumnValueRange<T>::create_empty_column_value_range(
731
4
                slot->is_nullable(), range.precision(), range.scale());
732
4
        auto& temp_range = is_in ? empty_range : range;
733
4
        auto fn = is_in ? ColumnValueRange<T>::add_fixed_value_range
734
4
                        : (range.is_fixed_value_range()
735
2
                                   ? ColumnValueRange<T>::remove_fixed_value_range
736
2
                                   : ColumnValueRange<T>::empty_function);
737
16
        while (iter->has_next()) {
738
            // column in (nullptr) is always false so continue to
739
            // dispose next item
740
12
            DCHECK(iter->get_value() != nullptr);
741
12
            const auto* value = iter->get_value();
742
            if constexpr (is_string_type(T)) {
743
                const auto* str_value = reinterpret_cast<const StringRef*>(value);
744
                RETURN_IF_ERROR(_change_value_range(
745
                        is_in, temp_range,
746
                        Field::create_field<T>(std::string(str_value->data, str_value->size)), fn,
747
                        is_in ? "in" : "not_in"));
748
12
            } else {
749
12
                RETURN_IF_ERROR(_change_value_range(
750
12
                        is_in, temp_range,
751
12
                        Field::create_field<T>(
752
12
                                *reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(
753
12
                                        value)),
754
12
                        fn, is_in ? "in" : "not_in"));
755
12
            }
756
12
            iter->next();
757
12
        }
758
4
        if (is_in) {
759
2
            range.intersection(temp_range);
760
2
        }
761
4
    }
762
4
    pred = is_in ? create_in_list_predicate<PredicateType::IN_LIST>(
763
2
                           _parent->intermediate_row_desc().get_column_id(slot->id()),
764
2
                           slot->col_name(),
765
2
                           slot->type()->get_primitive_type() == TYPE_VARIANT
766
2
                                   ? root->get_child(0)->data_type()
767
2
                                   : slot->type(),
768
2
                           hybrid_set, false)
769
4
                 : create_in_list_predicate<PredicateType::NOT_IN_LIST>(
770
2
                           _parent->intermediate_row_desc().get_column_id(slot->id()),
771
2
                           slot->col_name(),
772
2
                           slot->type()->get_primitive_type() == TYPE_VARIANT
773
2
                                   ? root->get_child(0)->data_type()
774
2
                                   : slot->type(),
775
2
                           hybrid_set, false);
776
4
    return Status::OK();
777
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
672
2
        PushDownType* pdt) {
673
2
    std::shared_ptr<ColumnPredicate> pred = nullptr;
674
2
    Defer defer = [&]() {
675
2
        if (pred) {
676
2
            DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string();
677
2
            predicates.emplace_back(pred);
678
2
        } else {
679
            // If exception occurs during processing, do not push down
680
2
            *pdt = PushDownType::UNACCEPTABLE;
681
2
        }
682
2
    };
683
684
2
    if (slot->get_virtual_column_expr() != nullptr) {
685
        // virtual column, do not push down
686
0
        return Status::OK();
687
0
    }
688
689
2
    DCHECK(!root->is_rf_wrapper()) << root->debug_string();
690
2
    DCHECK(TExprNodeType::IN_PRED == root->node_type()) << root->debug_string();
691
2
    *pdt = _should_push_down_in_predicate();
692
2
    if (*pdt == PushDownType::UNACCEPTABLE) {
693
0
        return Status::OK();
694
0
    }
695
2
    HybridSetBase::IteratorBase* iter = nullptr;
696
2
    auto hybrid_set = root->get_set_func();
697
698
2
    auto is_in = false;
699
2
    if (hybrid_set != nullptr) {
700
        // runtime filter produce VDirectInPredicate
701
0
        if (hybrid_set->size() <= static_cast<size_t>(_max_pushdown_conditions_per_column)) {
702
0
            iter = hybrid_set->begin();
703
0
        }
704
0
        is_in = true;
705
2
    } else {
706
        // normal in predicate
707
2
        auto* tmp = assert_cast<VInPredicate*>(root.get());
708
709
        // begin to push InPredicate value into ColumnValueRange
710
2
        auto* state = reinterpret_cast<InState*>(
711
2
                expr_ctx->fn_context(tmp->fn_context_index())
712
2
                        ->get_function_state(FunctionContext::FRAGMENT_LOCAL));
713
714
        // xx in (col, xx, xx) should not be push down
715
2
        if (!state->use_set) {
716
0
            return Status::OK();
717
0
        }
718
2
        is_in = !tmp->is_not_in();
719
720
2
        if (state->hybrid_set->contain_null() && tmp->is_not_in()) {
721
0
            _eos = true;
722
0
            _scan_dependency->set_ready();
723
0
            return Status::OK();
724
0
        }
725
2
        hybrid_set = state->hybrid_set;
726
2
        iter = state->hybrid_set->begin();
727
2
    }
728
729
2
    if (iter) {
730
2
        auto empty_range = ColumnValueRange<T>::create_empty_column_value_range(
731
2
                slot->is_nullable(), range.precision(), range.scale());
732
2
        auto& temp_range = is_in ? empty_range : range;
733
2
        auto fn = is_in ? ColumnValueRange<T>::add_fixed_value_range
734
2
                        : (range.is_fixed_value_range()
735
1
                                   ? ColumnValueRange<T>::remove_fixed_value_range
736
1
                                   : ColumnValueRange<T>::empty_function);
737
22
        while (iter->has_next()) {
738
            // column in (nullptr) is always false so continue to
739
            // dispose next item
740
20
            DCHECK(iter->get_value() != nullptr);
741
20
            const auto* value = iter->get_value();
742
            if constexpr (is_string_type(T)) {
743
                const auto* str_value = reinterpret_cast<const StringRef*>(value);
744
                RETURN_IF_ERROR(_change_value_range(
745
                        is_in, temp_range,
746
                        Field::create_field<T>(std::string(str_value->data, str_value->size)), fn,
747
                        is_in ? "in" : "not_in"));
748
20
            } else {
749
20
                RETURN_IF_ERROR(_change_value_range(
750
20
                        is_in, temp_range,
751
20
                        Field::create_field<T>(
752
20
                                *reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(
753
20
                                        value)),
754
20
                        fn, is_in ? "in" : "not_in"));
755
20
            }
756
20
            iter->next();
757
20
        }
758
2
        if (is_in) {
759
1
            range.intersection(temp_range);
760
1
        }
761
2
    }
762
2
    pred = is_in ? create_in_list_predicate<PredicateType::IN_LIST>(
763
1
                           _parent->intermediate_row_desc().get_column_id(slot->id()),
764
1
                           slot->col_name(),
765
1
                           slot->type()->get_primitive_type() == TYPE_VARIANT
766
1
                                   ? root->get_child(0)->data_type()
767
1
                                   : slot->type(),
768
1
                           hybrid_set, false)
769
2
                 : create_in_list_predicate<PredicateType::NOT_IN_LIST>(
770
1
                           _parent->intermediate_row_desc().get_column_id(slot->id()),
771
1
                           slot->col_name(),
772
1
                           slot->type()->get_primitive_type() == TYPE_VARIANT
773
1
                                   ? root->get_child(0)->data_type()
774
1
                                   : slot->type(),
775
1
                           hybrid_set, false);
776
2
    return Status::OK();
777
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
672
2
        PushDownType* pdt) {
673
2
    std::shared_ptr<ColumnPredicate> pred = nullptr;
674
2
    Defer defer = [&]() {
675
2
        if (pred) {
676
2
            DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string();
677
2
            predicates.emplace_back(pred);
678
2
        } else {
679
            // If exception occurs during processing, do not push down
680
2
            *pdt = PushDownType::UNACCEPTABLE;
681
2
        }
682
2
    };
683
684
2
    if (slot->get_virtual_column_expr() != nullptr) {
685
        // virtual column, do not push down
686
0
        return Status::OK();
687
0
    }
688
689
2
    DCHECK(!root->is_rf_wrapper()) << root->debug_string();
690
2
    DCHECK(TExprNodeType::IN_PRED == root->node_type()) << root->debug_string();
691
2
    *pdt = _should_push_down_in_predicate();
692
2
    if (*pdt == PushDownType::UNACCEPTABLE) {
693
0
        return Status::OK();
694
0
    }
695
2
    HybridSetBase::IteratorBase* iter = nullptr;
696
2
    auto hybrid_set = root->get_set_func();
697
698
2
    auto is_in = false;
699
2
    if (hybrid_set != nullptr) {
700
        // runtime filter produce VDirectInPredicate
701
0
        if (hybrid_set->size() <= static_cast<size_t>(_max_pushdown_conditions_per_column)) {
702
0
            iter = hybrid_set->begin();
703
0
        }
704
0
        is_in = true;
705
2
    } else {
706
        // normal in predicate
707
2
        auto* tmp = assert_cast<VInPredicate*>(root.get());
708
709
        // begin to push InPredicate value into ColumnValueRange
710
2
        auto* state = reinterpret_cast<InState*>(
711
2
                expr_ctx->fn_context(tmp->fn_context_index())
712
2
                        ->get_function_state(FunctionContext::FRAGMENT_LOCAL));
713
714
        // xx in (col, xx, xx) should not be push down
715
2
        if (!state->use_set) {
716
0
            return Status::OK();
717
0
        }
718
2
        is_in = !tmp->is_not_in();
719
720
2
        if (state->hybrid_set->contain_null() && tmp->is_not_in()) {
721
0
            _eos = true;
722
0
            _scan_dependency->set_ready();
723
0
            return Status::OK();
724
0
        }
725
2
        hybrid_set = state->hybrid_set;
726
2
        iter = state->hybrid_set->begin();
727
2
    }
728
729
2
    if (iter) {
730
2
        auto empty_range = ColumnValueRange<T>::create_empty_column_value_range(
731
2
                slot->is_nullable(), range.precision(), range.scale());
732
2
        auto& temp_range = is_in ? empty_range : range;
733
2
        auto fn = is_in ? ColumnValueRange<T>::add_fixed_value_range
734
2
                        : (range.is_fixed_value_range()
735
1
                                   ? ColumnValueRange<T>::remove_fixed_value_range
736
1
                                   : ColumnValueRange<T>::empty_function);
737
8
        while (iter->has_next()) {
738
            // column in (nullptr) is always false so continue to
739
            // dispose next item
740
6
            DCHECK(iter->get_value() != nullptr);
741
6
            const auto* value = iter->get_value();
742
            if constexpr (is_string_type(T)) {
743
                const auto* str_value = reinterpret_cast<const StringRef*>(value);
744
                RETURN_IF_ERROR(_change_value_range(
745
                        is_in, temp_range,
746
                        Field::create_field<T>(std::string(str_value->data, str_value->size)), fn,
747
                        is_in ? "in" : "not_in"));
748
6
            } else {
749
6
                RETURN_IF_ERROR(_change_value_range(
750
6
                        is_in, temp_range,
751
6
                        Field::create_field<T>(
752
6
                                *reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(
753
6
                                        value)),
754
6
                        fn, is_in ? "in" : "not_in"));
755
6
            }
756
6
            iter->next();
757
6
        }
758
2
        if (is_in) {
759
1
            range.intersection(temp_range);
760
1
        }
761
2
    }
762
2
    pred = is_in ? create_in_list_predicate<PredicateType::IN_LIST>(
763
1
                           _parent->intermediate_row_desc().get_column_id(slot->id()),
764
1
                           slot->col_name(),
765
1
                           slot->type()->get_primitive_type() == TYPE_VARIANT
766
1
                                   ? root->get_child(0)->data_type()
767
1
                                   : slot->type(),
768
1
                           hybrid_set, false)
769
2
                 : create_in_list_predicate<PredicateType::NOT_IN_LIST>(
770
1
                           _parent->intermediate_row_desc().get_column_id(slot->id()),
771
1
                           slot->col_name(),
772
1
                           slot->type()->get_primitive_type() == TYPE_VARIANT
773
1
                                   ? root->get_child(0)->data_type()
774
1
                                   : slot->type(),
775
1
                           hybrid_set, false);
776
2
    return Status::OK();
777
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
778
779
template <PrimitiveType T>
780
Status ScanLocalStateBase::_normalize_binary_predicate(
781
        VExprContext* expr_ctx, const VExprSPtr& root, SlotDescriptor* slot,
782
        std::vector<std::shared_ptr<ColumnPredicate>>& predicates, ColumnValueRange<T>& range,
783
85
        PushDownType* pdt) {
784
85
    std::shared_ptr<ColumnPredicate> pred = nullptr;
785
85
    Defer defer = [&]() {
786
85
        if (pred) {
787
84
            DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string();
788
84
            predicates.emplace_back(pred);
789
84
        } else {
790
            // If exception occurs during processing, do not push down
791
1
            *pdt = PushDownType::UNACCEPTABLE;
792
1
        }
793
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
785
7
    Defer defer = [&]() {
786
7
        if (pred) {
787
6
            DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string();
788
6
            predicates.emplace_back(pred);
789
6
        } else {
790
            // If exception occurs during processing, do not push down
791
1
            *pdt = PushDownType::UNACCEPTABLE;
792
1
        }
793
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
785
60
    Defer defer = [&]() {
786
60
        if (pred) {
787
60
            DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string();
788
60
            predicates.emplace_back(pred);
789
60
        } else {
790
            // If exception occurs during processing, do not push down
791
0
            *pdt = PushDownType::UNACCEPTABLE;
792
0
        }
793
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
785
18
    Defer defer = [&]() {
786
18
        if (pred) {
787
18
            DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string();
788
18
            predicates.emplace_back(pred);
789
18
        } else {
790
            // If exception occurs during processing, do not push down
791
0
            *pdt = PushDownType::UNACCEPTABLE;
792
0
        }
793
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
794
795
85
    if (slot->get_virtual_column_expr() != nullptr) {
796
        // virtual column, do not push down
797
0
        return Status::OK();
798
0
    }
799
800
85
    DCHECK(!root->is_rf_wrapper()) << root->debug_string();
801
85
    DCHECK(TExprNodeType::BINARY_PRED == root->node_type()) << root->debug_string();
802
85
    DCHECK(root->get_num_children() == 2);
803
85
    Field value;
804
85
    *pdt = _should_push_down_binary_predicate(assert_cast<VectorizedFnCall*>(root.get()), expr_ctx,
805
85
                                              value, {"eq", "ne", "lt", "gt", "le", "ge"});
806
85
    if (*pdt == PushDownType::UNACCEPTABLE) {
807
0
        return Status::OK();
808
0
    }
809
85
    const std::string& function_name =
810
85
            assert_cast<VectorizedFnCall*>(root.get())->fn().name.function_name;
811
85
    auto op = to_olap_filter_type(function_name);
812
85
    auto is_equal_op = op == SQLFilterOp::FILTER_EQ || op == SQLFilterOp::FILTER_NE;
813
85
    auto empty_range = ColumnValueRange<T>::create_empty_column_value_range(
814
85
            slot->is_nullable(), range.precision(), range.scale());
815
85
    auto& temp_range = op == SQLFilterOp::FILTER_EQ ? empty_range : range;
816
85
    if (value.get_type() != TYPE_NULL) {
817
84
        switch (op) {
818
16
        case SQLFilterOp::FILTER_EQ:
819
16
            pred = create_comparison_predicate<PredicateType::EQ>(
820
16
                    _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(),
821
16
                    slot->type()->get_primitive_type() == TYPE_VARIANT
822
16
                            ? root->get_child(0)->data_type()
823
16
                            : slot->type(),
824
16
                    value, false);
825
16
            break;
826
14
        case SQLFilterOp::FILTER_NE:
827
14
            pred = create_comparison_predicate<PredicateType::NE>(
828
14
                    _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(),
829
14
                    slot->type()->get_primitive_type() == TYPE_VARIANT
830
14
                            ? root->get_child(0)->data_type()
831
14
                            : slot->type(),
832
14
                    value, false);
833
14
            break;
834
13
        case SQLFilterOp::FILTER_LESS:
835
13
            pred = create_comparison_predicate<PredicateType::LT>(
836
13
                    _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(),
837
13
                    slot->type()->get_primitive_type() == TYPE_VARIANT
838
13
                            ? root->get_child(0)->data_type()
839
13
                            : slot->type(),
840
13
                    value, false);
841
13
            break;
842
13
        case SQLFilterOp::FILTER_LARGER:
843
13
            pred = create_comparison_predicate<PredicateType::GT>(
844
13
                    _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(),
845
13
                    slot->type()->get_primitive_type() == TYPE_VARIANT
846
13
                            ? root->get_child(0)->data_type()
847
13
                            : slot->type(),
848
13
                    value, false);
849
13
            break;
850
14
        case SQLFilterOp::FILTER_LESS_OR_EQUAL:
851
14
            pred = create_comparison_predicate<PredicateType::LE>(
852
14
                    _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(),
853
14
                    slot->type()->get_primitive_type() == TYPE_VARIANT
854
14
                            ? root->get_child(0)->data_type()
855
14
                            : slot->type(),
856
14
                    value, false);
857
14
            break;
858
14
        case SQLFilterOp::FILTER_LARGER_OR_EQUAL:
859
14
            pred = create_comparison_predicate<PredicateType::GE>(
860
14
                    _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(),
861
14
                    slot->type()->get_primitive_type() == TYPE_VARIANT
862
14
                            ? root->get_child(0)->data_type()
863
14
                            : slot->type(),
864
14
                    value, false);
865
14
            break;
866
0
        default:
867
0
            throw Exception(Status::InternalError("Unsupported function name: {}", function_name));
868
84
        }
869
870
84
        auto fn = op == SQLFilterOp::FILTER_EQ ? ColumnValueRange<T>::add_fixed_value_range
871
84
                  : op == SQLFilterOp::FILTER_NE
872
68
                          ? (range.is_fixed_value_range()
873
14
                                     ? ColumnValueRange<T>::remove_fixed_value_range
874
14
                                     : ColumnValueRange<T>::empty_function)
875
68
                          : ColumnValueRange<T>::add_value_range;
876
84
        RETURN_IF_ERROR(_change_value_range(is_equal_op, temp_range, value, fn, function_name));
877
84
        if (op == SQLFilterOp::FILTER_EQ) {
878
16
            range.intersection(temp_range);
879
16
        }
880
84
    } else {
881
1
        *pdt = PushDownType::UNACCEPTABLE;
882
1
        _eos = true;
883
1
        _scan_dependency->set_ready();
884
1
    }
885
886
85
    return Status::OK();
887
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
783
7
        PushDownType* pdt) {
784
7
    std::shared_ptr<ColumnPredicate> pred = nullptr;
785
7
    Defer defer = [&]() {
786
7
        if (pred) {
787
7
            DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string();
788
7
            predicates.emplace_back(pred);
789
7
        } else {
790
            // If exception occurs during processing, do not push down
791
7
            *pdt = PushDownType::UNACCEPTABLE;
792
7
        }
793
7
    };
794
795
7
    if (slot->get_virtual_column_expr() != nullptr) {
796
        // virtual column, do not push down
797
0
        return Status::OK();
798
0
    }
799
800
7
    DCHECK(!root->is_rf_wrapper()) << root->debug_string();
801
7
    DCHECK(TExprNodeType::BINARY_PRED == root->node_type()) << root->debug_string();
802
7
    DCHECK(root->get_num_children() == 2);
803
7
    Field value;
804
7
    *pdt = _should_push_down_binary_predicate(assert_cast<VectorizedFnCall*>(root.get()), expr_ctx,
805
7
                                              value, {"eq", "ne", "lt", "gt", "le", "ge"});
806
7
    if (*pdt == PushDownType::UNACCEPTABLE) {
807
0
        return Status::OK();
808
0
    }
809
7
    const std::string& function_name =
810
7
            assert_cast<VectorizedFnCall*>(root.get())->fn().name.function_name;
811
7
    auto op = to_olap_filter_type(function_name);
812
7
    auto is_equal_op = op == SQLFilterOp::FILTER_EQ || op == SQLFilterOp::FILTER_NE;
813
7
    auto empty_range = ColumnValueRange<T>::create_empty_column_value_range(
814
7
            slot->is_nullable(), range.precision(), range.scale());
815
7
    auto& temp_range = op == SQLFilterOp::FILTER_EQ ? empty_range : range;
816
7
    if (value.get_type() != TYPE_NULL) {
817
6
        switch (op) {
818
3
        case SQLFilterOp::FILTER_EQ:
819
3
            pred = create_comparison_predicate<PredicateType::EQ>(
820
3
                    _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(),
821
3
                    slot->type()->get_primitive_type() == TYPE_VARIANT
822
3
                            ? root->get_child(0)->data_type()
823
3
                            : slot->type(),
824
3
                    value, false);
825
3
            break;
826
1
        case SQLFilterOp::FILTER_NE:
827
1
            pred = create_comparison_predicate<PredicateType::NE>(
828
1
                    _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(),
829
1
                    slot->type()->get_primitive_type() == TYPE_VARIANT
830
1
                            ? root->get_child(0)->data_type()
831
1
                            : slot->type(),
832
1
                    value, false);
833
1
            break;
834
0
        case SQLFilterOp::FILTER_LESS:
835
0
            pred = create_comparison_predicate<PredicateType::LT>(
836
0
                    _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(),
837
0
                    slot->type()->get_primitive_type() == TYPE_VARIANT
838
0
                            ? root->get_child(0)->data_type()
839
0
                            : slot->type(),
840
0
                    value, false);
841
0
            break;
842
0
        case SQLFilterOp::FILTER_LARGER:
843
0
            pred = create_comparison_predicate<PredicateType::GT>(
844
0
                    _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(),
845
0
                    slot->type()->get_primitive_type() == TYPE_VARIANT
846
0
                            ? root->get_child(0)->data_type()
847
0
                            : slot->type(),
848
0
                    value, false);
849
0
            break;
850
1
        case SQLFilterOp::FILTER_LESS_OR_EQUAL:
851
1
            pred = create_comparison_predicate<PredicateType::LE>(
852
1
                    _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(),
853
1
                    slot->type()->get_primitive_type() == TYPE_VARIANT
854
1
                            ? root->get_child(0)->data_type()
855
1
                            : slot->type(),
856
1
                    value, false);
857
1
            break;
858
1
        case SQLFilterOp::FILTER_LARGER_OR_EQUAL:
859
1
            pred = create_comparison_predicate<PredicateType::GE>(
860
1
                    _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(),
861
1
                    slot->type()->get_primitive_type() == TYPE_VARIANT
862
1
                            ? root->get_child(0)->data_type()
863
1
                            : slot->type(),
864
1
                    value, false);
865
1
            break;
866
0
        default:
867
0
            throw Exception(Status::InternalError("Unsupported function name: {}", function_name));
868
6
        }
869
870
6
        auto fn = op == SQLFilterOp::FILTER_EQ ? ColumnValueRange<T>::add_fixed_value_range
871
6
                  : op == SQLFilterOp::FILTER_NE
872
3
                          ? (range.is_fixed_value_range()
873
1
                                     ? ColumnValueRange<T>::remove_fixed_value_range
874
1
                                     : ColumnValueRange<T>::empty_function)
875
3
                          : ColumnValueRange<T>::add_value_range;
876
6
        RETURN_IF_ERROR(_change_value_range(is_equal_op, temp_range, value, fn, function_name));
877
6
        if (op == SQLFilterOp::FILTER_EQ) {
878
3
            range.intersection(temp_range);
879
3
        }
880
6
    } else {
881
1
        *pdt = PushDownType::UNACCEPTABLE;
882
1
        _eos = true;
883
1
        _scan_dependency->set_ready();
884
1
    }
885
886
7
    return Status::OK();
887
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
783
60
        PushDownType* pdt) {
784
60
    std::shared_ptr<ColumnPredicate> pred = nullptr;
785
60
    Defer defer = [&]() {
786
60
        if (pred) {
787
60
            DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string();
788
60
            predicates.emplace_back(pred);
789
60
        } else {
790
            // If exception occurs during processing, do not push down
791
60
            *pdt = PushDownType::UNACCEPTABLE;
792
60
        }
793
60
    };
794
795
60
    if (slot->get_virtual_column_expr() != nullptr) {
796
        // virtual column, do not push down
797
0
        return Status::OK();
798
0
    }
799
800
60
    DCHECK(!root->is_rf_wrapper()) << root->debug_string();
801
60
    DCHECK(TExprNodeType::BINARY_PRED == root->node_type()) << root->debug_string();
802
60
    DCHECK(root->get_num_children() == 2);
803
60
    Field value;
804
60
    *pdt = _should_push_down_binary_predicate(assert_cast<VectorizedFnCall*>(root.get()), expr_ctx,
805
60
                                              value, {"eq", "ne", "lt", "gt", "le", "ge"});
806
60
    if (*pdt == PushDownType::UNACCEPTABLE) {
807
0
        return Status::OK();
808
0
    }
809
60
    const std::string& function_name =
810
60
            assert_cast<VectorizedFnCall*>(root.get())->fn().name.function_name;
811
60
    auto op = to_olap_filter_type(function_name);
812
60
    auto is_equal_op = op == SQLFilterOp::FILTER_EQ || op == SQLFilterOp::FILTER_NE;
813
60
    auto empty_range = ColumnValueRange<T>::create_empty_column_value_range(
814
60
            slot->is_nullable(), range.precision(), range.scale());
815
60
    auto& temp_range = op == SQLFilterOp::FILTER_EQ ? empty_range : range;
816
60
    if (value.get_type() != TYPE_NULL) {
817
60
        switch (op) {
818
10
        case SQLFilterOp::FILTER_EQ:
819
10
            pred = create_comparison_predicate<PredicateType::EQ>(
820
10
                    _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(),
821
10
                    slot->type()->get_primitive_type() == TYPE_VARIANT
822
10
                            ? root->get_child(0)->data_type()
823
10
                            : slot->type(),
824
10
                    value, false);
825
10
            break;
826
10
        case SQLFilterOp::FILTER_NE:
827
10
            pred = create_comparison_predicate<PredicateType::NE>(
828
10
                    _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(),
829
10
                    slot->type()->get_primitive_type() == TYPE_VARIANT
830
10
                            ? root->get_child(0)->data_type()
831
10
                            : slot->type(),
832
10
                    value, false);
833
10
            break;
834
10
        case SQLFilterOp::FILTER_LESS:
835
10
            pred = create_comparison_predicate<PredicateType::LT>(
836
10
                    _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(),
837
10
                    slot->type()->get_primitive_type() == TYPE_VARIANT
838
10
                            ? root->get_child(0)->data_type()
839
10
                            : slot->type(),
840
10
                    value, false);
841
10
            break;
842
10
        case SQLFilterOp::FILTER_LARGER:
843
10
            pred = create_comparison_predicate<PredicateType::GT>(
844
10
                    _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(),
845
10
                    slot->type()->get_primitive_type() == TYPE_VARIANT
846
10
                            ? root->get_child(0)->data_type()
847
10
                            : slot->type(),
848
10
                    value, false);
849
10
            break;
850
10
        case SQLFilterOp::FILTER_LESS_OR_EQUAL:
851
10
            pred = create_comparison_predicate<PredicateType::LE>(
852
10
                    _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(),
853
10
                    slot->type()->get_primitive_type() == TYPE_VARIANT
854
10
                            ? root->get_child(0)->data_type()
855
10
                            : slot->type(),
856
10
                    value, false);
857
10
            break;
858
10
        case SQLFilterOp::FILTER_LARGER_OR_EQUAL:
859
10
            pred = create_comparison_predicate<PredicateType::GE>(
860
10
                    _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(),
861
10
                    slot->type()->get_primitive_type() == TYPE_VARIANT
862
10
                            ? root->get_child(0)->data_type()
863
10
                            : slot->type(),
864
10
                    value, false);
865
10
            break;
866
0
        default:
867
0
            throw Exception(Status::InternalError("Unsupported function name: {}", function_name));
868
60
        }
869
870
60
        auto fn = op == SQLFilterOp::FILTER_EQ ? ColumnValueRange<T>::add_fixed_value_range
871
60
                  : op == SQLFilterOp::FILTER_NE
872
50
                          ? (range.is_fixed_value_range()
873
10
                                     ? ColumnValueRange<T>::remove_fixed_value_range
874
10
                                     : ColumnValueRange<T>::empty_function)
875
50
                          : ColumnValueRange<T>::add_value_range;
876
60
        RETURN_IF_ERROR(_change_value_range(is_equal_op, temp_range, value, fn, function_name));
877
60
        if (op == SQLFilterOp::FILTER_EQ) {
878
10
            range.intersection(temp_range);
879
10
        }
880
60
    } else {
881
0
        *pdt = PushDownType::UNACCEPTABLE;
882
0
        _eos = true;
883
0
        _scan_dependency->set_ready();
884
0
    }
885
886
60
    return Status::OK();
887
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
783
18
        PushDownType* pdt) {
784
18
    std::shared_ptr<ColumnPredicate> pred = nullptr;
785
18
    Defer defer = [&]() {
786
18
        if (pred) {
787
18
            DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string();
788
18
            predicates.emplace_back(pred);
789
18
        } else {
790
            // If exception occurs during processing, do not push down
791
18
            *pdt = PushDownType::UNACCEPTABLE;
792
18
        }
793
18
    };
794
795
18
    if (slot->get_virtual_column_expr() != nullptr) {
796
        // virtual column, do not push down
797
0
        return Status::OK();
798
0
    }
799
800
18
    DCHECK(!root->is_rf_wrapper()) << root->debug_string();
801
18
    DCHECK(TExprNodeType::BINARY_PRED == root->node_type()) << root->debug_string();
802
18
    DCHECK(root->get_num_children() == 2);
803
18
    Field value;
804
18
    *pdt = _should_push_down_binary_predicate(assert_cast<VectorizedFnCall*>(root.get()), expr_ctx,
805
18
                                              value, {"eq", "ne", "lt", "gt", "le", "ge"});
806
18
    if (*pdt == PushDownType::UNACCEPTABLE) {
807
0
        return Status::OK();
808
0
    }
809
18
    const std::string& function_name =
810
18
            assert_cast<VectorizedFnCall*>(root.get())->fn().name.function_name;
811
18
    auto op = to_olap_filter_type(function_name);
812
18
    auto is_equal_op = op == SQLFilterOp::FILTER_EQ || op == SQLFilterOp::FILTER_NE;
813
18
    auto empty_range = ColumnValueRange<T>::create_empty_column_value_range(
814
18
            slot->is_nullable(), range.precision(), range.scale());
815
18
    auto& temp_range = op == SQLFilterOp::FILTER_EQ ? empty_range : range;
816
18
    if (value.get_type() != TYPE_NULL) {
817
18
        switch (op) {
818
3
        case SQLFilterOp::FILTER_EQ:
819
3
            pred = create_comparison_predicate<PredicateType::EQ>(
820
3
                    _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(),
821
3
                    slot->type()->get_primitive_type() == TYPE_VARIANT
822
3
                            ? root->get_child(0)->data_type()
823
3
                            : slot->type(),
824
3
                    value, false);
825
3
            break;
826
3
        case SQLFilterOp::FILTER_NE:
827
3
            pred = create_comparison_predicate<PredicateType::NE>(
828
3
                    _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(),
829
3
                    slot->type()->get_primitive_type() == TYPE_VARIANT
830
3
                            ? root->get_child(0)->data_type()
831
3
                            : slot->type(),
832
3
                    value, false);
833
3
            break;
834
3
        case SQLFilterOp::FILTER_LESS:
835
3
            pred = create_comparison_predicate<PredicateType::LT>(
836
3
                    _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(),
837
3
                    slot->type()->get_primitive_type() == TYPE_VARIANT
838
3
                            ? root->get_child(0)->data_type()
839
3
                            : slot->type(),
840
3
                    value, false);
841
3
            break;
842
3
        case SQLFilterOp::FILTER_LARGER:
843
3
            pred = create_comparison_predicate<PredicateType::GT>(
844
3
                    _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(),
845
3
                    slot->type()->get_primitive_type() == TYPE_VARIANT
846
3
                            ? root->get_child(0)->data_type()
847
3
                            : slot->type(),
848
3
                    value, false);
849
3
            break;
850
3
        case SQLFilterOp::FILTER_LESS_OR_EQUAL:
851
3
            pred = create_comparison_predicate<PredicateType::LE>(
852
3
                    _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(),
853
3
                    slot->type()->get_primitive_type() == TYPE_VARIANT
854
3
                            ? root->get_child(0)->data_type()
855
3
                            : slot->type(),
856
3
                    value, false);
857
3
            break;
858
3
        case SQLFilterOp::FILTER_LARGER_OR_EQUAL:
859
3
            pred = create_comparison_predicate<PredicateType::GE>(
860
3
                    _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(),
861
3
                    slot->type()->get_primitive_type() == TYPE_VARIANT
862
3
                            ? root->get_child(0)->data_type()
863
3
                            : slot->type(),
864
3
                    value, false);
865
3
            break;
866
0
        default:
867
0
            throw Exception(Status::InternalError("Unsupported function name: {}", function_name));
868
18
        }
869
870
18
        auto fn = op == SQLFilterOp::FILTER_EQ ? ColumnValueRange<T>::add_fixed_value_range
871
18
                  : op == SQLFilterOp::FILTER_NE
872
15
                          ? (range.is_fixed_value_range()
873
3
                                     ? ColumnValueRange<T>::remove_fixed_value_range
874
3
                                     : ColumnValueRange<T>::empty_function)
875
15
                          : ColumnValueRange<T>::add_value_range;
876
18
        RETURN_IF_ERROR(_change_value_range(is_equal_op, temp_range, value, fn, function_name));
877
18
        if (op == SQLFilterOp::FILTER_EQ) {
878
3
            range.intersection(temp_range);
879
3
        }
880
18
    } else {
881
0
        *pdt = PushDownType::UNACCEPTABLE;
882
0
        _eos = true;
883
0
        _scan_dependency->set_ready();
884
0
    }
885
886
18
    return Status::OK();
887
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
888
889
template <PrimitiveType PrimitiveType, typename ChangeFixedValueRangeFunc>
890
Status ScanLocalStateBase::_change_value_range(bool is_equal_op,
891
                                               ColumnValueRange<PrimitiveType>& temp_range,
892
                                               const Field& value,
893
                                               const ChangeFixedValueRangeFunc& func,
894
122
                                               const std::string& fn_name) {
895
122
    if constexpr (PrimitiveType == TYPE_DATE) {
896
0
        auto tmp_value = value.template get<TYPE_DATE>();
897
0
        if (is_equal_op) {
898
0
            if (!tmp_value.check_loss_accuracy_cast_to_date()) {
899
0
                func(temp_range, to_olap_filter_type(fn_name), tmp_value);
900
0
            }
901
0
        } else {
902
0
            if (tmp_value.check_loss_accuracy_cast_to_date()) {
903
0
                if (fn_name == "lt" || fn_name == "ge") {
904
0
                    ++tmp_value;
905
0
                }
906
0
            }
907
0
            func(temp_range, to_olap_filter_type(fn_name), tmp_value);
908
0
        }
909
    } else if constexpr ((PrimitiveType == TYPE_DECIMALV2) || (PrimitiveType == TYPE_DATETIMEV2) ||
910
                         (PrimitiveType == TYPE_TINYINT) || (PrimitiveType == TYPE_SMALLINT) ||
911
                         (PrimitiveType == TYPE_INT) || (PrimitiveType == TYPE_BIGINT) ||
912
                         (PrimitiveType == TYPE_LARGEINT) || (PrimitiveType == TYPE_FLOAT) ||
913
                         (PrimitiveType == TYPE_DOUBLE) || (PrimitiveType == TYPE_IPV4) ||
914
                         (PrimitiveType == TYPE_IPV6) || (PrimitiveType == TYPE_DECIMAL32) ||
915
                         (PrimitiveType == TYPE_DECIMAL64) || (PrimitiveType == TYPE_DECIMAL128I) ||
916
                         (PrimitiveType == TYPE_DECIMAL256) || (PrimitiveType == TYPE_BOOLEAN) ||
917
                         (PrimitiveType == TYPE_DATEV2) || (PrimitiveType == TYPE_TIMESTAMPTZ) ||
918
122
                         (PrimitiveType == TYPE_DATETIME) || is_string_type(PrimitiveType)) {
919
122
        func(temp_range, to_olap_filter_type(fn_name), value.template get<PrimitiveType>());
920
122
    } else if constexpr (PrimitiveType == TYPE_HLL) {
921
0
        auto tmp = value.template get<PrimitiveType>();
922
0
        func(temp_range, to_olap_filter_type(fn_name),
923
0
             StringRef(reinterpret_cast<const char*>(&tmp), sizeof(tmp)));
924
    } else {
925
        static_assert(always_false_v<PrimitiveType>);
926
    }
927
122
    return Status::OK();
928
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
894
18
                                               const std::string& fn_name) {
895
    if constexpr (PrimitiveType == TYPE_DATE) {
896
        auto tmp_value = value.template get<TYPE_DATE>();
897
        if (is_equal_op) {
898
            if (!tmp_value.check_loss_accuracy_cast_to_date()) {
899
                func(temp_range, to_olap_filter_type(fn_name), tmp_value);
900
            }
901
        } else {
902
            if (tmp_value.check_loss_accuracy_cast_to_date()) {
903
                if (fn_name == "lt" || fn_name == "ge") {
904
                    ++tmp_value;
905
                }
906
            }
907
            func(temp_range, to_olap_filter_type(fn_name), tmp_value);
908
        }
909
    } else if constexpr ((PrimitiveType == TYPE_DECIMALV2) || (PrimitiveType == TYPE_DATETIMEV2) ||
910
                         (PrimitiveType == TYPE_TINYINT) || (PrimitiveType == TYPE_SMALLINT) ||
911
                         (PrimitiveType == TYPE_INT) || (PrimitiveType == TYPE_BIGINT) ||
912
                         (PrimitiveType == TYPE_LARGEINT) || (PrimitiveType == TYPE_FLOAT) ||
913
                         (PrimitiveType == TYPE_DOUBLE) || (PrimitiveType == TYPE_IPV4) ||
914
                         (PrimitiveType == TYPE_IPV6) || (PrimitiveType == TYPE_DECIMAL32) ||
915
                         (PrimitiveType == TYPE_DECIMAL64) || (PrimitiveType == TYPE_DECIMAL128I) ||
916
                         (PrimitiveType == TYPE_DECIMAL256) || (PrimitiveType == TYPE_BOOLEAN) ||
917
                         (PrimitiveType == TYPE_DATEV2) || (PrimitiveType == TYPE_TIMESTAMPTZ) ||
918
18
                         (PrimitiveType == TYPE_DATETIME) || is_string_type(PrimitiveType)) {
919
18
        func(temp_range, to_olap_filter_type(fn_name), value.template get<PrimitiveType>());
920
    } else if constexpr (PrimitiveType == TYPE_HLL) {
921
        auto tmp = value.template get<PrimitiveType>();
922
        func(temp_range, to_olap_filter_type(fn_name),
923
             StringRef(reinterpret_cast<const char*>(&tmp), sizeof(tmp)));
924
    } else {
925
        static_assert(always_false_v<PrimitiveType>);
926
    }
927
18
    return Status::OK();
928
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
894
80
                                               const std::string& fn_name) {
895
    if constexpr (PrimitiveType == TYPE_DATE) {
896
        auto tmp_value = value.template get<TYPE_DATE>();
897
        if (is_equal_op) {
898
            if (!tmp_value.check_loss_accuracy_cast_to_date()) {
899
                func(temp_range, to_olap_filter_type(fn_name), tmp_value);
900
            }
901
        } else {
902
            if (tmp_value.check_loss_accuracy_cast_to_date()) {
903
                if (fn_name == "lt" || fn_name == "ge") {
904
                    ++tmp_value;
905
                }
906
            }
907
            func(temp_range, to_olap_filter_type(fn_name), tmp_value);
908
        }
909
    } else if constexpr ((PrimitiveType == TYPE_DECIMALV2) || (PrimitiveType == TYPE_DATETIMEV2) ||
910
                         (PrimitiveType == TYPE_TINYINT) || (PrimitiveType == TYPE_SMALLINT) ||
911
                         (PrimitiveType == TYPE_INT) || (PrimitiveType == TYPE_BIGINT) ||
912
                         (PrimitiveType == TYPE_LARGEINT) || (PrimitiveType == TYPE_FLOAT) ||
913
                         (PrimitiveType == TYPE_DOUBLE) || (PrimitiveType == TYPE_IPV4) ||
914
                         (PrimitiveType == TYPE_IPV6) || (PrimitiveType == TYPE_DECIMAL32) ||
915
                         (PrimitiveType == TYPE_DECIMAL64) || (PrimitiveType == TYPE_DECIMAL128I) ||
916
                         (PrimitiveType == TYPE_DECIMAL256) || (PrimitiveType == TYPE_BOOLEAN) ||
917
                         (PrimitiveType == TYPE_DATEV2) || (PrimitiveType == TYPE_TIMESTAMPTZ) ||
918
80
                         (PrimitiveType == TYPE_DATETIME) || is_string_type(PrimitiveType)) {
919
80
        func(temp_range, to_olap_filter_type(fn_name), value.template get<PrimitiveType>());
920
    } else if constexpr (PrimitiveType == TYPE_HLL) {
921
        auto tmp = value.template get<PrimitiveType>();
922
        func(temp_range, to_olap_filter_type(fn_name),
923
             StringRef(reinterpret_cast<const char*>(&tmp), sizeof(tmp)));
924
    } else {
925
        static_assert(always_false_v<PrimitiveType>);
926
    }
927
80
    return Status::OK();
928
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
894
24
                                               const std::string& fn_name) {
895
    if constexpr (PrimitiveType == TYPE_DATE) {
896
        auto tmp_value = value.template get<TYPE_DATE>();
897
        if (is_equal_op) {
898
            if (!tmp_value.check_loss_accuracy_cast_to_date()) {
899
                func(temp_range, to_olap_filter_type(fn_name), tmp_value);
900
            }
901
        } else {
902
            if (tmp_value.check_loss_accuracy_cast_to_date()) {
903
                if (fn_name == "lt" || fn_name == "ge") {
904
                    ++tmp_value;
905
                }
906
            }
907
            func(temp_range, to_olap_filter_type(fn_name), tmp_value);
908
        }
909
    } else if constexpr ((PrimitiveType == TYPE_DECIMALV2) || (PrimitiveType == TYPE_DATETIMEV2) ||
910
                         (PrimitiveType == TYPE_TINYINT) || (PrimitiveType == TYPE_SMALLINT) ||
911
                         (PrimitiveType == TYPE_INT) || (PrimitiveType == TYPE_BIGINT) ||
912
                         (PrimitiveType == TYPE_LARGEINT) || (PrimitiveType == TYPE_FLOAT) ||
913
                         (PrimitiveType == TYPE_DOUBLE) || (PrimitiveType == TYPE_IPV4) ||
914
                         (PrimitiveType == TYPE_IPV6) || (PrimitiveType == TYPE_DECIMAL32) ||
915
                         (PrimitiveType == TYPE_DECIMAL64) || (PrimitiveType == TYPE_DECIMAL128I) ||
916
                         (PrimitiveType == TYPE_DECIMAL256) || (PrimitiveType == TYPE_BOOLEAN) ||
917
                         (PrimitiveType == TYPE_DATEV2) || (PrimitiveType == TYPE_TIMESTAMPTZ) ||
918
24
                         (PrimitiveType == TYPE_DATETIME) || is_string_type(PrimitiveType)) {
919
24
        func(temp_range, to_olap_filter_type(fn_name), value.template get<PrimitiveType>());
920
    } else if constexpr (PrimitiveType == TYPE_HLL) {
921
        auto tmp = value.template get<PrimitiveType>();
922
        func(temp_range, to_olap_filter_type(fn_name),
923
             StringRef(reinterpret_cast<const char*>(&tmp), sizeof(tmp)));
924
    } else {
925
        static_assert(always_false_v<PrimitiveType>);
926
    }
927
24
    return Status::OK();
928
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
929
930
template <PrimitiveType T>
931
Status ScanLocalStateBase::_normalize_is_null_predicate(
932
        VExprContext* expr_ctx, const VExprSPtr& root, SlotDescriptor* slot,
933
        std::vector<std::shared_ptr<ColumnPredicate>>& predicates, ColumnValueRange<T>& range,
934
4
        PushDownType* pdt) {
935
4
    std::shared_ptr<ColumnPredicate> pred = nullptr;
936
4
    Defer defer = [&]() {
937
4
        if (pred) {
938
4
            DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string();
939
4
            predicates.emplace_back(pred);
940
4
        } else {
941
            // If exception occurs during processing, do not push down
942
0
            *pdt = PushDownType::UNACCEPTABLE;
943
0
        }
944
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
936
2
    Defer defer = [&]() {
937
2
        if (pred) {
938
2
            DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string();
939
2
            predicates.emplace_back(pred);
940
2
        } else {
941
            // If exception occurs during processing, do not push down
942
0
            *pdt = PushDownType::UNACCEPTABLE;
943
0
        }
944
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
936
1
    Defer defer = [&]() {
937
1
        if (pred) {
938
1
            DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string();
939
1
            predicates.emplace_back(pred);
940
1
        } else {
941
            // If exception occurs during processing, do not push down
942
0
            *pdt = PushDownType::UNACCEPTABLE;
943
0
        }
944
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
936
1
    Defer defer = [&]() {
937
1
        if (pred) {
938
1
            DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string();
939
1
            predicates.emplace_back(pred);
940
1
        } else {
941
            // If exception occurs during processing, do not push down
942
0
            *pdt = PushDownType::UNACCEPTABLE;
943
0
        }
944
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
945
4
    DCHECK(!root->is_rf_wrapper()) << root->debug_string();
946
4
    DCHECK(TExprNodeType::FUNCTION_CALL == root->node_type()) << root->debug_string();
947
4
    if (auto fn_call = dynamic_cast<VectorizedFnCall*>(root.get())) {
948
4
        *pdt = _should_push_down_is_null_predicate(fn_call);
949
4
    } else {
950
0
        *pdt = PushDownType::UNACCEPTABLE;
951
0
    }
952
953
4
    if (*pdt == PushDownType::UNACCEPTABLE) {
954
0
        return Status::OK();
955
0
    }
956
957
4
    auto fn_call = assert_cast<VectorizedFnCall*>(root.get());
958
4
    if (fn_call->fn().name.function_name == "is_null_pred") {
959
1
        pred = NullPredicate::create_shared(
960
1
                _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), true,
961
1
                T);
962
1
        auto temp_range = ColumnValueRange<T>::create_empty_column_value_range(
963
1
                slot->is_nullable(), range.precision(), range.scale());
964
1
        temp_range.set_contain_null(true);
965
1
        range.intersection(temp_range);
966
3
    } else if (fn_call->fn().name.function_name == "is_not_null_pred") {
967
3
        pred = NullPredicate::create_shared(
968
3
                _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), false,
969
3
                T);
970
3
        auto temp_range = ColumnValueRange<T>::create_empty_column_value_range(
971
3
                slot->is_nullable(), range.precision(), range.scale());
972
3
        temp_range.set_contain_null(false);
973
3
        range.intersection(temp_range);
974
3
    }
975
4
    return Status::OK();
976
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
934
2
        PushDownType* pdt) {
935
2
    std::shared_ptr<ColumnPredicate> pred = nullptr;
936
2
    Defer defer = [&]() {
937
2
        if (pred) {
938
2
            DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string();
939
2
            predicates.emplace_back(pred);
940
2
        } else {
941
            // If exception occurs during processing, do not push down
942
2
            *pdt = PushDownType::UNACCEPTABLE;
943
2
        }
944
2
    };
945
2
    DCHECK(!root->is_rf_wrapper()) << root->debug_string();
946
2
    DCHECK(TExprNodeType::FUNCTION_CALL == root->node_type()) << root->debug_string();
947
2
    if (auto fn_call = dynamic_cast<VectorizedFnCall*>(root.get())) {
948
2
        *pdt = _should_push_down_is_null_predicate(fn_call);
949
2
    } else {
950
0
        *pdt = PushDownType::UNACCEPTABLE;
951
0
    }
952
953
2
    if (*pdt == PushDownType::UNACCEPTABLE) {
954
0
        return Status::OK();
955
0
    }
956
957
2
    auto fn_call = assert_cast<VectorizedFnCall*>(root.get());
958
2
    if (fn_call->fn().name.function_name == "is_null_pred") {
959
1
        pred = NullPredicate::create_shared(
960
1
                _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), true,
961
1
                T);
962
1
        auto temp_range = ColumnValueRange<T>::create_empty_column_value_range(
963
1
                slot->is_nullable(), range.precision(), range.scale());
964
1
        temp_range.set_contain_null(true);
965
1
        range.intersection(temp_range);
966
1
    } else if (fn_call->fn().name.function_name == "is_not_null_pred") {
967
1
        pred = NullPredicate::create_shared(
968
1
                _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), false,
969
1
                T);
970
1
        auto temp_range = ColumnValueRange<T>::create_empty_column_value_range(
971
1
                slot->is_nullable(), range.precision(), range.scale());
972
1
        temp_range.set_contain_null(false);
973
1
        range.intersection(temp_range);
974
1
    }
975
2
    return Status::OK();
976
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
934
1
        PushDownType* pdt) {
935
1
    std::shared_ptr<ColumnPredicate> pred = nullptr;
936
1
    Defer defer = [&]() {
937
1
        if (pred) {
938
1
            DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string();
939
1
            predicates.emplace_back(pred);
940
1
        } else {
941
            // If exception occurs during processing, do not push down
942
1
            *pdt = PushDownType::UNACCEPTABLE;
943
1
        }
944
1
    };
945
1
    DCHECK(!root->is_rf_wrapper()) << root->debug_string();
946
1
    DCHECK(TExprNodeType::FUNCTION_CALL == root->node_type()) << root->debug_string();
947
1
    if (auto fn_call = dynamic_cast<VectorizedFnCall*>(root.get())) {
948
1
        *pdt = _should_push_down_is_null_predicate(fn_call);
949
1
    } else {
950
0
        *pdt = PushDownType::UNACCEPTABLE;
951
0
    }
952
953
1
    if (*pdt == PushDownType::UNACCEPTABLE) {
954
0
        return Status::OK();
955
0
    }
956
957
1
    auto fn_call = assert_cast<VectorizedFnCall*>(root.get());
958
1
    if (fn_call->fn().name.function_name == "is_null_pred") {
959
0
        pred = NullPredicate::create_shared(
960
0
                _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), true,
961
0
                T);
962
0
        auto temp_range = ColumnValueRange<T>::create_empty_column_value_range(
963
0
                slot->is_nullable(), range.precision(), range.scale());
964
0
        temp_range.set_contain_null(true);
965
0
        range.intersection(temp_range);
966
1
    } else if (fn_call->fn().name.function_name == "is_not_null_pred") {
967
1
        pred = NullPredicate::create_shared(
968
1
                _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), false,
969
1
                T);
970
1
        auto temp_range = ColumnValueRange<T>::create_empty_column_value_range(
971
1
                slot->is_nullable(), range.precision(), range.scale());
972
1
        temp_range.set_contain_null(false);
973
1
        range.intersection(temp_range);
974
1
    }
975
1
    return Status::OK();
976
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
934
1
        PushDownType* pdt) {
935
1
    std::shared_ptr<ColumnPredicate> pred = nullptr;
936
1
    Defer defer = [&]() {
937
1
        if (pred) {
938
1
            DCHECK(*pdt != PushDownType::UNACCEPTABLE) << root->debug_string();
939
1
            predicates.emplace_back(pred);
940
1
        } else {
941
            // If exception occurs during processing, do not push down
942
1
            *pdt = PushDownType::UNACCEPTABLE;
943
1
        }
944
1
    };
945
1
    DCHECK(!root->is_rf_wrapper()) << root->debug_string();
946
1
    DCHECK(TExprNodeType::FUNCTION_CALL == root->node_type()) << root->debug_string();
947
1
    if (auto fn_call = dynamic_cast<VectorizedFnCall*>(root.get())) {
948
1
        *pdt = _should_push_down_is_null_predicate(fn_call);
949
1
    } else {
950
0
        *pdt = PushDownType::UNACCEPTABLE;
951
0
    }
952
953
1
    if (*pdt == PushDownType::UNACCEPTABLE) {
954
0
        return Status::OK();
955
0
    }
956
957
1
    auto fn_call = assert_cast<VectorizedFnCall*>(root.get());
958
1
    if (fn_call->fn().name.function_name == "is_null_pred") {
959
0
        pred = NullPredicate::create_shared(
960
0
                _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), true,
961
0
                T);
962
0
        auto temp_range = ColumnValueRange<T>::create_empty_column_value_range(
963
0
                slot->is_nullable(), range.precision(), range.scale());
964
0
        temp_range.set_contain_null(true);
965
0
        range.intersection(temp_range);
966
1
    } else if (fn_call->fn().name.function_name == "is_not_null_pred") {
967
1
        pred = NullPredicate::create_shared(
968
1
                _parent->intermediate_row_desc().get_column_id(slot->id()), slot->col_name(), false,
969
1
                T);
970
1
        auto temp_range = ColumnValueRange<T>::create_empty_column_value_range(
971
1
                slot->is_nullable(), range.precision(), range.scale());
972
1
        temp_range.set_contain_null(false);
973
1
        range.intersection(temp_range);
974
1
    }
975
1
    return Status::OK();
976
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
977
978
template <typename Derived>
979
0
Status ScanLocalState<Derived>::_prepare_scanners() {
980
0
    std::list<ScannerSPtr> scanners;
981
0
    RETURN_IF_ERROR(_init_scanners(&scanners));
982
    // Init scanner wrapper
983
0
    for (auto it = scanners.begin(); it != scanners.end(); ++it) {
984
0
        _scanners.emplace_back(std::make_shared<ScannerDelegate>(*it));
985
0
    }
986
0
    if (scanners.empty()) {
987
0
        _eos = true;
988
0
        _scan_dependency->set_always_ready();
989
0
    } else {
990
0
        COUNTER_SET(_num_scanners, static_cast<int64_t>(scanners.size()));
991
0
        RETURN_IF_ERROR(_start_scanners(_scanners));
992
0
    }
993
0
    return Status::OK();
994
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
995
996
template <typename Derived>
997
Status ScanLocalState<Derived>::_start_scanners(
998
0
        const std::list<std::shared_ptr<ScannerDelegate>>& scanners) {
999
0
    auto& p = _parent->cast<typename Derived::Parent>();
1000
0
    _scanner_ctx.store(ScannerContext::create_shared(state(), this, p._output_tuple_desc,
1001
0
                                                     p.output_row_descriptor(), scanners, p.limit(),
1002
0
                                                     _scan_dependency
1003
0
#ifdef BE_TEST
1004
0
                                                     ,
1005
0
                                                     max_scanners_concurrency(state())
1006
0
#endif
1007
0
                                                             ));
1008
0
    return Status::OK();
1009
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
1010
1011
template <typename Derived>
1012
0
const TupleDescriptor* ScanLocalState<Derived>::input_tuple_desc() const {
1013
0
    return _parent->cast<typename Derived::Parent>()._input_tuple_desc;
1014
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
1015
template <typename Derived>
1016
12
const TupleDescriptor* ScanLocalState<Derived>::output_tuple_desc() const {
1017
12
    return _parent->cast<typename Derived::Parent>()._output_tuple_desc;
1018
12
}
_ZNK5doris14ScanLocalStateINS_18OlapScanLocalStateEE17output_tuple_descEv
Line
Count
Source
1016
11
const TupleDescriptor* ScanLocalState<Derived>::output_tuple_desc() const {
1017
11
    return _parent->cast<typename Derived::Parent>()._output_tuple_desc;
1018
11
}
Unexecuted instantiation: _ZNK5doris14ScanLocalStateINS_18JDBCScanLocalStateEE17output_tuple_descEv
_ZNK5doris14ScanLocalStateINS_18FileScanLocalStateEE17output_tuple_descEv
Line
Count
Source
1016
1
const TupleDescriptor* ScanLocalState<Derived>::output_tuple_desc() const {
1017
1
    return _parent->cast<typename Derived::Parent>()._output_tuple_desc;
1018
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
1019
1020
template <typename Derived>
1021
0
TPushAggOp::type ScanLocalState<Derived>::get_push_down_agg_type() {
1022
0
    return _parent->cast<typename Derived::Parent>()._push_down_agg_type;
1023
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
1024
1025
template <typename Derived>
1026
0
int64_t ScanLocalState<Derived>::limit_per_scanner() {
1027
0
    return _parent->cast<typename Derived::Parent>()._limit_per_scanner;
1028
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
1029
1030
template <typename Derived>
1031
2
Status ScanLocalState<Derived>::_init_profile() {
1032
    // 1. counters for scan node
1033
2
    _rows_read_counter = ADD_COUNTER(custom_profile(), "RowsRead", TUnit::UNIT);
1034
2
    _num_scanners = ADD_COUNTER(custom_profile(), "NumScanners", TUnit::UNIT);
1035
    //custom_profile()->AddHighWaterMarkCounter("PeakMemoryUsage", TUnit::BYTES);
1036
1037
    // 2. counters for scanners
1038
2
    _scanner_profile.reset(new RuntimeProfile("Scanner"));
1039
2
    custom_profile()->add_child(_scanner_profile.get(), true, nullptr);
1040
1041
2
    _newly_create_free_blocks_num =
1042
2
            ADD_COUNTER(_scanner_profile, "NewlyCreateFreeBlocksNum", TUnit::UNIT);
1043
2
    _scan_timer = ADD_TIMER(_scanner_profile, "ScannerGetBlockTime");
1044
2
    _scan_cpu_timer = ADD_TIMER(_scanner_profile, "ScannerCpuTime");
1045
2
    _filter_timer = ADD_TIMER(_scanner_profile, "ScannerFilterTime");
1046
1047
    // time of scan thread to wait for worker thread of the thread pool
1048
2
    _scanner_wait_worker_timer = ADD_TIMER(custom_profile(), "ScannerWorkerWaitTime");
1049
1050
2
    _max_scan_concurrency = ADD_COUNTER(custom_profile(), "MaxScanConcurrency", TUnit::UNIT);
1051
2
    _min_scan_concurrency = ADD_COUNTER(custom_profile(), "MinScanConcurrency", TUnit::UNIT);
1052
1053
2
    _peak_running_scanner =
1054
2
            _scanner_profile->AddHighWaterMarkCounter("RunningScanner", TUnit::UNIT);
1055
1056
    // Rows read from storage.
1057
    // Include the rows read from doris page cache.
1058
2
    _scan_rows = ADD_COUNTER_WITH_LEVEL(custom_profile(), "ScanRows", TUnit::UNIT, 1);
1059
    // Size of data that read from storage.
1060
    // Does not include rows that are cached by doris page cache.
1061
2
    _scan_bytes = ADD_COUNTER_WITH_LEVEL(custom_profile(), "ScanBytes", TUnit::BYTES, 1);
1062
2
    return Status::OK();
1063
2
}
Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE13_init_profileEv
Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE13_init_profileEv
_ZN5doris14ScanLocalStateINS_18FileScanLocalStateEE13_init_profileEv
Line
Count
Source
1031
2
Status ScanLocalState<Derived>::_init_profile() {
1032
    // 1. counters for scan node
1033
2
    _rows_read_counter = ADD_COUNTER(custom_profile(), "RowsRead", TUnit::UNIT);
1034
2
    _num_scanners = ADD_COUNTER(custom_profile(), "NumScanners", TUnit::UNIT);
1035
    //custom_profile()->AddHighWaterMarkCounter("PeakMemoryUsage", TUnit::BYTES);
1036
1037
    // 2. counters for scanners
1038
2
    _scanner_profile.reset(new RuntimeProfile("Scanner"));
1039
2
    custom_profile()->add_child(_scanner_profile.get(), true, nullptr);
1040
1041
2
    _newly_create_free_blocks_num =
1042
2
            ADD_COUNTER(_scanner_profile, "NewlyCreateFreeBlocksNum", TUnit::UNIT);
1043
2
    _scan_timer = ADD_TIMER(_scanner_profile, "ScannerGetBlockTime");
1044
2
    _scan_cpu_timer = ADD_TIMER(_scanner_profile, "ScannerCpuTime");
1045
2
    _filter_timer = ADD_TIMER(_scanner_profile, "ScannerFilterTime");
1046
1047
    // time of scan thread to wait for worker thread of the thread pool
1048
2
    _scanner_wait_worker_timer = ADD_TIMER(custom_profile(), "ScannerWorkerWaitTime");
1049
1050
2
    _max_scan_concurrency = ADD_COUNTER(custom_profile(), "MaxScanConcurrency", TUnit::UNIT);
1051
2
    _min_scan_concurrency = ADD_COUNTER(custom_profile(), "MinScanConcurrency", TUnit::UNIT);
1052
1053
2
    _peak_running_scanner =
1054
2
            _scanner_profile->AddHighWaterMarkCounter("RunningScanner", TUnit::UNIT);
1055
1056
    // Rows read from storage.
1057
    // Include the rows read from doris page cache.
1058
2
    _scan_rows = ADD_COUNTER_WITH_LEVEL(custom_profile(), "ScanRows", TUnit::UNIT, 1);
1059
    // Size of data that read from storage.
1060
    // Does not include rows that are cached by doris page cache.
1061
2
    _scan_bytes = ADD_COUNTER_WITH_LEVEL(custom_profile(), "ScanBytes", TUnit::BYTES, 1);
1062
2
    return Status::OK();
1063
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
1064
1065
template <typename Derived>
1066
0
Status ScanLocalState<Derived>::_get_topn_filters(RuntimeState* state) {
1067
0
    auto& p = _parent->cast<typename Derived::Parent>();
1068
0
    std::stringstream result;
1069
0
    std::copy(p._topn_filter_source_node_ids.begin(), p._topn_filter_source_node_ids.end(),
1070
0
              std::ostream_iterator<int>(result, ","));
1071
0
    custom_profile()->add_info_string("TopNFilterSourceNodeIds", result.str());
1072
1073
0
    for (auto id : get_topn_filter_source_node_ids(state, false)) {
1074
0
        const auto& pred = state->get_query_ctx()->get_runtime_predicate(id);
1075
0
        VExprSPtr topn_pred;
1076
0
        RETURN_IF_ERROR(VTopNPred::create_vtopn_pred(pred.get_texpr(p.node_id()), id, topn_pred));
1077
1078
0
        VExprContextSPtr conjunct = VExprContext::create_shared(topn_pred);
1079
0
        RETURN_IF_ERROR(conjunct->prepare(
1080
0
                state, _parent->cast<typename Derived::Parent>().row_descriptor()));
1081
0
        RETURN_IF_ERROR(conjunct->open(state));
1082
0
        _conjuncts.emplace_back(conjunct);
1083
0
    }
1084
0
    for (auto id : get_topn_filter_source_node_ids(state, true)) {
1085
0
        const auto& pred = state->get_query_ctx()->get_runtime_predicate(id);
1086
0
        VExprSPtr topn_pred;
1087
0
        RETURN_IF_ERROR(VTopNPred::create_vtopn_pred(pred.get_texpr(p.node_id()), id, topn_pred));
1088
1089
0
        VExprContextSPtr conjunct = VExprContext::create_shared(topn_pred);
1090
0
        RETURN_IF_ERROR(conjunct->prepare(
1091
0
                state, _parent->cast<typename Derived::Parent>().row_descriptor()));
1092
0
        RETURN_IF_ERROR(conjunct->open(state));
1093
0
        _conjuncts.emplace_back(conjunct);
1094
0
    }
1095
0
    return Status::OK();
1096
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
1097
1098
template <typename Derived>
1099
void ScanLocalState<Derived>::_filter_and_collect_cast_type_for_variant(
1100
        const VExpr* expr,
1101
0
        std::unordered_map<std::string, std::vector<DataTypePtr>>& colname_to_cast_types) {
1102
0
    auto& p = _parent->cast<typename Derived::Parent>();
1103
0
    const auto* cast_expr = dynamic_cast<const VCastExpr*>(expr);
1104
0
    if (cast_expr != nullptr) {
1105
0
        const auto* src_slot =
1106
0
                cast_expr->get_child(0)->node_type() == TExprNodeType::SLOT_REF
1107
0
                        ? dynamic_cast<const VSlotRef*>(cast_expr->get_child(0).get())
1108
0
                        : nullptr;
1109
0
        if (src_slot == nullptr) {
1110
0
            return;
1111
0
        }
1112
0
        std::vector<SlotDescriptor*> slots = output_tuple_desc()->slots();
1113
0
        SlotDescriptor* src_slot_desc = p._slot_id_to_slot_desc[src_slot->slot_id()];
1114
0
        auto type_desc = cast_expr->get_target_type();
1115
0
        if (src_slot_desc->type()->get_primitive_type() == PrimitiveType::TYPE_VARIANT) {
1116
0
            colname_to_cast_types[src_slot_desc->col_name()].push_back(type_desc);
1117
0
        }
1118
0
    }
1119
0
    for (const auto& child : expr->children()) {
1120
0
        _filter_and_collect_cast_type_for_variant(child.get(), colname_to_cast_types);
1121
0
    }
1122
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
1123
1124
template <typename Derived>
1125
0
void ScanLocalState<Derived>::get_cast_types_for_variants() {
1126
0
    std::unordered_map<std::string, std::vector<DataTypePtr>> colname_to_cast_types;
1127
0
    for (auto it = _conjuncts.begin(); it != _conjuncts.end();) {
1128
0
        auto& conjunct = *it;
1129
0
        if (conjunct->root()) {
1130
0
            _filter_and_collect_cast_type_for_variant(conjunct->root().get(),
1131
0
                                                      colname_to_cast_types);
1132
0
        }
1133
0
        ++it;
1134
0
    }
1135
    // cast to one certain type for variant could utilize fully predicates performance
1136
    // when storage layer type equals to cast type
1137
0
    for (const auto& [slotid, types] : colname_to_cast_types) {
1138
0
        if (types.size() == 1) {
1139
0
            _cast_types_for_variants[slotid] = types[0];
1140
0
        }
1141
0
    }
1142
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
1143
1144
template <typename LocalStateType>
1145
ScanOperatorX<LocalStateType>::ScanOperatorX(ObjectPool* pool, const TPlanNode& tnode,
1146
                                             int operator_id, const DescriptorTbl& descs,
1147
                                             int parallel_tasks)
1148
15
        : OperatorX<LocalStateType>(pool, tnode, operator_id, descs),
1149
15
          _runtime_filter_descs(tnode.runtime_filters),
1150
15
          _parallel_tasks(parallel_tasks) {
1151
15
    if (tnode.__isset.push_down_count) {
1152
0
        _push_down_count = tnode.push_down_count;
1153
0
    }
1154
15
}
_ZN5doris13ScanOperatorXINS_18OlapScanLocalStateEEC2EPNS_10ObjectPoolERKNS_9TPlanNodeEiRKNS_13DescriptorTblEi
Line
Count
Source
1148
13
        : OperatorX<LocalStateType>(pool, tnode, operator_id, descs),
1149
13
          _runtime_filter_descs(tnode.runtime_filters),
1150
13
          _parallel_tasks(parallel_tasks) {
1151
13
    if (tnode.__isset.push_down_count) {
1152
0
        _push_down_count = tnode.push_down_count;
1153
0
    }
1154
13
}
Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_18JDBCScanLocalStateEEC2EPNS_10ObjectPoolERKNS_9TPlanNodeEiRKNS_13DescriptorTblEi
_ZN5doris13ScanOperatorXINS_18FileScanLocalStateEEC2EPNS_10ObjectPoolERKNS_9TPlanNodeEiRKNS_13DescriptorTblEi
Line
Count
Source
1148
2
        : OperatorX<LocalStateType>(pool, tnode, operator_id, descs),
1149
2
          _runtime_filter_descs(tnode.runtime_filters),
1150
2
          _parallel_tasks(parallel_tasks) {
1151
2
    if (tnode.__isset.push_down_count) {
1152
0
        _push_down_count = tnode.push_down_count;
1153
0
    }
1154
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
1155
1156
template <typename LocalStateType>
1157
6
Status ScanOperatorX<LocalStateType>::init(const TPlanNode& tnode, RuntimeState* state) {
1158
6
    RETURN_IF_ERROR(OperatorX<LocalStateType>::init(tnode, state));
1159
1160
6
    const TQueryOptions& query_options = state->query_options();
1161
6
    if (query_options.__isset.max_scan_key_num) {
1162
0
        _max_scan_key_num = query_options.max_scan_key_num;
1163
0
    }
1164
6
    if (query_options.__isset.max_pushdown_conditions_per_column) {
1165
0
        _max_pushdown_conditions_per_column = query_options.max_pushdown_conditions_per_column;
1166
0
    }
1167
    // tnode.olap_scan_node.push_down_agg_type_opt field is deprecated
1168
    // Introduced a new field : tnode.push_down_agg_type_opt
1169
    //
1170
    // make it compatible here
1171
6
    if (tnode.__isset.push_down_agg_type_opt) {
1172
0
        _push_down_agg_type = tnode.push_down_agg_type_opt;
1173
6
    } else if (tnode.olap_scan_node.__isset.push_down_agg_type_opt) {
1174
0
        _push_down_agg_type = tnode.olap_scan_node.push_down_agg_type_opt;
1175
6
    } else {
1176
6
        _push_down_agg_type = TPushAggOp::type::NONE;
1177
6
    }
1178
1179
6
    if (tnode.__isset.topn_filter_source_node_ids) {
1180
0
        _topn_filter_source_node_ids = tnode.topn_filter_source_node_ids;
1181
0
    }
1182
1183
    // Which means the request could be fullfilled in a single segment iterator request.
1184
    // the unique_table has a condition of delete_sign = 0 awalys, so it's not have plan for one instance to scan table,
1185
    // now add some check for unique_table let running only one instance for select limit n.
1186
6
    if (query_options.enable_adaptive_pipeline_task_serial_read_on_limit) {
1187
5
        DCHECK(query_options.__isset.adaptive_pipeline_task_serial_read_on_limit);
1188
5
        if (!tnode.__isset.conjuncts || tnode.conjuncts.empty() ||
1189
5
            (tnode.conjuncts.size() == 1 && tnode.__isset.olap_scan_node &&
1190
4
             tnode.olap_scan_node.keyType == TKeysType::UNIQUE_KEYS)) {
1191
4
            if (tnode.limit > 0 &&
1192
4
                tnode.limit <= query_options.adaptive_pipeline_task_serial_read_on_limit) {
1193
1
                _should_run_serial = true;
1194
1
            }
1195
4
        }
1196
5
    }
1197
1198
6
    return Status::OK();
1199
6
}
_ZN5doris13ScanOperatorXINS_18OlapScanLocalStateEE4initERKNS_9TPlanNodeEPNS_12RuntimeStateE
Line
Count
Source
1157
4
Status ScanOperatorX<LocalStateType>::init(const TPlanNode& tnode, RuntimeState* state) {
1158
4
    RETURN_IF_ERROR(OperatorX<LocalStateType>::init(tnode, state));
1159
1160
4
    const TQueryOptions& query_options = state->query_options();
1161
4
    if (query_options.__isset.max_scan_key_num) {
1162
0
        _max_scan_key_num = query_options.max_scan_key_num;
1163
0
    }
1164
4
    if (query_options.__isset.max_pushdown_conditions_per_column) {
1165
0
        _max_pushdown_conditions_per_column = query_options.max_pushdown_conditions_per_column;
1166
0
    }
1167
    // tnode.olap_scan_node.push_down_agg_type_opt field is deprecated
1168
    // Introduced a new field : tnode.push_down_agg_type_opt
1169
    //
1170
    // make it compatible here
1171
4
    if (tnode.__isset.push_down_agg_type_opt) {
1172
0
        _push_down_agg_type = tnode.push_down_agg_type_opt;
1173
4
    } else if (tnode.olap_scan_node.__isset.push_down_agg_type_opt) {
1174
0
        _push_down_agg_type = tnode.olap_scan_node.push_down_agg_type_opt;
1175
4
    } else {
1176
4
        _push_down_agg_type = TPushAggOp::type::NONE;
1177
4
    }
1178
1179
4
    if (tnode.__isset.topn_filter_source_node_ids) {
1180
0
        _topn_filter_source_node_ids = tnode.topn_filter_source_node_ids;
1181
0
    }
1182
1183
    // Which means the request could be fullfilled in a single segment iterator request.
1184
    // the unique_table has a condition of delete_sign = 0 awalys, so it's not have plan for one instance to scan table,
1185
    // now add some check for unique_table let running only one instance for select limit n.
1186
4
    if (query_options.enable_adaptive_pipeline_task_serial_read_on_limit) {
1187
3
        DCHECK(query_options.__isset.adaptive_pipeline_task_serial_read_on_limit);
1188
3
        if (!tnode.__isset.conjuncts || tnode.conjuncts.empty() ||
1189
3
            (tnode.conjuncts.size() == 1 && tnode.__isset.olap_scan_node &&
1190
2
             tnode.olap_scan_node.keyType == TKeysType::UNIQUE_KEYS)) {
1191
2
            if (tnode.limit > 0 &&
1192
2
                tnode.limit <= query_options.adaptive_pipeline_task_serial_read_on_limit) {
1193
1
                _should_run_serial = true;
1194
1
            }
1195
2
        }
1196
3
    }
1197
1198
4
    return Status::OK();
1199
4
}
Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_18JDBCScanLocalStateEE4initERKNS_9TPlanNodeEPNS_12RuntimeStateE
_ZN5doris13ScanOperatorXINS_18FileScanLocalStateEE4initERKNS_9TPlanNodeEPNS_12RuntimeStateE
Line
Count
Source
1157
2
Status ScanOperatorX<LocalStateType>::init(const TPlanNode& tnode, RuntimeState* state) {
1158
2
    RETURN_IF_ERROR(OperatorX<LocalStateType>::init(tnode, state));
1159
1160
2
    const TQueryOptions& query_options = state->query_options();
1161
2
    if (query_options.__isset.max_scan_key_num) {
1162
0
        _max_scan_key_num = query_options.max_scan_key_num;
1163
0
    }
1164
2
    if (query_options.__isset.max_pushdown_conditions_per_column) {
1165
0
        _max_pushdown_conditions_per_column = query_options.max_pushdown_conditions_per_column;
1166
0
    }
1167
    // tnode.olap_scan_node.push_down_agg_type_opt field is deprecated
1168
    // Introduced a new field : tnode.push_down_agg_type_opt
1169
    //
1170
    // make it compatible here
1171
2
    if (tnode.__isset.push_down_agg_type_opt) {
1172
0
        _push_down_agg_type = tnode.push_down_agg_type_opt;
1173
2
    } else if (tnode.olap_scan_node.__isset.push_down_agg_type_opt) {
1174
0
        _push_down_agg_type = tnode.olap_scan_node.push_down_agg_type_opt;
1175
2
    } else {
1176
2
        _push_down_agg_type = TPushAggOp::type::NONE;
1177
2
    }
1178
1179
2
    if (tnode.__isset.topn_filter_source_node_ids) {
1180
0
        _topn_filter_source_node_ids = tnode.topn_filter_source_node_ids;
1181
0
    }
1182
1183
    // Which means the request could be fullfilled in a single segment iterator request.
1184
    // the unique_table has a condition of delete_sign = 0 awalys, so it's not have plan for one instance to scan table,
1185
    // now add some check for unique_table let running only one instance for select limit n.
1186
2
    if (query_options.enable_adaptive_pipeline_task_serial_read_on_limit) {
1187
2
        DCHECK(query_options.__isset.adaptive_pipeline_task_serial_read_on_limit);
1188
2
        if (!tnode.__isset.conjuncts || tnode.conjuncts.empty() ||
1189
2
            (tnode.conjuncts.size() == 1 && tnode.__isset.olap_scan_node &&
1190
2
             tnode.olap_scan_node.keyType == TKeysType::UNIQUE_KEYS)) {
1191
2
            if (tnode.limit > 0 &&
1192
2
                tnode.limit <= query_options.adaptive_pipeline_task_serial_read_on_limit) {
1193
0
                _should_run_serial = true;
1194
0
            }
1195
2
        }
1196
2
    }
1197
1198
2
    return Status::OK();
1199
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
1200
1201
template <typename LocalStateType>
1202
2
Status ScanOperatorX<LocalStateType>::prepare(RuntimeState* state) {
1203
2
    _input_tuple_desc = state->desc_tbl().get_tuple_descriptor(_input_tuple_id);
1204
2
    _output_tuple_desc = state->desc_tbl().get_tuple_descriptor(_output_tuple_id);
1205
2
    RETURN_IF_ERROR(OperatorX<LocalStateType>::prepare(state));
1206
1207
2
    const auto slots = _output_tuple_desc->slots();
1208
6
    for (auto* slot : slots) {
1209
6
        _colname_to_slot_id[slot->col_name()] = slot->id();
1210
6
        _slot_id_to_slot_desc[slot->id()] = slot;
1211
6
    }
1212
2
    for (auto id : _topn_filter_source_node_ids) {
1213
0
        if (!state->get_query_ctx()->has_runtime_predicate(id)) {
1214
            // compatible with older versions fe
1215
0
            continue;
1216
0
        }
1217
1218
0
        int cid = -1;
1219
0
        if (state->get_query_ctx()->get_runtime_predicate(id).target_is_slot(node_id())) {
1220
0
            auto s = _slot_id_to_slot_desc[state->get_query_ctx()
1221
0
                                                   ->get_runtime_predicate(id)
1222
0
                                                   .get_texpr(node_id())
1223
0
                                                   .nodes[0]
1224
0
                                                   .slot_ref.slot_id];
1225
0
            DCHECK(s != nullptr);
1226
0
            if (remove_nullable(s->type())->get_primitive_type() == TYPE_VARBINARY) {
1227
0
                continue;
1228
0
            }
1229
0
            auto col_name = s->col_name();
1230
0
            cid = get_column_id(col_name);
1231
0
        }
1232
0
        RETURN_IF_ERROR(state->get_query_ctx()->get_runtime_predicate(id).init_target(
1233
0
                node_id(), _slot_id_to_slot_desc, cid));
1234
0
    }
1235
1236
2
    RETURN_IF_CANCELLED(state);
1237
2
    return Status::OK();
1238
2
}
Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_18OlapScanLocalStateEE7prepareEPNS_12RuntimeStateE
Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_18JDBCScanLocalStateEE7prepareEPNS_12RuntimeStateE
_ZN5doris13ScanOperatorXINS_18FileScanLocalStateEE7prepareEPNS_12RuntimeStateE
Line
Count
Source
1202
2
Status ScanOperatorX<LocalStateType>::prepare(RuntimeState* state) {
1203
2
    _input_tuple_desc = state->desc_tbl().get_tuple_descriptor(_input_tuple_id);
1204
2
    _output_tuple_desc = state->desc_tbl().get_tuple_descriptor(_output_tuple_id);
1205
2
    RETURN_IF_ERROR(OperatorX<LocalStateType>::prepare(state));
1206
1207
2
    const auto slots = _output_tuple_desc->slots();
1208
6
    for (auto* slot : slots) {
1209
6
        _colname_to_slot_id[slot->col_name()] = slot->id();
1210
6
        _slot_id_to_slot_desc[slot->id()] = slot;
1211
6
    }
1212
2
    for (auto id : _topn_filter_source_node_ids) {
1213
0
        if (!state->get_query_ctx()->has_runtime_predicate(id)) {
1214
            // compatible with older versions fe
1215
0
            continue;
1216
0
        }
1217
1218
0
        int cid = -1;
1219
0
        if (state->get_query_ctx()->get_runtime_predicate(id).target_is_slot(node_id())) {
1220
0
            auto s = _slot_id_to_slot_desc[state->get_query_ctx()
1221
0
                                                   ->get_runtime_predicate(id)
1222
0
                                                   .get_texpr(node_id())
1223
0
                                                   .nodes[0]
1224
0
                                                   .slot_ref.slot_id];
1225
0
            DCHECK(s != nullptr);
1226
0
            if (remove_nullable(s->type())->get_primitive_type() == TYPE_VARBINARY) {
1227
0
                continue;
1228
0
            }
1229
0
            auto col_name = s->col_name();
1230
0
            cid = get_column_id(col_name);
1231
0
        }
1232
0
        RETURN_IF_ERROR(state->get_query_ctx()->get_runtime_predicate(id).init_target(
1233
0
                node_id(), _slot_id_to_slot_desc, cid));
1234
0
    }
1235
1236
2
    RETURN_IF_CANCELLED(state);
1237
2
    return Status::OK();
1238
2
}
Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_16EsScanLocalStateEE7prepareEPNS_12RuntimeStateE
Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_18MetaScanLocalStateEE7prepareEPNS_12RuntimeStateE
Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_21GroupCommitLocalStateEE7prepareEPNS_12RuntimeStateE
Unexecuted instantiation: _ZN5doris13ScanOperatorXINS_18MockScanLocalStateEE7prepareEPNS_12RuntimeStateE
1239
1240
template <typename Derived>
1241
2
Status ScanLocalState<Derived>::close(RuntimeState* state) {
1242
2
    if (_closed) {
1243
0
        return Status::OK();
1244
0
    }
1245
2
    COUNTER_UPDATE(exec_time_counter(), _scan_dependency->watcher_elapse_time());
1246
2
    int64_t rf_time = 0;
1247
2
    for (auto& dep : _filter_dependencies) {
1248
0
        rf_time += dep->watcher_elapse_time();
1249
0
    }
1250
2
    COUNTER_UPDATE(exec_time_counter(), rf_time);
1251
2
    SCOPED_TIMER(_close_timer);
1252
1253
2
    SCOPED_TIMER(exec_time_counter());
1254
2
    if (auto ctx = _scanner_ctx.load()) {
1255
0
        ctx->stop_scanners(state);
1256
        // _scanner_ctx may be accessed in debug_string concurrently
1257
        // so use atomic shared ptr to avoid use after free
1258
0
        _scanner_ctx.store(nullptr);
1259
0
    }
1260
2
    std::list<std::shared_ptr<ScannerDelegate>> {}.swap(_scanners);
1261
2
    COUNTER_SET(_wait_for_dependency_timer, _scan_dependency->watcher_elapse_time());
1262
2
    COUNTER_SET(_wait_for_rf_timer, rf_time);
1263
2
    _helper.collect_realtime_profile(custom_profile());
1264
2
    return PipelineXLocalState<>::close(state);
1265
2
}
Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18OlapScanLocalStateEE5closeEPNS_12RuntimeStateE
Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18JDBCScanLocalStateEE5closeEPNS_12RuntimeStateE
_ZN5doris14ScanLocalStateINS_18FileScanLocalStateEE5closeEPNS_12RuntimeStateE
Line
Count
Source
1241
2
Status ScanLocalState<Derived>::close(RuntimeState* state) {
1242
2
    if (_closed) {
1243
0
        return Status::OK();
1244
0
    }
1245
2
    COUNTER_UPDATE(exec_time_counter(), _scan_dependency->watcher_elapse_time());
1246
2
    int64_t rf_time = 0;
1247
2
    for (auto& dep : _filter_dependencies) {
1248
0
        rf_time += dep->watcher_elapse_time();
1249
0
    }
1250
2
    COUNTER_UPDATE(exec_time_counter(), rf_time);
1251
2
    SCOPED_TIMER(_close_timer);
1252
1253
2
    SCOPED_TIMER(exec_time_counter());
1254
2
    if (auto ctx = _scanner_ctx.load()) {
1255
0
        ctx->stop_scanners(state);
1256
        // _scanner_ctx may be accessed in debug_string concurrently
1257
        // so use atomic shared ptr to avoid use after free
1258
0
        _scanner_ctx.store(nullptr);
1259
0
    }
1260
2
    std::list<std::shared_ptr<ScannerDelegate>> {}.swap(_scanners);
1261
2
    COUNTER_SET(_wait_for_dependency_timer, _scan_dependency->watcher_elapse_time());
1262
2
    COUNTER_SET(_wait_for_rf_timer, rf_time);
1263
2
    _helper.collect_realtime_profile(custom_profile());
1264
2
    return PipelineXLocalState<>::close(state);
1265
2
}
Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_16EsScanLocalStateEE5closeEPNS_12RuntimeStateE
Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18MetaScanLocalStateEE5closeEPNS_12RuntimeStateE
Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_21GroupCommitLocalStateEE5closeEPNS_12RuntimeStateE
Unexecuted instantiation: _ZN5doris14ScanLocalStateINS_18MockScanLocalStateEE5closeEPNS_12RuntimeStateE
1266
1267
template <typename LocalStateType>
1268
0
Status ScanOperatorX<LocalStateType>::get_block(RuntimeState* state, Block* block, bool* eos) {
1269
0
    auto& local_state = get_local_state(state);
1270
0
    SCOPED_TIMER(local_state.exec_time_counter());
1271
1272
0
    if (state->is_cancelled()) {
1273
0
        if (auto ctx = local_state._scanner_ctx.load()) {
1274
0
            ctx->stop_scanners(state);
1275
0
        }
1276
0
        return state->cancel_reason();
1277
0
    }
1278
1279
0
    if (local_state._eos) {
1280
0
        *eos = true;
1281
0
        return Status::OK();
1282
0
    }
1283
1284
0
    auto ctx = local_state._scanner_ctx.load();
1285
1286
0
    DCHECK(ctx != nullptr);
1287
0
    RETURN_IF_ERROR(ctx->get_block_from_queue(state, block, eos, 0));
1288
1289
0
    local_state.reached_limit(block, eos);
1290
0
    if (*eos) {
1291
        // reach limit, stop the scanners.
1292
0
        ctx->stop_scanners(state);
1293
0
        local_state._scanner_profile->add_info_string("EOS", "True");
1294
0
    }
1295
1296
0
    return Status::OK();
1297
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
1298
1299
template <typename LocalStateType>
1300
0
size_t ScanOperatorX<LocalStateType>::get_reserve_mem_size(RuntimeState* state) {
1301
0
    auto& local_state = get_local_state(state);
1302
0
    auto ctx = local_state._scanner_ctx.load();
1303
0
    if (!local_state._opened || local_state._closed || !ctx) {
1304
0
        return config::doris_scanner_row_bytes;
1305
0
    }
1306
1307
0
    if (local_state.low_memory_mode()) {
1308
0
        return ctx->low_memory_mode_scan_bytes_per_scanner() * ctx->low_memory_mode_scanners();
1309
0
    } else {
1310
0
        const auto peak_usage = local_state._memory_used_counter->value();
1311
0
        const auto block_usage = ctx->block_memory_usage();
1312
0
        if (peak_usage > 0) {
1313
            // It is only a safty check, to avoid some counter not right.
1314
0
            if (peak_usage > block_usage) {
1315
0
                return peak_usage - block_usage;
1316
0
            } else {
1317
0
                return config::doris_scanner_row_bytes;
1318
0
            }
1319
0
        } else {
1320
            // If the scan operator is first time to run, then we think it will occupy doris_scanner_row_bytes.
1321
            // It maybe a little smaller than actual usage.
1322
0
            return config::doris_scanner_row_bytes;
1323
            // return local_state._scanner_ctx->max_bytes_in_queue();
1324
0
        }
1325
0
    }
1326
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
1327
1328
template class ScanOperatorX<OlapScanLocalState>;
1329
template class ScanLocalState<OlapScanLocalState>;
1330
template class ScanOperatorX<JDBCScanLocalState>;
1331
template class ScanLocalState<JDBCScanLocalState>;
1332
template class ScanOperatorX<FileScanLocalState>;
1333
template class ScanLocalState<FileScanLocalState>;
1334
template class ScanOperatorX<EsScanLocalState>;
1335
template class ScanLocalState<EsScanLocalState>;
1336
template class ScanLocalState<MetaScanLocalState>;
1337
template class ScanOperatorX<MetaScanLocalState>;
1338
template class ScanOperatorX<GroupCommitLocalState>;
1339
template class ScanLocalState<GroupCommitLocalState>;
1340
1341
#ifdef BE_TEST
1342
template class ScanOperatorX<MockScanLocalState>;
1343
template class ScanLocalState<MockScanLocalState>;
1344
#endif
1345
1346
} // namespace doris