Coverage Report

Created: 2025-05-09 16:48

/root/doris/be/src/exec/olap_common.h
Line
Count
Source (jump to first uncovered line)
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
#pragma once
19
20
#include <gen_cpp/Metrics_types.h>
21
#include <gen_cpp/PaloInternalService_types.h>
22
#include <glog/logging.h>
23
#include <stddef.h>
24
25
#include <boost/container/detail/std_fwd.hpp>
26
#include <boost/lexical_cast.hpp>
27
#include <cstdint>
28
#include <iterator>
29
#include <memory>
30
#include <set>
31
#include <sstream>
32
#include <string>
33
#include <utility>
34
#include <variant>
35
#include <vector>
36
37
#include "common/status.h"
38
#include "exec/olap_utils.h"
39
#include "olap/filter_olap_param.h"
40
#include "olap/olap_common.h"
41
#include "olap/olap_tuple.h"
42
#include "runtime/define_primitive_type.h"
43
#include "runtime/primitive_type.h"
44
#include "runtime/type_limit.h"
45
#include "util/runtime_profile.h"
46
#include "vec/core/types.h"
47
#include "vec/io/io_helper.h"
48
#include "vec/runtime/ipv4_value.h"
49
#include "vec/runtime/ipv6_value.h"
50
#include "vec/runtime/time_value.h"
51
#include "vec/runtime/vdatetime_value.h"
52
53
namespace doris {
54
55
template <PrimitiveType primitive_type, class T>
56
98
std::string cast_to_string(T value, int scale) {
57
98
    if constexpr (primitive_type == TYPE_DECIMAL32) {
58
98
        return ((vectorized::Decimal<int32_t>)value).to_string(scale);
59
98
    } else if constexpr (primitive_type == TYPE_DECIMAL64) {
60
98
        return ((vectorized::Decimal<int64_t>)value).to_string(scale);
61
98
    } else if constexpr (primitive_type == TYPE_DECIMAL128I) {
62
98
        return ((vectorized::Decimal<int128_t>)value).to_string(scale);
63
98
    } else if constexpr (primitive_type == TYPE_DECIMAL256) {
64
98
        return ((vectorized::Decimal<wide::Int256>)value).to_string(scale);
65
98
    } else if constexpr (primitive_type == TYPE_TINYINT) {
66
94
        return std::to_string(static_cast<int>(value));
67
94
    } else if constexpr (primitive_type == TYPE_LARGEINT) {
68
93
        return vectorized::int128_to_string(value);
69
93
    } else if constexpr (primitive_type == TYPE_DATETIMEV2) {
70
93
        DateV2Value<DateTimeV2ValueType> datetimev2_val =
71
93
                static_cast<DateV2Value<DateTimeV2ValueType>>(value);
72
93
        char buf[30];
73
93
        datetimev2_val.to_string(buf);
74
93
        std::stringstream ss;
75
93
        ss << buf;
76
93
        return ss.str();
77
93
    } else if constexpr (primitive_type == TYPE_TIMEV2) {
78
93
        return TimeValue::to_string(value, scale);
79
93
    } else if constexpr (primitive_type == TYPE_IPV4) {
80
91
        return IPv4Value::to_string(value);
81
91
    } else if constexpr (primitive_type == TYPE_IPV6) {
82
91
        return IPv6Value::to_string(value);
83
91
    } else {
84
91
        return boost::lexical_cast<std::string>(value);
85
91
    }
86
98
}
_ZN5doris14cast_to_stringILNS_13PrimitiveTypeE5EiEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET0_i
Line
Count
Source
56
87
std::string cast_to_string(T value, int scale) {
57
87
    if constexpr (primitive_type == TYPE_DECIMAL32) {
58
87
        return ((vectorized::Decimal<int32_t>)value).to_string(scale);
59
87
    } else if constexpr (primitive_type == TYPE_DECIMAL64) {
60
87
        return ((vectorized::Decimal<int64_t>)value).to_string(scale);
61
87
    } else if constexpr (primitive_type == TYPE_DECIMAL128I) {
62
87
        return ((vectorized::Decimal<int128_t>)value).to_string(scale);
63
87
    } else if constexpr (primitive_type == TYPE_DECIMAL256) {
64
87
        return ((vectorized::Decimal<wide::Int256>)value).to_string(scale);
65
87
    } else if constexpr (primitive_type == TYPE_TINYINT) {
66
87
        return std::to_string(static_cast<int>(value));
67
87
    } else if constexpr (primitive_type == TYPE_LARGEINT) {
68
87
        return vectorized::int128_to_string(value);
69
87
    } else if constexpr (primitive_type == TYPE_DATETIMEV2) {
70
87
        DateV2Value<DateTimeV2ValueType> datetimev2_val =
71
87
                static_cast<DateV2Value<DateTimeV2ValueType>>(value);
72
87
        char buf[30];
73
87
        datetimev2_val.to_string(buf);
74
87
        std::stringstream ss;
75
87
        ss << buf;
76
87
        return ss.str();
77
87
    } else if constexpr (primitive_type == TYPE_TIMEV2) {
78
87
        return TimeValue::to_string(value, scale);
79
87
    } else if constexpr (primitive_type == TYPE_IPV4) {
80
87
        return IPv4Value::to_string(value);
81
87
    } else if constexpr (primitive_type == TYPE_IPV6) {
82
87
        return IPv6Value::to_string(value);
83
87
    } else {
84
87
        return boost::lexical_cast<std::string>(value);
85
87
    }
86
87
}
_ZN5doris14cast_to_stringILNS_13PrimitiveTypeE3EaEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET0_i
Line
Count
Source
56
4
std::string cast_to_string(T value, int scale) {
57
4
    if constexpr (primitive_type == TYPE_DECIMAL32) {
58
4
        return ((vectorized::Decimal<int32_t>)value).to_string(scale);
59
4
    } else if constexpr (primitive_type == TYPE_DECIMAL64) {
60
4
        return ((vectorized::Decimal<int64_t>)value).to_string(scale);
61
4
    } else if constexpr (primitive_type == TYPE_DECIMAL128I) {
62
4
        return ((vectorized::Decimal<int128_t>)value).to_string(scale);
63
4
    } else if constexpr (primitive_type == TYPE_DECIMAL256) {
64
4
        return ((vectorized::Decimal<wide::Int256>)value).to_string(scale);
65
4
    } else if constexpr (primitive_type == TYPE_TINYINT) {
66
4
        return std::to_string(static_cast<int>(value));
67
4
    } else if constexpr (primitive_type == TYPE_LARGEINT) {
68
4
        return vectorized::int128_to_string(value);
69
4
    } else if constexpr (primitive_type == TYPE_DATETIMEV2) {
70
4
        DateV2Value<DateTimeV2ValueType> datetimev2_val =
71
4
                static_cast<DateV2Value<DateTimeV2ValueType>>(value);
72
4
        char buf[30];
73
4
        datetimev2_val.to_string(buf);
74
4
        std::stringstream ss;
75
4
        ss << buf;
76
4
        return ss.str();
77
4
    } else if constexpr (primitive_type == TYPE_TIMEV2) {
78
4
        return TimeValue::to_string(value, scale);
79
4
    } else if constexpr (primitive_type == TYPE_IPV4) {
80
4
        return IPv4Value::to_string(value);
81
4
    } else if constexpr (primitive_type == TYPE_IPV6) {
82
4
        return IPv6Value::to_string(value);
83
4
    } else {
84
4
        return boost::lexical_cast<std::string>(value);
85
4
    }
86
4
}
_ZN5doris14cast_to_stringILNS_13PrimitiveTypeE36EjEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET0_i
Line
Count
Source
56
2
std::string cast_to_string(T value, int scale) {
57
2
    if constexpr (primitive_type == TYPE_DECIMAL32) {
58
2
        return ((vectorized::Decimal<int32_t>)value).to_string(scale);
59
2
    } else if constexpr (primitive_type == TYPE_DECIMAL64) {
60
2
        return ((vectorized::Decimal<int64_t>)value).to_string(scale);
61
2
    } else if constexpr (primitive_type == TYPE_DECIMAL128I) {
62
2
        return ((vectorized::Decimal<int128_t>)value).to_string(scale);
63
2
    } else if constexpr (primitive_type == TYPE_DECIMAL256) {
64
2
        return ((vectorized::Decimal<wide::Int256>)value).to_string(scale);
65
2
    } else if constexpr (primitive_type == TYPE_TINYINT) {
66
2
        return std::to_string(static_cast<int>(value));
67
2
    } else if constexpr (primitive_type == TYPE_LARGEINT) {
68
2
        return vectorized::int128_to_string(value);
69
2
    } else if constexpr (primitive_type == TYPE_DATETIMEV2) {
70
2
        DateV2Value<DateTimeV2ValueType> datetimev2_val =
71
2
                static_cast<DateV2Value<DateTimeV2ValueType>>(value);
72
2
        char buf[30];
73
2
        datetimev2_val.to_string(buf);
74
2
        std::stringstream ss;
75
2
        ss << buf;
76
2
        return ss.str();
77
2
    } else if constexpr (primitive_type == TYPE_TIMEV2) {
78
2
        return TimeValue::to_string(value, scale);
79
2
    } else if constexpr (primitive_type == TYPE_IPV4) {
80
2
        return IPv4Value::to_string(value);
81
2
    } else if constexpr (primitive_type == TYPE_IPV6) {
82
2
        return IPv6Value::to_string(value);
83
2
    } else {
84
2
        return boost::lexical_cast<std::string>(value);
85
2
    }
86
2
}
_ZN5doris14cast_to_stringILNS_13PrimitiveTypeE4EsEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET0_i
Line
Count
Source
56
1
std::string cast_to_string(T value, int scale) {
57
1
    if constexpr (primitive_type == TYPE_DECIMAL32) {
58
1
        return ((vectorized::Decimal<int32_t>)value).to_string(scale);
59
1
    } else if constexpr (primitive_type == TYPE_DECIMAL64) {
60
1
        return ((vectorized::Decimal<int64_t>)value).to_string(scale);
61
1
    } else if constexpr (primitive_type == TYPE_DECIMAL128I) {
62
1
        return ((vectorized::Decimal<int128_t>)value).to_string(scale);
63
1
    } else if constexpr (primitive_type == TYPE_DECIMAL256) {
64
1
        return ((vectorized::Decimal<wide::Int256>)value).to_string(scale);
65
1
    } else if constexpr (primitive_type == TYPE_TINYINT) {
66
1
        return std::to_string(static_cast<int>(value));
67
1
    } else if constexpr (primitive_type == TYPE_LARGEINT) {
68
1
        return vectorized::int128_to_string(value);
69
1
    } else if constexpr (primitive_type == TYPE_DATETIMEV2) {
70
1
        DateV2Value<DateTimeV2ValueType> datetimev2_val =
71
1
                static_cast<DateV2Value<DateTimeV2ValueType>>(value);
72
1
        char buf[30];
73
1
        datetimev2_val.to_string(buf);
74
1
        std::stringstream ss;
75
1
        ss << buf;
76
1
        return ss.str();
77
1
    } else if constexpr (primitive_type == TYPE_TIMEV2) {
78
1
        return TimeValue::to_string(value, scale);
79
1
    } else if constexpr (primitive_type == TYPE_IPV4) {
80
1
        return IPv4Value::to_string(value);
81
1
    } else if constexpr (primitive_type == TYPE_IPV6) {
82
1
        return IPv6Value::to_string(value);
83
1
    } else {
84
1
        return boost::lexical_cast<std::string>(value);
85
1
    }
86
1
}
_ZN5doris14cast_to_stringILNS_13PrimitiveTypeE6ElEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET0_i
Line
Count
Source
56
1
std::string cast_to_string(T value, int scale) {
57
1
    if constexpr (primitive_type == TYPE_DECIMAL32) {
58
1
        return ((vectorized::Decimal<int32_t>)value).to_string(scale);
59
1
    } else if constexpr (primitive_type == TYPE_DECIMAL64) {
60
1
        return ((vectorized::Decimal<int64_t>)value).to_string(scale);
61
1
    } else if constexpr (primitive_type == TYPE_DECIMAL128I) {
62
1
        return ((vectorized::Decimal<int128_t>)value).to_string(scale);
63
1
    } else if constexpr (primitive_type == TYPE_DECIMAL256) {
64
1
        return ((vectorized::Decimal<wide::Int256>)value).to_string(scale);
65
1
    } else if constexpr (primitive_type == TYPE_TINYINT) {
66
1
        return std::to_string(static_cast<int>(value));
67
1
    } else if constexpr (primitive_type == TYPE_LARGEINT) {
68
1
        return vectorized::int128_to_string(value);
69
1
    } else if constexpr (primitive_type == TYPE_DATETIMEV2) {
70
1
        DateV2Value<DateTimeV2ValueType> datetimev2_val =
71
1
                static_cast<DateV2Value<DateTimeV2ValueType>>(value);
72
1
        char buf[30];
73
1
        datetimev2_val.to_string(buf);
74
1
        std::stringstream ss;
75
1
        ss << buf;
76
1
        return ss.str();
77
1
    } else if constexpr (primitive_type == TYPE_TIMEV2) {
78
1
        return TimeValue::to_string(value, scale);
79
1
    } else if constexpr (primitive_type == TYPE_IPV4) {
80
1
        return IPv4Value::to_string(value);
81
1
    } else if constexpr (primitive_type == TYPE_IPV6) {
82
1
        return IPv6Value::to_string(value);
83
1
    } else {
84
1
        return boost::lexical_cast<std::string>(value);
85
1
    }
86
1
}
_ZN5doris14cast_to_stringILNS_13PrimitiveTypeE7EnEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET0_i
Line
Count
Source
56
1
std::string cast_to_string(T value, int scale) {
57
1
    if constexpr (primitive_type == TYPE_DECIMAL32) {
58
1
        return ((vectorized::Decimal<int32_t>)value).to_string(scale);
59
1
    } else if constexpr (primitive_type == TYPE_DECIMAL64) {
60
1
        return ((vectorized::Decimal<int64_t>)value).to_string(scale);
61
1
    } else if constexpr (primitive_type == TYPE_DECIMAL128I) {
62
1
        return ((vectorized::Decimal<int128_t>)value).to_string(scale);
63
1
    } else if constexpr (primitive_type == TYPE_DECIMAL256) {
64
1
        return ((vectorized::Decimal<wide::Int256>)value).to_string(scale);
65
1
    } else if constexpr (primitive_type == TYPE_TINYINT) {
66
1
        return std::to_string(static_cast<int>(value));
67
1
    } else if constexpr (primitive_type == TYPE_LARGEINT) {
68
1
        return vectorized::int128_to_string(value);
69
1
    } else if constexpr (primitive_type == TYPE_DATETIMEV2) {
70
1
        DateV2Value<DateTimeV2ValueType> datetimev2_val =
71
1
                static_cast<DateV2Value<DateTimeV2ValueType>>(value);
72
1
        char buf[30];
73
1
        datetimev2_val.to_string(buf);
74
1
        std::stringstream ss;
75
1
        ss << buf;
76
1
        return ss.str();
77
1
    } else if constexpr (primitive_type == TYPE_TIMEV2) {
78
1
        return TimeValue::to_string(value, scale);
79
1
    } else if constexpr (primitive_type == TYPE_IPV4) {
80
1
        return IPv4Value::to_string(value);
81
1
    } else if constexpr (primitive_type == TYPE_IPV6) {
82
1
        return IPv6Value::to_string(value);
83
1
    } else {
84
1
        return boost::lexical_cast<std::string>(value);
85
1
    }
86
1
}
_ZN5doris14cast_to_stringILNS_13PrimitiveTypeE2EbEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET0_i
Line
Count
Source
56
1
std::string cast_to_string(T value, int scale) {
57
1
    if constexpr (primitive_type == TYPE_DECIMAL32) {
58
1
        return ((vectorized::Decimal<int32_t>)value).to_string(scale);
59
1
    } else if constexpr (primitive_type == TYPE_DECIMAL64) {
60
1
        return ((vectorized::Decimal<int64_t>)value).to_string(scale);
61
1
    } else if constexpr (primitive_type == TYPE_DECIMAL128I) {
62
1
        return ((vectorized::Decimal<int128_t>)value).to_string(scale);
63
1
    } else if constexpr (primitive_type == TYPE_DECIMAL256) {
64
1
        return ((vectorized::Decimal<wide::Int256>)value).to_string(scale);
65
1
    } else if constexpr (primitive_type == TYPE_TINYINT) {
66
1
        return std::to_string(static_cast<int>(value));
67
1
    } else if constexpr (primitive_type == TYPE_LARGEINT) {
68
1
        return vectorized::int128_to_string(value);
69
1
    } else if constexpr (primitive_type == TYPE_DATETIMEV2) {
70
1
        DateV2Value<DateTimeV2ValueType> datetimev2_val =
71
1
                static_cast<DateV2Value<DateTimeV2ValueType>>(value);
72
1
        char buf[30];
73
1
        datetimev2_val.to_string(buf);
74
1
        std::stringstream ss;
75
1
        ss << buf;
76
1
        return ss.str();
77
1
    } else if constexpr (primitive_type == TYPE_TIMEV2) {
78
1
        return TimeValue::to_string(value, scale);
79
1
    } else if constexpr (primitive_type == TYPE_IPV4) {
80
1
        return IPv4Value::to_string(value);
81
1
    } else if constexpr (primitive_type == TYPE_IPV6) {
82
1
        return IPv6Value::to_string(value);
83
1
    } else {
84
1
        return boost::lexical_cast<std::string>(value);
85
1
    }
86
1
}
_ZN5doris14cast_to_stringILNS_13PrimitiveTypeE9EdEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET0_i
Line
Count
Source
56
1
std::string cast_to_string(T value, int scale) {
57
1
    if constexpr (primitive_type == TYPE_DECIMAL32) {
58
1
        return ((vectorized::Decimal<int32_t>)value).to_string(scale);
59
1
    } else if constexpr (primitive_type == TYPE_DECIMAL64) {
60
1
        return ((vectorized::Decimal<int64_t>)value).to_string(scale);
61
1
    } else if constexpr (primitive_type == TYPE_DECIMAL128I) {
62
1
        return ((vectorized::Decimal<int128_t>)value).to_string(scale);
63
1
    } else if constexpr (primitive_type == TYPE_DECIMAL256) {
64
1
        return ((vectorized::Decimal<wide::Int256>)value).to_string(scale);
65
1
    } else if constexpr (primitive_type == TYPE_TINYINT) {
66
1
        return std::to_string(static_cast<int>(value));
67
1
    } else if constexpr (primitive_type == TYPE_LARGEINT) {
68
1
        return vectorized::int128_to_string(value);
69
1
    } else if constexpr (primitive_type == TYPE_DATETIMEV2) {
70
1
        DateV2Value<DateTimeV2ValueType> datetimev2_val =
71
1
                static_cast<DateV2Value<DateTimeV2ValueType>>(value);
72
1
        char buf[30];
73
1
        datetimev2_val.to_string(buf);
74
1
        std::stringstream ss;
75
1
        ss << buf;
76
1
        return ss.str();
77
1
    } else if constexpr (primitive_type == TYPE_TIMEV2) {
78
1
        return TimeValue::to_string(value, scale);
79
1
    } else if constexpr (primitive_type == TYPE_IPV4) {
80
1
        return IPv4Value::to_string(value);
81
1
    } else if constexpr (primitive_type == TYPE_IPV6) {
82
1
        return IPv6Value::to_string(value);
83
1
    } else {
84
1
        return boost::lexical_cast<std::string>(value);
85
1
    }
86
1
}
Unexecuted instantiation: _ZN5doris14cast_to_stringILNS_13PrimitiveTypeE11ENS_16VecDateTimeValueEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET0_i
Unexecuted instantiation: _ZN5doris14cast_to_stringILNS_13PrimitiveTypeE12ENS_16VecDateTimeValueEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET0_i
Unexecuted instantiation: _ZN5doris14cast_to_stringILNS_13PrimitiveTypeE27EdEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET0_i
Unexecuted instantiation: _ZN5doris14cast_to_stringILNS_13PrimitiveTypeE30EnEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET0_i
Unexecuted instantiation: _ZN5doris14cast_to_stringILNS_13PrimitiveTypeE25ENS_11DateV2ValueINS_15DateV2ValueTypeEEEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET0_i
Unexecuted instantiation: _ZN5doris14cast_to_stringILNS_13PrimitiveTypeE26ENS_11DateV2ValueINS_19DateTimeV2ValueTypeEEEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET0_i
Unexecuted instantiation: _ZN5doris14cast_to_stringILNS_13PrimitiveTypeE28ENS_10vectorized7DecimalIiEEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET0_i
Unexecuted instantiation: _ZN5doris14cast_to_stringILNS_13PrimitiveTypeE29ENS_10vectorized7DecimalIlEEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET0_i
Unexecuted instantiation: _ZN5doris14cast_to_stringILNS_13PrimitiveTypeE30ENS_10vectorized12Decimal128V3EEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET0_i
Unexecuted instantiation: _ZN5doris14cast_to_stringILNS_13PrimitiveTypeE35ENS_10vectorized7DecimalIN4wide7integerILm256EiEEEEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET0_i
Unexecuted instantiation: _ZN5doris14cast_to_stringILNS_13PrimitiveTypeE37EoEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET0_i
Unexecuted instantiation: _ZN5doris14cast_to_stringILNS_13PrimitiveTypeE15ENS_9StringRefEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET0_i
Unexecuted instantiation: _ZN5doris14cast_to_stringILNS_13PrimitiveTypeE10ENS_9StringRefEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET0_i
Unexecuted instantiation: _ZN5doris14cast_to_stringILNS_13PrimitiveTypeE23ENS_9StringRefEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET0_i
Unexecuted instantiation: _ZN5doris14cast_to_stringILNS_13PrimitiveTypeE20ENS_14DecimalV2ValueEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET0_i
Unexecuted instantiation: _ZN5doris14cast_to_stringILNS_13PrimitiveTypeE19ENS_9StringRefEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET0_i
87
88
/**
89
 * @brief Column's value range
90
 **/
91
template <PrimitiveType primitive_type>
92
class ColumnValueRange {
93
public:
94
    using CppType = typename PrimitiveTypeTraits<primitive_type>::CppType;
95
    using IteratorType = typename std::set<CppType>::iterator;
96
97
    ColumnValueRange();
98
99
    ColumnValueRange(std::string col_name);
100
101
    ColumnValueRange(std::string col_name, const CppType& min, const CppType& max,
102
                     bool contain_null);
103
104
    ColumnValueRange(std::string col_name, int precision, int scale);
105
106
    ColumnValueRange(std::string col_name, bool is_nullable_col, int precision, int scale);
107
108
    ColumnValueRange(std::string col_name, const CppType& min, const CppType& max,
109
                     bool is_nullable_col, bool contain_null, int precision, int scale);
110
111
    // should add fixed value before add range
112
    Status add_fixed_value(const CppType& value);
113
114
    // should remove fixed value after add fixed value
115
    void remove_fixed_value(const CppType& value);
116
117
    Status add_range(SQLFilterOp op, CppType value);
118
119
    bool is_fixed_value_range() const;
120
121
    bool is_scope_value_range() const;
122
123
    bool is_empty_value_range() const;
124
125
    bool is_fixed_value_convertible() const;
126
127
    bool is_range_value_convertible() const;
128
129
    void convert_to_range_value();
130
131
    bool convert_to_avg_range_value(std::vector<OlapTuple>& begin_scan_keys,
132
                                    std::vector<OlapTuple>& end_scan_keys, bool& begin_include,
133
                                    bool& end_include, int32_t max_scan_key_num);
134
135
    bool convert_to_close_range(std::vector<OlapTuple>& begin_scan_keys,
136
                                std::vector<OlapTuple>& end_scan_keys, bool& begin_include,
137
                                bool& end_include);
138
139
8
    constexpr bool is_reject_split_type() const { return _is_reject_split_type; }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE20is_reject_split_typeEv
Line
Count
Source
139
8
    constexpr bool is_reject_split_type() const { return _is_reject_split_type; }
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE20is_reject_split_typeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE20is_reject_split_typeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE20is_reject_split_typeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE20is_reject_split_typeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE20is_reject_split_typeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE20is_reject_split_typeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE20is_reject_split_typeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE20is_reject_split_typeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE20is_reject_split_typeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE20is_reject_split_typeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE20is_reject_split_typeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE20is_reject_split_typeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE20is_reject_split_typeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE20is_reject_split_typeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE20is_reject_split_typeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE20is_reject_split_typeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE20is_reject_split_typeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE20is_reject_split_typeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE20is_reject_split_typeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE20is_reject_split_typeEv
140
141
    bool has_intersection(ColumnValueRange<primitive_type>& range);
142
143
    void intersection(ColumnValueRange<primitive_type>& range);
144
145
23
    void set_empty_value_range() {
146
23
        _fixed_values.clear();
147
23
        _low_value = TYPE_MAX;
148
23
        _high_value = TYPE_MIN;
149
23
        _contain_null = false;
150
23
    }
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE21set_empty_value_rangeEv
Line
Count
Source
145
18
    void set_empty_value_range() {
146
18
        _fixed_values.clear();
147
18
        _low_value = TYPE_MAX;
148
18
        _high_value = TYPE_MIN;
149
18
        _contain_null = false;
150
18
    }
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE21set_empty_value_rangeEv
Line
Count
Source
145
1
    void set_empty_value_range() {
146
1
        _fixed_values.clear();
147
1
        _low_value = TYPE_MAX;
148
1
        _high_value = TYPE_MIN;
149
1
        _contain_null = false;
150
1
    }
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE21set_empty_value_rangeEv
Line
Count
Source
145
4
    void set_empty_value_range() {
146
4
        _fixed_values.clear();
147
4
        _low_value = TYPE_MAX;
148
4
        _high_value = TYPE_MIN;
149
4
        _contain_null = false;
150
4
    }
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE21set_empty_value_rangeEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE21set_empty_value_rangeEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE21set_empty_value_rangeEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE21set_empty_value_rangeEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE21set_empty_value_rangeEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE21set_empty_value_rangeEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE21set_empty_value_rangeEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE21set_empty_value_rangeEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE21set_empty_value_rangeEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE21set_empty_value_rangeEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE21set_empty_value_rangeEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE21set_empty_value_rangeEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE21set_empty_value_rangeEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE21set_empty_value_rangeEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE21set_empty_value_rangeEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE21set_empty_value_rangeEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE21set_empty_value_rangeEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE21set_empty_value_rangeEv
151
152
7
    const std::set<CppType>& get_fixed_value_set() const { return _fixed_values; }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE19get_fixed_value_setEv
Line
Count
Source
152
6
    const std::set<CppType>& get_fixed_value_set() const { return _fixed_values; }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE19get_fixed_value_setEv
Line
Count
Source
152
1
    const std::set<CppType>& get_fixed_value_set() const { return _fixed_values; }
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE19get_fixed_value_setEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE19get_fixed_value_setEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE19get_fixed_value_setEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE19get_fixed_value_setEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE19get_fixed_value_setEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE19get_fixed_value_setEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE19get_fixed_value_setEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE19get_fixed_value_setEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE19get_fixed_value_setEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE19get_fixed_value_setEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE19get_fixed_value_setEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE19get_fixed_value_setEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE19get_fixed_value_setEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE19get_fixed_value_setEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE19get_fixed_value_setEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE19get_fixed_value_setEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE19get_fixed_value_setEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE19get_fixed_value_setEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE19get_fixed_value_setEv
153
154
24
    CppType get_range_max_value() const { return _high_value; }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE19get_range_max_valueEv
Line
Count
Source
154
24
    CppType get_range_max_value() const { return _high_value; }
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE19get_range_max_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE19get_range_max_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE19get_range_max_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE19get_range_max_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE19get_range_max_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE19get_range_max_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE19get_range_max_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE19get_range_max_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE19get_range_max_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE19get_range_max_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE19get_range_max_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE19get_range_max_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE19get_range_max_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE19get_range_max_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE19get_range_max_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE19get_range_max_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE19get_range_max_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE19get_range_max_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE19get_range_max_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE19get_range_max_valueEv
155
156
25
    CppType get_range_min_value() const { return _low_value; }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE19get_range_min_valueEv
Line
Count
Source
156
25
    CppType get_range_min_value() const { return _low_value; }
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE19get_range_min_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE19get_range_min_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE19get_range_min_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE19get_range_min_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE19get_range_min_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE19get_range_min_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE19get_range_min_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE19get_range_min_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE19get_range_min_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE19get_range_min_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE19get_range_min_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE19get_range_min_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE19get_range_min_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE19get_range_min_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE19get_range_min_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE19get_range_min_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE19get_range_min_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE19get_range_min_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE19get_range_min_valueEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE19get_range_min_valueEv
157
158
2
    const CppType* get_range_max_value_ptr() const { return &_high_value; }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE23get_range_max_value_ptrEv
Line
Count
Source
158
2
    const CppType* get_range_max_value_ptr() const { return &_high_value; }
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE23get_range_max_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE23get_range_max_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE23get_range_max_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE23get_range_max_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE23get_range_max_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE23get_range_max_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE23get_range_max_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE23get_range_max_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE23get_range_max_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE23get_range_max_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE23get_range_max_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE23get_range_max_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE23get_range_max_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE23get_range_max_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE23get_range_max_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE23get_range_max_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE23get_range_max_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE23get_range_max_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE23get_range_max_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE23get_range_max_value_ptrEv
159
160
2
    const CppType* get_range_min_value_ptr() const { return &_low_value; }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE23get_range_min_value_ptrEv
Line
Count
Source
160
2
    const CppType* get_range_min_value_ptr() const { return &_low_value; }
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE23get_range_min_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE23get_range_min_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE23get_range_min_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE23get_range_min_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE23get_range_min_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE23get_range_min_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE23get_range_min_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE23get_range_min_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE23get_range_min_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE23get_range_min_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE23get_range_min_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE23get_range_min_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE23get_range_min_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE23get_range_min_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE23get_range_min_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE23get_range_min_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE23get_range_min_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE23get_range_min_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE23get_range_min_value_ptrEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE23get_range_min_value_ptrEv
161
162
2
    SQLFilterOp get_range_high_op() const { return _high_op; }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE17get_range_high_opEv
Line
Count
Source
162
2
    SQLFilterOp get_range_high_op() const { return _high_op; }
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE17get_range_high_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE17get_range_high_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE17get_range_high_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE17get_range_high_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE17get_range_high_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE17get_range_high_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE17get_range_high_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE17get_range_high_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE17get_range_high_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE17get_range_high_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE17get_range_high_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE17get_range_high_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE17get_range_high_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE17get_range_high_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE17get_range_high_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE17get_range_high_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE17get_range_high_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE17get_range_high_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE17get_range_high_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE17get_range_high_opEv
163
164
2
    SQLFilterOp get_range_low_op() const { return _low_op; }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE16get_range_low_opEv
Line
Count
Source
164
2
    SQLFilterOp get_range_low_op() const { return _low_op; }
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE16get_range_low_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE16get_range_low_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE16get_range_low_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE16get_range_low_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE16get_range_low_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE16get_range_low_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE16get_range_low_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE16get_range_low_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE16get_range_low_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE16get_range_low_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE16get_range_low_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE16get_range_low_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE16get_range_low_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE16get_range_low_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE16get_range_low_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE16get_range_low_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE16get_range_low_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE16get_range_low_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE16get_range_low_opEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE16get_range_low_opEv
165
166
3
    bool is_low_value_mininum() const { return _low_value == TYPE_MIN; }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE20is_low_value_mininumEv
Line
Count
Source
166
3
    bool is_low_value_mininum() const { return _low_value == TYPE_MIN; }
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE20is_low_value_mininumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE20is_low_value_mininumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE20is_low_value_mininumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE20is_low_value_mininumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE20is_low_value_mininumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE20is_low_value_mininumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE20is_low_value_mininumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE20is_low_value_mininumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE20is_low_value_mininumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE20is_low_value_mininumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE20is_low_value_mininumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE20is_low_value_mininumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE20is_low_value_mininumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE20is_low_value_mininumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE20is_low_value_mininumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE20is_low_value_mininumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE20is_low_value_mininumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE20is_low_value_mininumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE20is_low_value_mininumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE20is_low_value_mininumEv
167
168
3
    bool is_low_value_maximum() const { return _low_value == TYPE_MAX; }
169
170
3
    bool is_high_value_maximum() const { return _high_value == TYPE_MAX; }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE21is_high_value_maximumEv
Line
Count
Source
170
3
    bool is_high_value_maximum() const { return _high_value == TYPE_MAX; }
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE21is_high_value_maximumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE21is_high_value_maximumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE21is_high_value_maximumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE21is_high_value_maximumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE21is_high_value_maximumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE21is_high_value_maximumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE21is_high_value_maximumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE21is_high_value_maximumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE21is_high_value_maximumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE21is_high_value_maximumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE21is_high_value_maximumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE21is_high_value_maximumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE21is_high_value_maximumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE21is_high_value_maximumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE21is_high_value_maximumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE21is_high_value_maximumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE21is_high_value_maximumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE21is_high_value_maximumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE21is_high_value_maximumEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE21is_high_value_maximumEv
171
172
3
    bool is_high_value_mininum() const { return _high_value == TYPE_MIN; }
173
174
13
    bool is_begin_include() const { return _low_op == FILTER_LARGER_OR_EQUAL; }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE16is_begin_includeEv
Line
Count
Source
174
12
    bool is_begin_include() const { return _low_op == FILTER_LARGER_OR_EQUAL; }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE16is_begin_includeEv
Line
Count
Source
174
1
    bool is_begin_include() const { return _low_op == FILTER_LARGER_OR_EQUAL; }
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE16is_begin_includeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE16is_begin_includeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE16is_begin_includeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE16is_begin_includeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE16is_begin_includeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE16is_begin_includeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE16is_begin_includeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE16is_begin_includeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE16is_begin_includeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE16is_begin_includeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE16is_begin_includeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE16is_begin_includeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE16is_begin_includeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE16is_begin_includeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE16is_begin_includeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE16is_begin_includeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE16is_begin_includeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE16is_begin_includeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE16is_begin_includeEv
175
176
13
    bool is_end_include() const { return _high_op == FILTER_LESS_OR_EQUAL; }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE14is_end_includeEv
Line
Count
Source
176
12
    bool is_end_include() const { return _high_op == FILTER_LESS_OR_EQUAL; }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE14is_end_includeEv
Line
Count
Source
176
1
    bool is_end_include() const { return _high_op == FILTER_LESS_OR_EQUAL; }
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE14is_end_includeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE14is_end_includeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE14is_end_includeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE14is_end_includeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE14is_end_includeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE14is_end_includeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE14is_end_includeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE14is_end_includeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE14is_end_includeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE14is_end_includeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE14is_end_includeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE14is_end_includeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE14is_end_includeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE14is_end_includeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE14is_end_includeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE14is_end_includeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE14is_end_includeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE14is_end_includeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE14is_end_includeEv
177
178
9
    PrimitiveType type() const { return _column_type; }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE4typeEv
Line
Count
Source
178
2
    PrimitiveType type() const { return _column_type; }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE4typeEv
Line
Count
Source
178
5
    PrimitiveType type() const { return _column_type; }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE4typeEv
Line
Count
Source
178
2
    PrimitiveType type() const { return _column_type; }
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE4typeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE4typeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE4typeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE4typeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE4typeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE4typeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE4typeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE4typeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE4typeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE4typeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE4typeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE4typeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE4typeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE4typeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE4typeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE4typeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE4typeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE4typeEv
179
180
15
    const std::string& column_name() const { return _column_name; }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE11column_nameB5cxx11Ev
Line
Count
Source
180
5
    const std::string& column_name() const { return _column_name; }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE11column_nameB5cxx11Ev
Line
Count
Source
180
1
    const std::string& column_name() const { return _column_name; }
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE11column_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE11column_nameB5cxx11Ev
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE11column_nameB5cxx11Ev
Line
Count
Source
180
9
    const std::string& column_name() const { return _column_name; }
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE11column_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE11column_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE11column_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE11column_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE11column_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE11column_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE11column_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE11column_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE11column_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE11column_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE11column_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE11column_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE11column_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE11column_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE11column_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE11column_nameB5cxx11Ev
181
182
6
    bool is_nullable_col() const { return _is_nullable_col; }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE15is_nullable_colEv
Line
Count
Source
182
5
    bool is_nullable_col() const { return _is_nullable_col; }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE15is_nullable_colEv
Line
Count
Source
182
1
    bool is_nullable_col() const { return _is_nullable_col; }
183
184
74
    bool contain_null() const { return _contain_null; }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE12contain_nullEv
Line
Count
Source
184
28
    bool contain_null() const { return _contain_null; }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE12contain_nullEv
Line
Count
Source
184
42
    bool contain_null() const { return _contain_null; }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE12contain_nullEv
Line
Count
Source
184
2
    bool contain_null() const { return _contain_null; }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE12contain_nullEv
Line
Count
Source
184
1
    bool contain_null() const { return _contain_null; }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE12contain_nullEv
Line
Count
Source
184
1
    bool contain_null() const { return _contain_null; }
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE12contain_nullEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE12contain_nullEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE12contain_nullEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE12contain_nullEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE12contain_nullEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE12contain_nullEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE12contain_nullEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE12contain_nullEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE12contain_nullEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE12contain_nullEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE12contain_nullEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE12contain_nullEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE12contain_nullEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE12contain_nullEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE12contain_nullEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE12contain_nullEv
185
186
24
    size_t get_fixed_value_size() const { return _fixed_values.size(); }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE20get_fixed_value_sizeEv
Line
Count
Source
186
4
    size_t get_fixed_value_size() const { return _fixed_values.size(); }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE20get_fixed_value_sizeEv
Line
Count
Source
186
18
    size_t get_fixed_value_size() const { return _fixed_values.size(); }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE20get_fixed_value_sizeEv
Line
Count
Source
186
1
    size_t get_fixed_value_size() const { return _fixed_values.size(); }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE20get_fixed_value_sizeEv
Line
Count
Source
186
1
    size_t get_fixed_value_size() const { return _fixed_values.size(); }
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE20get_fixed_value_sizeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE20get_fixed_value_sizeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE20get_fixed_value_sizeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE20get_fixed_value_sizeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE20get_fixed_value_sizeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE20get_fixed_value_sizeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE20get_fixed_value_sizeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE20get_fixed_value_sizeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE20get_fixed_value_sizeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE20get_fixed_value_sizeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE20get_fixed_value_sizeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE20get_fixed_value_sizeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE20get_fixed_value_sizeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE20get_fixed_value_sizeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE20get_fixed_value_sizeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE20get_fixed_value_sizeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE20get_fixed_value_sizeEv
187
188
5
    void to_olap_filter(std::vector<FilterOlapParam<TCondition>>& filters) {
189
5
        if (is_fixed_value_range()) {
190
            // 1. convert to in filter condition
191
1
            to_in_condition(filters, true);
192
4
        } else if (_low_value < _high_value) {
193
            // 2. convert to min max filter condition
194
2
            TCondition null_pred;
195
2
            if (TYPE_MAX == _high_value && _high_op == FILTER_LESS_OR_EQUAL &&
196
2
                TYPE_MIN == _low_value && _low_op == FILTER_LARGER_OR_EQUAL && _is_nullable_col &&
197
2
                !contain_null()) {
198
1
                null_pred.__set_column_name(_column_name);
199
1
                null_pred.__set_condition_op("is");
200
1
                null_pred.condition_values.emplace_back("not null");
201
1
            }
202
203
2
            if (null_pred.condition_values.size() != 0) {
204
1
                filters.emplace_back(_column_name, null_pred, _runtime_filter_id,
205
1
                                     _predicate_filtered_rows_counter,
206
1
                                     _predicate_input_rows_counter);
207
1
                return;
208
1
            }
209
210
1
            TCondition low;
211
1
            if (TYPE_MIN != _low_value || FILTER_LARGER_OR_EQUAL != _low_op) {
212
1
                low.__set_column_name(_column_name);
213
1
                low.__set_condition_op((_low_op == FILTER_LARGER_OR_EQUAL ? ">=" : ">>"));
214
1
                low.condition_values.push_back(
215
1
                        cast_to_string<primitive_type, CppType>(_low_value, _scale));
216
1
            }
217
218
1
            if (low.condition_values.size() != 0) {
219
1
                filters.emplace_back(_column_name, low, _runtime_filter_id,
220
1
                                     _predicate_filtered_rows_counter,
221
1
                                     _predicate_input_rows_counter);
222
1
            }
223
224
1
            TCondition high;
225
1
            if (TYPE_MAX != _high_value || FILTER_LESS_OR_EQUAL != _high_op) {
226
1
                high.__set_column_name(_column_name);
227
1
                high.__set_condition_op((_high_op == FILTER_LESS_OR_EQUAL ? "<=" : "<<"));
228
1
                high.condition_values.push_back(
229
1
                        cast_to_string<primitive_type, CppType>(_high_value, _scale));
230
1
            }
231
232
1
            if (high.condition_values.size() != 0) {
233
1
                filters.emplace_back(_column_name, high, _runtime_filter_id,
234
1
                                     _predicate_filtered_rows_counter,
235
1
                                     _predicate_input_rows_counter);
236
1
            }
237
2
        } else {
238
            // 3. convert to is null and is not null filter condition
239
2
            TCondition null_pred;
240
2
            if (TYPE_MAX == _low_value && TYPE_MIN == _high_value && _is_nullable_col &&
241
2
                contain_null()) {
242
2
                null_pred.__set_column_name(_column_name);
243
2
                null_pred.__set_condition_op("is");
244
2
                null_pred.condition_values.emplace_back("null");
245
2
            }
246
247
2
            if (null_pred.condition_values.size() != 0) {
248
2
                filters.emplace_back(_column_name, null_pred, _runtime_filter_id,
249
2
                                     _predicate_filtered_rows_counter,
250
2
                                     _predicate_input_rows_counter);
251
2
            }
252
2
        }
253
5
    }
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE14to_olap_filterERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EE
Line
Count
Source
188
4
    void to_olap_filter(std::vector<FilterOlapParam<TCondition>>& filters) {
189
4
        if (is_fixed_value_range()) {
190
            // 1. convert to in filter condition
191
1
            to_in_condition(filters, true);
192
3
        } else if (_low_value < _high_value) {
193
            // 2. convert to min max filter condition
194
2
            TCondition null_pred;
195
2
            if (TYPE_MAX == _high_value && _high_op == FILTER_LESS_OR_EQUAL &&
196
2
                TYPE_MIN == _low_value && _low_op == FILTER_LARGER_OR_EQUAL && _is_nullable_col &&
197
2
                !contain_null()) {
198
1
                null_pred.__set_column_name(_column_name);
199
1
                null_pred.__set_condition_op("is");
200
1
                null_pred.condition_values.emplace_back("not null");
201
1
            }
202
203
2
            if (null_pred.condition_values.size() != 0) {
204
1
                filters.emplace_back(_column_name, null_pred, _runtime_filter_id,
205
1
                                     _predicate_filtered_rows_counter,
206
1
                                     _predicate_input_rows_counter);
207
1
                return;
208
1
            }
209
210
1
            TCondition low;
211
1
            if (TYPE_MIN != _low_value || FILTER_LARGER_OR_EQUAL != _low_op) {
212
1
                low.__set_column_name(_column_name);
213
1
                low.__set_condition_op((_low_op == FILTER_LARGER_OR_EQUAL ? ">=" : ">>"));
214
1
                low.condition_values.push_back(
215
1
                        cast_to_string<primitive_type, CppType>(_low_value, _scale));
216
1
            }
217
218
1
            if (low.condition_values.size() != 0) {
219
1
                filters.emplace_back(_column_name, low, _runtime_filter_id,
220
1
                                     _predicate_filtered_rows_counter,
221
1
                                     _predicate_input_rows_counter);
222
1
            }
223
224
1
            TCondition high;
225
1
            if (TYPE_MAX != _high_value || FILTER_LESS_OR_EQUAL != _high_op) {
226
1
                high.__set_column_name(_column_name);
227
1
                high.__set_condition_op((_high_op == FILTER_LESS_OR_EQUAL ? "<=" : "<<"));
228
1
                high.condition_values.push_back(
229
1
                        cast_to_string<primitive_type, CppType>(_high_value, _scale));
230
1
            }
231
232
1
            if (high.condition_values.size() != 0) {
233
1
                filters.emplace_back(_column_name, high, _runtime_filter_id,
234
1
                                     _predicate_filtered_rows_counter,
235
1
                                     _predicate_input_rows_counter);
236
1
            }
237
1
        } else {
238
            // 3. convert to is null and is not null filter condition
239
1
            TCondition null_pred;
240
1
            if (TYPE_MAX == _low_value && TYPE_MIN == _high_value && _is_nullable_col &&
241
1
                contain_null()) {
242
1
                null_pred.__set_column_name(_column_name);
243
1
                null_pred.__set_condition_op("is");
244
1
                null_pred.condition_values.emplace_back("null");
245
1
            }
246
247
1
            if (null_pred.condition_values.size() != 0) {
248
1
                filters.emplace_back(_column_name, null_pred, _runtime_filter_id,
249
1
                                     _predicate_filtered_rows_counter,
250
1
                                     _predicate_input_rows_counter);
251
1
            }
252
1
        }
253
4
    }
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE14to_olap_filterERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EE
Line
Count
Source
188
1
    void to_olap_filter(std::vector<FilterOlapParam<TCondition>>& filters) {
189
1
        if (is_fixed_value_range()) {
190
            // 1. convert to in filter condition
191
0
            to_in_condition(filters, true);
192
1
        } else if (_low_value < _high_value) {
193
            // 2. convert to min max filter condition
194
0
            TCondition null_pred;
195
0
            if (TYPE_MAX == _high_value && _high_op == FILTER_LESS_OR_EQUAL &&
196
0
                TYPE_MIN == _low_value && _low_op == FILTER_LARGER_OR_EQUAL && _is_nullable_col &&
197
0
                !contain_null()) {
198
0
                null_pred.__set_column_name(_column_name);
199
0
                null_pred.__set_condition_op("is");
200
0
                null_pred.condition_values.emplace_back("not null");
201
0
            }
202
203
0
            if (null_pred.condition_values.size() != 0) {
204
0
                filters.emplace_back(_column_name, null_pred, _runtime_filter_id,
205
0
                                     _predicate_filtered_rows_counter,
206
0
                                     _predicate_input_rows_counter);
207
0
                return;
208
0
            }
209
210
0
            TCondition low;
211
0
            if (TYPE_MIN != _low_value || FILTER_LARGER_OR_EQUAL != _low_op) {
212
0
                low.__set_column_name(_column_name);
213
0
                low.__set_condition_op((_low_op == FILTER_LARGER_OR_EQUAL ? ">=" : ">>"));
214
0
                low.condition_values.push_back(
215
0
                        cast_to_string<primitive_type, CppType>(_low_value, _scale));
216
0
            }
217
218
0
            if (low.condition_values.size() != 0) {
219
0
                filters.emplace_back(_column_name, low, _runtime_filter_id,
220
0
                                     _predicate_filtered_rows_counter,
221
0
                                     _predicate_input_rows_counter);
222
0
            }
223
224
0
            TCondition high;
225
0
            if (TYPE_MAX != _high_value || FILTER_LESS_OR_EQUAL != _high_op) {
226
0
                high.__set_column_name(_column_name);
227
0
                high.__set_condition_op((_high_op == FILTER_LESS_OR_EQUAL ? "<=" : "<<"));
228
0
                high.condition_values.push_back(
229
0
                        cast_to_string<primitive_type, CppType>(_high_value, _scale));
230
0
            }
231
232
0
            if (high.condition_values.size() != 0) {
233
0
                filters.emplace_back(_column_name, high, _runtime_filter_id,
234
0
                                     _predicate_filtered_rows_counter,
235
0
                                     _predicate_input_rows_counter);
236
0
            }
237
1
        } else {
238
            // 3. convert to is null and is not null filter condition
239
1
            TCondition null_pred;
240
1
            if (TYPE_MAX == _low_value && TYPE_MIN == _high_value && _is_nullable_col &&
241
1
                contain_null()) {
242
1
                null_pred.__set_column_name(_column_name);
243
1
                null_pred.__set_condition_op("is");
244
1
                null_pred.condition_values.emplace_back("null");
245
1
            }
246
247
1
            if (null_pred.condition_values.size() != 0) {
248
1
                filters.emplace_back(_column_name, null_pred, _runtime_filter_id,
249
1
                                     _predicate_filtered_rows_counter,
250
1
                                     _predicate_input_rows_counter);
251
1
            }
252
1
        }
253
1
    }
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE14to_olap_filterERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE14to_olap_filterERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE14to_olap_filterERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE14to_olap_filterERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE14to_olap_filterERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE14to_olap_filterERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE14to_olap_filterERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE14to_olap_filterERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE14to_olap_filterERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE14to_olap_filterERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE14to_olap_filterERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE14to_olap_filterERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE14to_olap_filterERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE14to_olap_filterERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE14to_olap_filterERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE14to_olap_filterERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE14to_olap_filterERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE14to_olap_filterERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE14to_olap_filterERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EE
254
255
3
    void to_in_condition(std::vector<FilterOlapParam<TCondition>>& filters, bool is_in = true) {
256
3
        TCondition condition;
257
3
        condition.__set_column_name(_column_name);
258
3
        condition.__set_condition_op(is_in ? "*=" : "!*=");
259
260
6
        for (const auto& value : _fixed_values) {
261
6
            condition.condition_values.push_back(
262
6
                    cast_to_string<primitive_type, CppType>(value, _scale));
263
6
        }
264
265
3
        if (condition.condition_values.size() != 0) {
266
3
            filters.emplace_back(_column_name, condition, _runtime_filter_id,
267
3
                                 _predicate_filtered_rows_counter, _predicate_input_rows_counter);
268
3
        }
269
3
    }
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE15to_in_conditionERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EEb
Line
Count
Source
255
3
    void to_in_condition(std::vector<FilterOlapParam<TCondition>>& filters, bool is_in = true) {
256
3
        TCondition condition;
257
3
        condition.__set_column_name(_column_name);
258
3
        condition.__set_condition_op(is_in ? "*=" : "!*=");
259
260
6
        for (const auto& value : _fixed_values) {
261
6
            condition.condition_values.push_back(
262
6
                    cast_to_string<primitive_type, CppType>(value, _scale));
263
6
        }
264
265
3
        if (condition.condition_values.size() != 0) {
266
3
            filters.emplace_back(_column_name, condition, _runtime_filter_id,
267
3
                                 _predicate_filtered_rows_counter, _predicate_input_rows_counter);
268
3
        }
269
3
    }
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE15to_in_conditionERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EEb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE15to_in_conditionERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EEb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE15to_in_conditionERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EEb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE15to_in_conditionERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EEb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE15to_in_conditionERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EEb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE15to_in_conditionERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EEb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE15to_in_conditionERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EEb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE15to_in_conditionERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EEb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE15to_in_conditionERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EEb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE15to_in_conditionERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EEb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE15to_in_conditionERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EEb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE15to_in_conditionERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EEb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE15to_in_conditionERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EEb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE15to_in_conditionERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EEb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE15to_in_conditionERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EEb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE15to_in_conditionERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EEb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE15to_in_conditionERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EEb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE15to_in_conditionERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EEb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE15to_in_conditionERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EEb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE15to_in_conditionERSt6vectorINS_15FilterOlapParamINS_10TConditionEEESaIS6_EEb
270
271
11
    void set_whole_value_range() {
272
11
        _fixed_values.clear();
273
11
        _low_value = TYPE_MIN;
274
11
        _high_value = TYPE_MAX;
275
11
        _low_op = FILTER_LARGER_OR_EQUAL;
276
11
        _high_op = FILTER_LESS_OR_EQUAL;
277
11
        _contain_null = _is_nullable_col;
278
11
    }
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE21set_whole_value_rangeEv
Line
Count
Source
271
9
    void set_whole_value_range() {
272
9
        _fixed_values.clear();
273
9
        _low_value = TYPE_MIN;
274
9
        _high_value = TYPE_MAX;
275
9
        _low_op = FILTER_LARGER_OR_EQUAL;
276
9
        _high_op = FILTER_LESS_OR_EQUAL;
277
9
        _contain_null = _is_nullable_col;
278
9
    }
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE21set_whole_value_rangeEv
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE21set_whole_value_rangeEv
Line
Count
Source
271
2
    void set_whole_value_range() {
272
2
        _fixed_values.clear();
273
2
        _low_value = TYPE_MIN;
274
2
        _high_value = TYPE_MAX;
275
2
        _low_op = FILTER_LARGER_OR_EQUAL;
276
2
        _high_op = FILTER_LESS_OR_EQUAL;
277
2
        _contain_null = _is_nullable_col;
278
2
    }
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE21set_whole_value_rangeEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE21set_whole_value_rangeEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE21set_whole_value_rangeEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE21set_whole_value_rangeEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE21set_whole_value_rangeEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE21set_whole_value_rangeEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE21set_whole_value_rangeEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE21set_whole_value_rangeEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE21set_whole_value_rangeEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE21set_whole_value_rangeEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE21set_whole_value_rangeEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE21set_whole_value_rangeEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE21set_whole_value_rangeEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE21set_whole_value_rangeEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE21set_whole_value_rangeEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE21set_whole_value_rangeEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE21set_whole_value_rangeEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE21set_whole_value_rangeEv
279
280
20
    bool is_whole_value_range() const {
281
20
        DCHECK(_is_nullable_col || !contain_null())
282
0
                << "Non-nullable column cannot contains null value";
283
284
20
        return _fixed_values.empty() && _low_value == TYPE_MIN && _high_value == TYPE_MAX &&
285
20
               _low_op == FILTER_LARGER_OR_EQUAL && _high_op == FILTER_LESS_OR_EQUAL &&
286
20
               _is_nullable_col == contain_null();
287
20
    }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE20is_whole_value_rangeEv
Line
Count
Source
280
4
    bool is_whole_value_range() const {
281
4
        DCHECK(_is_nullable_col || !contain_null())
282
0
                << "Non-nullable column cannot contains null value";
283
284
4
        return _fixed_values.empty() && _low_value == TYPE_MIN && _high_value == TYPE_MAX &&
285
4
               _low_op == FILTER_LARGER_OR_EQUAL && _high_op == FILTER_LESS_OR_EQUAL &&
286
4
               _is_nullable_col == contain_null();
287
4
    }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE20is_whole_value_rangeEv
Line
Count
Source
280
16
    bool is_whole_value_range() const {
281
16
        DCHECK(_is_nullable_col || !contain_null())
282
0
                << "Non-nullable column cannot contains null value";
283
284
16
        return _fixed_values.empty() && _low_value == TYPE_MIN && _high_value == TYPE_MAX &&
285
16
               _low_op == FILTER_LARGER_OR_EQUAL && _high_op == FILTER_LESS_OR_EQUAL &&
286
16
               _is_nullable_col == contain_null();
287
16
    }
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE20is_whole_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE20is_whole_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE20is_whole_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE20is_whole_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE20is_whole_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE20is_whole_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE20is_whole_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE20is_whole_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE20is_whole_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE20is_whole_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE20is_whole_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE20is_whole_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE20is_whole_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE20is_whole_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE20is_whole_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE20is_whole_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE20is_whole_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE20is_whole_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE20is_whole_value_rangeEv
288
289
    // only two case will set range contain null, call by temp_range in olap scan node
290
    // 'is null' and 'is not null'
291
    // 1. if the pred is 'is null' means the range should be
292
    // empty in fixed_range and _high_value < _low_value
293
    // 2. if the pred is 'is not null' means the range should be whole range and
294
    // 'is not null' be effective
295
13
    void set_contain_null(bool contain_null) {
296
13
        if (contain_null) {
297
10
            set_empty_value_range();
298
10
        } else {
299
3
            set_whole_value_range();
300
3
        }
301
13
        _contain_null = _is_nullable_col && contain_null;
302
13
    }
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE16set_contain_nullEb
Line
Count
Source
295
10
    void set_contain_null(bool contain_null) {
296
10
        if (contain_null) {
297
8
            set_empty_value_range();
298
8
        } else {
299
2
            set_whole_value_range();
300
2
        }
301
10
        _contain_null = _is_nullable_col && contain_null;
302
10
    }
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE16set_contain_nullEb
Line
Count
Source
295
1
    void set_contain_null(bool contain_null) {
296
1
        if (contain_null) {
297
1
            set_empty_value_range();
298
1
        } else {
299
0
            set_whole_value_range();
300
0
        }
301
1
        _contain_null = _is_nullable_col && contain_null;
302
1
    }
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE16set_contain_nullEb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE16set_contain_nullEb
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE16set_contain_nullEb
Line
Count
Source
295
2
    void set_contain_null(bool contain_null) {
296
2
        if (contain_null) {
297
1
            set_empty_value_range();
298
1
        } else {
299
1
            set_whole_value_range();
300
1
        }
301
2
        _contain_null = _is_nullable_col && contain_null;
302
2
    }
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE16set_contain_nullEb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE16set_contain_nullEb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE16set_contain_nullEb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE16set_contain_nullEb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE16set_contain_nullEb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE16set_contain_nullEb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE16set_contain_nullEb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE16set_contain_nullEb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE16set_contain_nullEb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE16set_contain_nullEb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE16set_contain_nullEb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE16set_contain_nullEb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE16set_contain_nullEb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE16set_contain_nullEb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE16set_contain_nullEb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE16set_contain_nullEb
303
304
    void attach_profile_counter(
305
            int runtime_filter_id,
306
            std::shared_ptr<RuntimeProfile::Counter> predicate_filtered_rows_counter,
307
2
            std::shared_ptr<RuntimeProfile::Counter> predicate_input_rows_counter) {
308
2
        DCHECK(predicate_filtered_rows_counter != nullptr);
309
2
        DCHECK(predicate_input_rows_counter != nullptr);
310
311
2
        _runtime_filter_id = runtime_filter_id;
312
313
2
        if (predicate_filtered_rows_counter != nullptr) {
314
2
            _predicate_filtered_rows_counter = predicate_filtered_rows_counter;
315
2
        }
316
2
        if (predicate_input_rows_counter != nullptr) {
317
2
            _predicate_input_rows_counter = predicate_input_rows_counter;
318
2
        }
319
2
    }
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE22attach_profile_counterEiSt10shared_ptrINS_14RuntimeProfile7CounterEES6_
Line
Count
Source
307
2
            std::shared_ptr<RuntimeProfile::Counter> predicate_input_rows_counter) {
308
2
        DCHECK(predicate_filtered_rows_counter != nullptr);
309
2
        DCHECK(predicate_input_rows_counter != nullptr);
310
311
2
        _runtime_filter_id = runtime_filter_id;
312
313
2
        if (predicate_filtered_rows_counter != nullptr) {
314
2
            _predicate_filtered_rows_counter = predicate_filtered_rows_counter;
315
2
        }
316
2
        if (predicate_input_rows_counter != nullptr) {
317
2
            _predicate_input_rows_counter = predicate_input_rows_counter;
318
2
        }
319
2
    }
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE22attach_profile_counterEiSt10shared_ptrINS_14RuntimeProfile7CounterEES6_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE22attach_profile_counterEiSt10shared_ptrINS_14RuntimeProfile7CounterEES6_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE22attach_profile_counterEiSt10shared_ptrINS_14RuntimeProfile7CounterEES6_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE22attach_profile_counterEiSt10shared_ptrINS_14RuntimeProfile7CounterEES6_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE22attach_profile_counterEiSt10shared_ptrINS_14RuntimeProfile7CounterEES6_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE22attach_profile_counterEiSt10shared_ptrINS_14RuntimeProfile7CounterEES6_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE22attach_profile_counterEiSt10shared_ptrINS_14RuntimeProfile7CounterEES6_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE22attach_profile_counterEiSt10shared_ptrINS_14RuntimeProfile7CounterEES6_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE22attach_profile_counterEiSt10shared_ptrINS_14RuntimeProfile7CounterEES6_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE22attach_profile_counterEiSt10shared_ptrINS_14RuntimeProfile7CounterEES6_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE22attach_profile_counterEiSt10shared_ptrINS_14RuntimeProfile7CounterEES6_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE22attach_profile_counterEiSt10shared_ptrINS_14RuntimeProfile7CounterEES6_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE22attach_profile_counterEiSt10shared_ptrINS_14RuntimeProfile7CounterEES6_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE22attach_profile_counterEiSt10shared_ptrINS_14RuntimeProfile7CounterEES6_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE22attach_profile_counterEiSt10shared_ptrINS_14RuntimeProfile7CounterEES6_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE22attach_profile_counterEiSt10shared_ptrINS_14RuntimeProfile7CounterEES6_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE22attach_profile_counterEiSt10shared_ptrINS_14RuntimeProfile7CounterEES6_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE22attach_profile_counterEiSt10shared_ptrINS_14RuntimeProfile7CounterEES6_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE22attach_profile_counterEiSt10shared_ptrINS_14RuntimeProfile7CounterEES6_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE22attach_profile_counterEiSt10shared_ptrINS_14RuntimeProfile7CounterEES6_
320
321
31
    int precision() const { return _precision; }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE9precisionEv
Line
Count
Source
321
2
    int precision() const { return _precision; }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE9precisionEv
Line
Count
Source
321
3
    int precision() const { return _precision; }
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE9precisionEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE9precisionEv
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE9precisionEv
Line
Count
Source
321
26
    int precision() const { return _precision; }
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE9precisionEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE9precisionEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE9precisionEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE9precisionEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE9precisionEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE9precisionEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE9precisionEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE9precisionEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE9precisionEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE9precisionEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE9precisionEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE9precisionEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE9precisionEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE9precisionEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE9precisionEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE9precisionEv
322
323
111
    int scale() const { return _scale; }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE5scaleEv
Line
Count
Source
323
2
    int scale() const { return _scale; }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE5scaleEv
Line
Count
Source
323
81
    int scale() const { return _scale; }
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE5scaleEv
Line
Count
Source
323
2
    int scale() const { return _scale; }
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE5scaleEv
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE5scaleEv
Line
Count
Source
323
26
    int scale() const { return _scale; }
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE5scaleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE5scaleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE5scaleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE5scaleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE5scaleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE5scaleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE5scaleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE5scaleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE5scaleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE5scaleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE5scaleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE5scaleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE5scaleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE5scaleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE5scaleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE5scaleEv
324
325
18
    static void add_fixed_value_range(ColumnValueRange<primitive_type>& range, CppType* value) {
326
18
        static_cast<void>(range.add_fixed_value(*value));
327
18
    }
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE21add_fixed_value_rangeERS2_Pi
Line
Count
Source
325
2
    static void add_fixed_value_range(ColumnValueRange<primitive_type>& range, CppType* value) {
326
2
        static_cast<void>(range.add_fixed_value(*value));
327
2
    }
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE21add_fixed_value_rangeERS2_Pa
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE21add_fixed_value_rangeERS2_Ps
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE21add_fixed_value_rangeERS2_Pl
Line
Count
Source
325
16
    static void add_fixed_value_range(ColumnValueRange<primitive_type>& range, CppType* value) {
326
16
        static_cast<void>(range.add_fixed_value(*value));
327
16
    }
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE21add_fixed_value_rangeERS2_Pn
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE21add_fixed_value_rangeERS2_Pj
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE21add_fixed_value_rangeERS2_Po
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE21add_fixed_value_rangeERS2_PNS_9StringRefE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE21add_fixed_value_rangeERS2_PNS_9StringRefE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE21add_fixed_value_rangeERS2_PNS_9StringRefE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE21add_fixed_value_rangeERS2_PNS_16VecDateTimeValueE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE21add_fixed_value_rangeERS2_PNS_11DateV2ValueINS_15DateV2ValueTypeEEE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE21add_fixed_value_rangeERS2_PNS_16VecDateTimeValueE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE21add_fixed_value_rangeERS2_PNS_11DateV2ValueINS_19DateTimeV2ValueTypeEEE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE21add_fixed_value_rangeERS2_PNS_14DecimalV2ValueE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE21add_fixed_value_rangeERS2_Pb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE21add_fixed_value_rangeERS2_PNS_9StringRefE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE21add_fixed_value_rangeERS2_PNS_10vectorized7DecimalIiEE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE21add_fixed_value_rangeERS2_PNS_10vectorized7DecimalIlEE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE21add_fixed_value_rangeERS2_PNS_10vectorized12Decimal128V3E
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE21add_fixed_value_rangeERS2_PNS_10vectorized7DecimalIN4wide7integerILm256EiEEEE
328
329
5
    static void remove_fixed_value_range(ColumnValueRange<primitive_type>& range, CppType* value) {
330
5
        range.remove_fixed_value(*value);
331
5
    }
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE24remove_fixed_value_rangeERS2_Pi
Line
Count
Source
329
2
    static void remove_fixed_value_range(ColumnValueRange<primitive_type>& range, CppType* value) {
330
2
        range.remove_fixed_value(*value);
331
2
    }
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE24remove_fixed_value_rangeERS2_Pa
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE24remove_fixed_value_rangeERS2_Ps
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE24remove_fixed_value_rangeERS2_Pl
Line
Count
Source
329
3
    static void remove_fixed_value_range(ColumnValueRange<primitive_type>& range, CppType* value) {
330
3
        range.remove_fixed_value(*value);
331
3
    }
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE24remove_fixed_value_rangeERS2_Pn
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE24remove_fixed_value_rangeERS2_Pj
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE24remove_fixed_value_rangeERS2_Po
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE24remove_fixed_value_rangeERS2_PNS_9StringRefE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE24remove_fixed_value_rangeERS2_PNS_9StringRefE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE24remove_fixed_value_rangeERS2_PNS_9StringRefE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE24remove_fixed_value_rangeERS2_PNS_16VecDateTimeValueE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE24remove_fixed_value_rangeERS2_PNS_11DateV2ValueINS_15DateV2ValueTypeEEE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE24remove_fixed_value_rangeERS2_PNS_16VecDateTimeValueE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE24remove_fixed_value_rangeERS2_PNS_11DateV2ValueINS_19DateTimeV2ValueTypeEEE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE24remove_fixed_value_rangeERS2_PNS_14DecimalV2ValueE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE24remove_fixed_value_rangeERS2_Pb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE24remove_fixed_value_rangeERS2_PNS_9StringRefE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE24remove_fixed_value_rangeERS2_PNS_10vectorized7DecimalIiEE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE24remove_fixed_value_rangeERS2_PNS_10vectorized7DecimalIlEE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE24remove_fixed_value_rangeERS2_PNS_10vectorized12Decimal128V3E
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE24remove_fixed_value_rangeERS2_PNS_10vectorized7DecimalIN4wide7integerILm256EiEEEE
332
333
    static void add_value_range(ColumnValueRange<primitive_type>& range, SQLFilterOp op,
334
4
                                CppType* value) {
335
4
        static_cast<void>(range.add_range(op, *value));
336
4
    }
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE15add_value_rangeERS2_NS_11SQLFilterOpEPi
Line
Count
Source
334
2
                                CppType* value) {
335
2
        static_cast<void>(range.add_range(op, *value));
336
2
    }
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE15add_value_rangeERS2_NS_11SQLFilterOpEPa
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE15add_value_rangeERS2_NS_11SQLFilterOpEPs
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE15add_value_rangeERS2_NS_11SQLFilterOpEPl
Line
Count
Source
334
2
                                CppType* value) {
335
2
        static_cast<void>(range.add_range(op, *value));
336
2
    }
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE15add_value_rangeERS2_NS_11SQLFilterOpEPn
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE15add_value_rangeERS2_NS_11SQLFilterOpEPj
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE15add_value_rangeERS2_NS_11SQLFilterOpEPo
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE15add_value_rangeERS2_NS_11SQLFilterOpEPNS_9StringRefE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE15add_value_rangeERS2_NS_11SQLFilterOpEPNS_9StringRefE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE15add_value_rangeERS2_NS_11SQLFilterOpEPNS_9StringRefE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE15add_value_rangeERS2_NS_11SQLFilterOpEPNS_16VecDateTimeValueE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE15add_value_rangeERS2_NS_11SQLFilterOpEPNS_11DateV2ValueINS_15DateV2ValueTypeEEE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE15add_value_rangeERS2_NS_11SQLFilterOpEPNS_16VecDateTimeValueE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE15add_value_rangeERS2_NS_11SQLFilterOpEPNS_11DateV2ValueINS_19DateTimeV2ValueTypeEEE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE15add_value_rangeERS2_NS_11SQLFilterOpEPNS_14DecimalV2ValueE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE15add_value_rangeERS2_NS_11SQLFilterOpEPb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE15add_value_rangeERS2_NS_11SQLFilterOpEPNS_9StringRefE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE15add_value_rangeERS2_NS_11SQLFilterOpEPNS_10vectorized7DecimalIiEE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE15add_value_rangeERS2_NS_11SQLFilterOpEPNS_10vectorized7DecimalIlEE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE15add_value_rangeERS2_NS_11SQLFilterOpEPNS_10vectorized12Decimal128V3E
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE15add_value_rangeERS2_NS_11SQLFilterOpEPNS_10vectorized7DecimalIN4wide7integerILm256EiEEEE
337
338
    static ColumnValueRange<primitive_type> create_empty_column_value_range(bool is_nullable_col,
339
                                                                            int precision,
340
21
                                                                            int scale) {
341
21
        return ColumnValueRange<primitive_type>::create_empty_column_value_range(
342
21
                "", is_nullable_col, precision, scale);
343
21
    }
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE31create_empty_column_value_rangeEbii
Line
Count
Source
340
2
                                                                            int scale) {
341
2
        return ColumnValueRange<primitive_type>::create_empty_column_value_range(
342
2
                "", is_nullable_col, precision, scale);
343
2
    }
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE31create_empty_column_value_rangeEbii
Line
Count
Source
340
2
                                                                            int scale) {
341
2
        return ColumnValueRange<primitive_type>::create_empty_column_value_range(
342
2
                "", is_nullable_col, precision, scale);
343
2
    }
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE31create_empty_column_value_rangeEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE31create_empty_column_value_rangeEbii
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE31create_empty_column_value_rangeEbii
Line
Count
Source
340
17
                                                                            int scale) {
341
17
        return ColumnValueRange<primitive_type>::create_empty_column_value_range(
342
17
                "", is_nullable_col, precision, scale);
343
17
    }
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE31create_empty_column_value_rangeEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE31create_empty_column_value_rangeEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE31create_empty_column_value_rangeEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE31create_empty_column_value_rangeEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE31create_empty_column_value_rangeEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE31create_empty_column_value_rangeEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE31create_empty_column_value_rangeEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE31create_empty_column_value_rangeEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE31create_empty_column_value_rangeEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE31create_empty_column_value_rangeEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE31create_empty_column_value_rangeEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE31create_empty_column_value_rangeEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE31create_empty_column_value_rangeEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE31create_empty_column_value_rangeEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE31create_empty_column_value_rangeEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE31create_empty_column_value_rangeEbii
344
345
    static ColumnValueRange<primitive_type> create_empty_column_value_range(
346
32
            const std::string& col_name, bool is_nullable_col, int precision, int scale) {
347
32
        return ColumnValueRange<primitive_type>(col_name, TYPE_MAX, TYPE_MIN, is_nullable_col,
348
32
                                                false, precision, scale);
349
32
    }
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE31create_empty_column_value_rangeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Line
Count
Source
346
2
            const std::string& col_name, bool is_nullable_col, int precision, int scale) {
347
2
        return ColumnValueRange<primitive_type>(col_name, TYPE_MAX, TYPE_MIN, is_nullable_col,
348
2
                                                false, precision, scale);
349
2
    }
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE31create_empty_column_value_rangeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Line
Count
Source
346
4
            const std::string& col_name, bool is_nullable_col, int precision, int scale) {
347
4
        return ColumnValueRange<primitive_type>(col_name, TYPE_MAX, TYPE_MIN, is_nullable_col,
348
4
                                                false, precision, scale);
349
4
    }
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE31create_empty_column_value_rangeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE31create_empty_column_value_rangeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE31create_empty_column_value_rangeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Line
Count
Source
346
26
            const std::string& col_name, bool is_nullable_col, int precision, int scale) {
347
26
        return ColumnValueRange<primitive_type>(col_name, TYPE_MAX, TYPE_MIN, is_nullable_col,
348
26
                                                false, precision, scale);
349
26
    }
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE31create_empty_column_value_rangeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE31create_empty_column_value_rangeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE31create_empty_column_value_rangeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE31create_empty_column_value_rangeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE31create_empty_column_value_rangeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE31create_empty_column_value_rangeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE31create_empty_column_value_rangeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE31create_empty_column_value_rangeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE31create_empty_column_value_rangeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE31create_empty_column_value_rangeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE31create_empty_column_value_rangeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE31create_empty_column_value_rangeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE31create_empty_column_value_rangeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE31create_empty_column_value_rangeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE31create_empty_column_value_rangeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE31create_empty_column_value_rangeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
350
351
protected:
352
    bool is_in_range(const CppType& value);
353
354
private:
355
    const static CppType TYPE_MIN; // Column type's min value
356
    const static CppType TYPE_MAX; // Column type's max value
357
358
    std::string _column_name;
359
    PrimitiveType _column_type; // Column type (eg: TINYINT,SMALLINT,INT,BIGINT)
360
    CppType _low_value;         // Column's low value, closed interval at left
361
    CppType _high_value;        // Column's high value, open interval at right
362
    SQLFilterOp _low_op;
363
    SQLFilterOp _high_op;
364
    std::set<CppType> _fixed_values; // Column's fixed int value
365
366
    bool _is_nullable_col;
367
    bool _contain_null;
368
    int _precision;
369
    int _scale;
370
371
    static constexpr bool _is_reject_split_type = primitive_type == PrimitiveType::TYPE_LARGEINT ||
372
                                                  primitive_type == PrimitiveType::TYPE_DECIMALV2 ||
373
                                                  primitive_type == PrimitiveType::TYPE_HLL ||
374
                                                  primitive_type == PrimitiveType::TYPE_VARCHAR ||
375
                                                  primitive_type == PrimitiveType::TYPE_CHAR ||
376
                                                  primitive_type == PrimitiveType::TYPE_STRING ||
377
                                                  primitive_type == PrimitiveType::TYPE_BOOLEAN ||
378
                                                  primitive_type == PrimitiveType::TYPE_DATETIME ||
379
                                                  primitive_type == PrimitiveType::TYPE_DATETIMEV2;
380
381
    int _runtime_filter_id = -1;
382
383
    std::shared_ptr<RuntimeProfile::Counter> _predicate_filtered_rows_counter =
384
            std::make_shared<RuntimeProfile::Counter>(TUnit::UNIT, 0);
385
    std::shared_ptr<RuntimeProfile::Counter> _predicate_input_rows_counter =
386
            std::make_shared<RuntimeProfile::Counter>(TUnit::UNIT, 0);
387
};
388
389
class OlapScanKeys {
390
public:
391
    OlapScanKeys()
392
            : _has_range_value(false),
393
              _begin_include(true),
394
              _end_include(true),
395
24
              _is_convertible(true) {}
396
397
    template <PrimitiveType primitive_type>
398
    Status extend_scan_key(ColumnValueRange<primitive_type>& range, int32_t max_scan_key_num,
399
                           bool* exact_value, bool* eos, bool* should_break);
400
401
    Status get_key_range(std::vector<std::unique_ptr<OlapScanRange>>* key_range);
402
403
6
    bool has_range_value() const { return _has_range_value; }
404
405
3
    void clear() {
406
3
        _has_range_value = false;
407
3
        _begin_scan_keys.clear();
408
3
        _end_scan_keys.clear();
409
3
    }
410
411
2
    std::string debug_string() {
412
2
        std::stringstream ss;
413
2
        DCHECK(_begin_scan_keys.size() == _end_scan_keys.size());
414
2
        ss << "ScanKeys:";
415
416
3
        for (int i = 0; i < _begin_scan_keys.size(); ++i) {
417
1
            ss << "ScanKey=" << (_begin_include ? "[" : "(") << _begin_scan_keys[i] << " : "
418
1
               << _end_scan_keys[i] << (_end_include ? "]" : ")");
419
1
        }
420
2
        return ss.str();
421
2
    }
422
423
7
    size_t size() {
424
7
        DCHECK(_begin_scan_keys.size() == _end_scan_keys.size());
425
7
        return _begin_scan_keys.size();
426
7
    }
427
428
2
    void set_begin_include(bool begin_include) { _begin_include = begin_include; }
429
430
2
    bool begin_include() const { return _begin_include; }
431
432
2
    void set_end_include(bool end_include) { _end_include = end_include; }
433
434
2
    bool end_include() const { return _end_include; }
435
436
2
    void set_is_convertible(bool is_convertible) { _is_convertible = is_convertible; }
437
438
    // now, only use in UT
439
2
    static std::string to_print_key(const OlapTuple& scan_keys) {
440
2
        std::stringstream sstream;
441
2
        sstream << scan_keys;
442
2
        return sstream.str();
443
2
    }
444
445
private:
446
    std::vector<OlapTuple> _begin_scan_keys;
447
    std::vector<OlapTuple> _end_scan_keys;
448
    bool _has_range_value;
449
    bool _begin_include;
450
    bool _end_include;
451
    bool _is_convertible;
452
};
453
454
using ColumnValueRangeType = std::variant<
455
        ColumnValueRange<TYPE_TINYINT>, ColumnValueRange<TYPE_SMALLINT>, ColumnValueRange<TYPE_INT>,
456
        ColumnValueRange<TYPE_BIGINT>, ColumnValueRange<TYPE_LARGEINT>, ColumnValueRange<TYPE_IPV4>,
457
        ColumnValueRange<TYPE_IPV6>, ColumnValueRange<TYPE_CHAR>, ColumnValueRange<TYPE_VARCHAR>,
458
        ColumnValueRange<TYPE_STRING>, ColumnValueRange<TYPE_DATE>, ColumnValueRange<TYPE_DATEV2>,
459
        ColumnValueRange<TYPE_DATETIME>, ColumnValueRange<TYPE_DATETIMEV2>,
460
        ColumnValueRange<TYPE_DECIMALV2>, ColumnValueRange<TYPE_BOOLEAN>,
461
        ColumnValueRange<TYPE_HLL>, ColumnValueRange<TYPE_DECIMAL32>,
462
        ColumnValueRange<TYPE_DECIMAL64>, ColumnValueRange<TYPE_DECIMAL128I>,
463
        ColumnValueRange<TYPE_DECIMAL256>>;
464
465
template <PrimitiveType primitive_type>
466
const typename ColumnValueRange<primitive_type>::CppType
467
        ColumnValueRange<primitive_type>::TYPE_MIN =
468
                type_limit<typename ColumnValueRange<primitive_type>::CppType>::min();
469
template <PrimitiveType primitive_type>
470
const typename ColumnValueRange<primitive_type>::CppType
471
        ColumnValueRange<primitive_type>::TYPE_MAX =
472
                type_limit<typename ColumnValueRange<primitive_type>::CppType>::max();
473
474
template <PrimitiveType primitive_type>
475
ColumnValueRange<primitive_type>::ColumnValueRange()
476
25
        : _column_type(INVALID_TYPE), _precision(-1), _scale(-1) {}
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EEC2Ev
Line
Count
Source
476
1
        : _column_type(INVALID_TYPE), _precision(-1), _scale(-1) {}
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EEC2Ev
Line
Count
Source
476
2
        : _column_type(INVALID_TYPE), _precision(-1), _scale(-1) {}
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EEC2Ev
Line
Count
Source
476
22
        : _column_type(INVALID_TYPE), _precision(-1), _scale(-1) {}
477
478
template <PrimitiveType primitive_type>
479
ColumnValueRange<primitive_type>::ColumnValueRange(std::string col_name)
480
31
        : ColumnValueRange(std::move(col_name), TYPE_MIN, TYPE_MAX, true) {}
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
Line
Count
Source
480
19
        : ColumnValueRange(std::move(col_name), TYPE_MIN, TYPE_MAX, true) {}
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
Line
Count
Source
480
1
        : ColumnValueRange(std::move(col_name), TYPE_MIN, TYPE_MAX, true) {}
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
Line
Count
Source
480
4
        : ColumnValueRange(std::move(col_name), TYPE_MIN, TYPE_MAX, true) {}
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
Line
Count
Source
480
3
        : ColumnValueRange(std::move(col_name), TYPE_MIN, TYPE_MAX, true) {}
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
Line
Count
Source
480
4
        : ColumnValueRange(std::move(col_name), TYPE_MIN, TYPE_MAX, true) {}
481
482
template <PrimitiveType primitive_type>
483
ColumnValueRange<primitive_type>::ColumnValueRange(std::string col_name, const CppType& min,
484
                                                   const CppType& max, bool contain_null)
485
        : _column_name(std::move(col_name)),
486
          _column_type(primitive_type),
487
          _low_value(min),
488
          _high_value(max),
489
          _low_op(FILTER_LARGER_OR_EQUAL),
490
          _high_op(FILTER_LESS_OR_EQUAL),
491
          _is_nullable_col(true),
492
          _contain_null(contain_null),
493
          _precision(-1),
494
116
          _scale(-1) {}
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKiSA_b
Line
Count
Source
494
103
          _scale(-1) {}
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKlSA_b
Line
Count
Source
494
2
          _scale(-1) {}
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKaSA_b
Line
Count
Source
494
4
          _scale(-1) {}
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKbSA_b
Line
Count
Source
494
3
          _scale(-1) {}
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKsSA_b
Line
Count
Source
494
4
          _scale(-1) {}
495
496
template <PrimitiveType primitive_type>
497
ColumnValueRange<primitive_type>::ColumnValueRange(std::string col_name, const CppType& min,
498
                                                   const CppType& max, bool is_nullable_col,
499
                                                   bool contain_null, int precision, int scale)
500
        : _column_name(std::move(col_name)),
501
          _column_type(primitive_type),
502
          _low_value(min),
503
          _high_value(max),
504
          _low_op(FILTER_LARGER_OR_EQUAL),
505
          _high_op(FILTER_LESS_OR_EQUAL),
506
          _is_nullable_col(is_nullable_col),
507
          _contain_null(is_nullable_col && contain_null),
508
          _precision(precision),
509
50
          _scale(scale) {}
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKbSA_bbii
Line
Count
Source
509
3
          _scale(scale) {}
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_10vectorized7DecimalIiEESD_bbii
Line
Count
Source
509
3
          _scale(scale) {}
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKiSA_bbii
Line
Count
Source
509
4
          _scale(scale) {}
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKlSA_bbii
Line
Count
Source
509
40
          _scale(scale) {}
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKaSA_bbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKsSA_bbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKnSA_bbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_9StringRefESB_bbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_16VecDateTimeValueESB_bbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_16VecDateTimeValueESB_bbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_11DateV2ValueINS_15DateV2ValueTypeEEESD_bbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_11DateV2ValueINS_19DateTimeV2ValueTypeEEESD_bbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_9StringRefESB_bbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_9StringRefESB_bbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_9StringRefESB_bbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_10vectorized7DecimalIlEESD_bbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_10vectorized12Decimal128V3ESC_bbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_10vectorized7DecimalIN4wide7integerILm256EiEEEESG_bbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_14DecimalV2ValueESB_bbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKjSA_bbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKoSA_bbii
510
511
template <PrimitiveType primitive_type>
512
ColumnValueRange<primitive_type>::ColumnValueRange(std::string col_name, int precision, int scale)
513
1
        : ColumnValueRange(std::move(col_name), TYPE_MIN, TYPE_MAX, true, true, precision, scale) {}
514
515
template <PrimitiveType primitive_type>
516
ColumnValueRange<primitive_type>::ColumnValueRange(std::string col_name, bool is_nullable_col,
517
                                                   int precision, int scale)
518
        : ColumnValueRange(std::move(col_name), TYPE_MIN, TYPE_MAX, is_nullable_col,
519
17
                           is_nullable_col, precision, scale) {}
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Line
Count
Source
519
2
                           is_nullable_col, precision, scale) {}
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Line
Count
Source
519
1
                           is_nullable_col, precision, scale) {}
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Line
Count
Source
519
14
                           is_nullable_col, precision, scale) {}
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbii
520
521
template <PrimitiveType primitive_type>
522
90
Status ColumnValueRange<primitive_type>::add_fixed_value(const CppType& value) {
523
90
    if (INVALID_TYPE == _column_type) {
524
1
        return Status::InternalError("AddFixedValue failed, Invalid type");
525
1
    }
526
527
89
    _fixed_values.insert(value);
528
89
    _contain_null = false;
529
530
89
    _high_value = TYPE_MIN;
531
89
    _low_value = TYPE_MAX;
532
533
89
    return Status::OK();
534
90
}
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE15add_fixed_valueERKl
Line
Count
Source
522
34
Status ColumnValueRange<primitive_type>::add_fixed_value(const CppType& value) {
523
34
    if (INVALID_TYPE == _column_type) {
524
1
        return Status::InternalError("AddFixedValue failed, Invalid type");
525
1
    }
526
527
33
    _fixed_values.insert(value);
528
33
    _contain_null = false;
529
530
33
    _high_value = TYPE_MIN;
531
33
    _low_value = TYPE_MAX;
532
533
33
    return Status::OK();
534
34
}
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE15add_fixed_valueERKi
Line
Count
Source
522
52
Status ColumnValueRange<primitive_type>::add_fixed_value(const CppType& value) {
523
52
    if (INVALID_TYPE == _column_type) {
524
0
        return Status::InternalError("AddFixedValue failed, Invalid type");
525
0
    }
526
527
52
    _fixed_values.insert(value);
528
52
    _contain_null = false;
529
530
52
    _high_value = TYPE_MIN;
531
52
    _low_value = TYPE_MAX;
532
533
52
    return Status::OK();
534
52
}
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE15add_fixed_valueERKb
Line
Count
Source
522
2
Status ColumnValueRange<primitive_type>::add_fixed_value(const CppType& value) {
523
2
    if (INVALID_TYPE == _column_type) {
524
0
        return Status::InternalError("AddFixedValue failed, Invalid type");
525
0
    }
526
527
2
    _fixed_values.insert(value);
528
2
    _contain_null = false;
529
530
2
    _high_value = TYPE_MIN;
531
2
    _low_value = TYPE_MAX;
532
533
2
    return Status::OK();
534
2
}
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE15add_fixed_valueERKNS_10vectorized7DecimalIiEE
Line
Count
Source
522
1
Status ColumnValueRange<primitive_type>::add_fixed_value(const CppType& value) {
523
1
    if (INVALID_TYPE == _column_type) {
524
0
        return Status::InternalError("AddFixedValue failed, Invalid type");
525
0
    }
526
527
1
    _fixed_values.insert(value);
528
1
    _contain_null = false;
529
530
1
    _high_value = TYPE_MIN;
531
1
    _low_value = TYPE_MAX;
532
533
1
    return Status::OK();
534
1
}
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE15add_fixed_valueERKa
Line
Count
Source
522
1
Status ColumnValueRange<primitive_type>::add_fixed_value(const CppType& value) {
523
1
    if (INVALID_TYPE == _column_type) {
524
0
        return Status::InternalError("AddFixedValue failed, Invalid type");
525
0
    }
526
527
1
    _fixed_values.insert(value);
528
1
    _contain_null = false;
529
530
1
    _high_value = TYPE_MIN;
531
1
    _low_value = TYPE_MAX;
532
533
1
    return Status::OK();
534
1
}
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE15add_fixed_valueERKs
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE15add_fixed_valueERKn
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE15add_fixed_valueERKj
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE15add_fixed_valueERKo
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE15add_fixed_valueERKNS_9StringRefE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE15add_fixed_valueERKNS_9StringRefE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE15add_fixed_valueERKNS_9StringRefE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE15add_fixed_valueERKNS_16VecDateTimeValueE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE15add_fixed_valueERKNS_11DateV2ValueINS_15DateV2ValueTypeEEE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE15add_fixed_valueERKNS_16VecDateTimeValueE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE15add_fixed_valueERKNS_11DateV2ValueINS_19DateTimeV2ValueTypeEEE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE15add_fixed_valueERKNS_14DecimalV2ValueE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE15add_fixed_valueERKNS_9StringRefE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE15add_fixed_valueERKNS_10vectorized7DecimalIlEE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE15add_fixed_valueERKNS_10vectorized12Decimal128V3E
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE15add_fixed_valueERKNS_10vectorized7DecimalIN4wide7integerILm256EiEEEE
535
536
template <PrimitiveType primitive_type>
537
7
void ColumnValueRange<primitive_type>::remove_fixed_value(const CppType& value) {
538
7
    _fixed_values.erase(value);
539
7
}
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE18remove_fixed_valueERKi
Line
Count
Source
537
4
void ColumnValueRange<primitive_type>::remove_fixed_value(const CppType& value) {
538
4
    _fixed_values.erase(value);
539
4
}
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE18remove_fixed_valueERKa
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE18remove_fixed_valueERKs
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE18remove_fixed_valueERKl
Line
Count
Source
537
3
void ColumnValueRange<primitive_type>::remove_fixed_value(const CppType& value) {
538
3
    _fixed_values.erase(value);
539
3
}
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE18remove_fixed_valueERKn
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE18remove_fixed_valueERKj
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE18remove_fixed_valueERKo
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE18remove_fixed_valueERKNS_9StringRefE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE18remove_fixed_valueERKNS_9StringRefE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE18remove_fixed_valueERKNS_9StringRefE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE18remove_fixed_valueERKNS_16VecDateTimeValueE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE18remove_fixed_valueERKNS_11DateV2ValueINS_15DateV2ValueTypeEEE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE18remove_fixed_valueERKNS_16VecDateTimeValueE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE18remove_fixed_valueERKNS_11DateV2ValueINS_19DateTimeV2ValueTypeEEE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE18remove_fixed_valueERKNS_14DecimalV2ValueE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE18remove_fixed_valueERKb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE18remove_fixed_valueERKNS_9StringRefE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE18remove_fixed_valueERKNS_10vectorized7DecimalIiEE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE18remove_fixed_valueERKNS_10vectorized7DecimalIlEE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE18remove_fixed_valueERKNS_10vectorized12Decimal128V3E
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE18remove_fixed_valueERKNS_10vectorized7DecimalIN4wide7integerILm256EiEEEE
540
541
template <PrimitiveType primitive_type>
542
296
bool ColumnValueRange<primitive_type>::is_fixed_value_range() const {
543
296
    return _fixed_values.size() != 0;
544
296
}
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE20is_fixed_value_rangeEv
Line
Count
Source
542
62
bool ColumnValueRange<primitive_type>::is_fixed_value_range() const {
543
62
    return _fixed_values.size() != 0;
544
62
}
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE20is_fixed_value_rangeEv
Line
Count
Source
542
225
bool ColumnValueRange<primitive_type>::is_fixed_value_range() const {
543
225
    return _fixed_values.size() != 0;
544
225
}
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE20is_fixed_value_rangeEv
Line
Count
Source
542
4
bool ColumnValueRange<primitive_type>::is_fixed_value_range() const {
543
4
    return _fixed_values.size() != 0;
544
4
}
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE20is_fixed_value_rangeEv
Line
Count
Source
542
2
bool ColumnValueRange<primitive_type>::is_fixed_value_range() const {
543
2
    return _fixed_values.size() != 0;
544
2
}
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE20is_fixed_value_rangeEv
Line
Count
Source
542
3
bool ColumnValueRange<primitive_type>::is_fixed_value_range() const {
543
3
    return _fixed_values.size() != 0;
544
3
}
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE20is_fixed_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE20is_fixed_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE20is_fixed_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE20is_fixed_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE20is_fixed_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE20is_fixed_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE20is_fixed_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE20is_fixed_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE20is_fixed_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE20is_fixed_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE20is_fixed_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE20is_fixed_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE20is_fixed_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE20is_fixed_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE20is_fixed_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE20is_fixed_value_rangeEv
545
546
template <PrimitiveType primitive_type>
547
70
bool ColumnValueRange<primitive_type>::is_scope_value_range() const {
548
70
    return _high_value > _low_value;
549
70
}
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE20is_scope_value_rangeEv
Line
Count
Source
547
7
bool ColumnValueRange<primitive_type>::is_scope_value_range() const {
548
7
    return _high_value > _low_value;
549
7
}
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE20is_scope_value_rangeEv
Line
Count
Source
547
63
bool ColumnValueRange<primitive_type>::is_scope_value_range() const {
548
63
    return _high_value > _low_value;
549
63
}
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE20is_scope_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE20is_scope_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE20is_scope_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE20is_scope_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE20is_scope_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE20is_scope_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE20is_scope_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE20is_scope_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE20is_scope_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE20is_scope_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE20is_scope_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE20is_scope_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE20is_scope_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE20is_scope_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE20is_scope_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE20is_scope_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE20is_scope_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE20is_scope_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE20is_scope_value_rangeEv
550
551
template <PrimitiveType primitive_type>
552
92
bool ColumnValueRange<primitive_type>::is_empty_value_range() const {
553
92
    if (INVALID_TYPE == _column_type) {
554
1
        return true;
555
1
    }
556
557
91
    return (!is_fixed_value_range() && !is_scope_value_range() && !contain_null());
558
92
}
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE20is_empty_value_rangeEv
Line
Count
Source
552
16
bool ColumnValueRange<primitive_type>::is_empty_value_range() const {
553
16
    if (INVALID_TYPE == _column_type) {
554
1
        return true;
555
1
    }
556
557
15
    return (!is_fixed_value_range() && !is_scope_value_range() && !contain_null());
558
16
}
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE20is_empty_value_rangeEv
Line
Count
Source
552
75
bool ColumnValueRange<primitive_type>::is_empty_value_range() const {
553
75
    if (INVALID_TYPE == _column_type) {
554
0
        return true;
555
0
    }
556
557
75
    return (!is_fixed_value_range() && !is_scope_value_range() && !contain_null());
558
75
}
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE20is_empty_value_rangeEv
Line
Count
Source
552
1
bool ColumnValueRange<primitive_type>::is_empty_value_range() const {
553
1
    if (INVALID_TYPE == _column_type) {
554
0
        return true;
555
0
    }
556
557
1
    return (!is_fixed_value_range() && !is_scope_value_range() && !contain_null());
558
1
}
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE20is_empty_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE20is_empty_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE20is_empty_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE20is_empty_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE20is_empty_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE20is_empty_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE20is_empty_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE20is_empty_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE20is_empty_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE20is_empty_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE20is_empty_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE20is_empty_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE20is_empty_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE20is_empty_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE20is_empty_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE20is_empty_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE20is_empty_value_rangeEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE20is_empty_value_rangeEv
559
560
template <PrimitiveType primitive_type>
561
12
bool ColumnValueRange<primitive_type>::is_fixed_value_convertible() const {
562
12
    if (is_fixed_value_range()) {
563
1
        return false;
564
1
    }
565
566
11
    if (!is_enumeration_type(_column_type)) {
567
1
        return false;
568
1
    }
569
570
10
    return true;
571
11
}
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE26is_fixed_value_convertibleEv
Line
Count
Source
561
11
bool ColumnValueRange<primitive_type>::is_fixed_value_convertible() const {
562
11
    if (is_fixed_value_range()) {
563
1
        return false;
564
1
    }
565
566
10
    if (!is_enumeration_type(_column_type)) {
567
0
        return false;
568
0
    }
569
570
10
    return true;
571
10
}
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE26is_fixed_value_convertibleEv
Line
Count
Source
561
1
bool ColumnValueRange<primitive_type>::is_fixed_value_convertible() const {
562
1
    if (is_fixed_value_range()) {
563
0
        return false;
564
0
    }
565
566
1
    if (!is_enumeration_type(_column_type)) {
567
1
        return false;
568
1
    }
569
570
0
    return true;
571
1
}
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE26is_fixed_value_convertibleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE26is_fixed_value_convertibleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE26is_fixed_value_convertibleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE26is_fixed_value_convertibleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE26is_fixed_value_convertibleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE26is_fixed_value_convertibleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE26is_fixed_value_convertibleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE26is_fixed_value_convertibleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE26is_fixed_value_convertibleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE26is_fixed_value_convertibleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE26is_fixed_value_convertibleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE26is_fixed_value_convertibleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE26is_fixed_value_convertibleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE26is_fixed_value_convertibleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE26is_fixed_value_convertibleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE26is_fixed_value_convertibleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE26is_fixed_value_convertibleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE26is_fixed_value_convertibleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE26is_fixed_value_convertibleEv
572
573
template <PrimitiveType primitive_type>
574
9
bool ColumnValueRange<primitive_type>::is_range_value_convertible() const {
575
9
    if (!is_fixed_value_range()) {
576
1
        return false;
577
1
    }
578
579
8
    if (TYPE_NULL == _column_type || TYPE_BOOLEAN == _column_type) {
580
1
        return false;
581
1
    }
582
583
7
    return true;
584
8
}
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE26is_range_value_convertibleEv
Line
Count
Source
574
8
bool ColumnValueRange<primitive_type>::is_range_value_convertible() const {
575
8
    if (!is_fixed_value_range()) {
576
1
        return false;
577
1
    }
578
579
7
    if (TYPE_NULL == _column_type || TYPE_BOOLEAN == _column_type) {
580
0
        return false;
581
0
    }
582
583
7
    return true;
584
7
}
_ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE26is_range_value_convertibleEv
Line
Count
Source
574
1
bool ColumnValueRange<primitive_type>::is_range_value_convertible() const {
575
1
    if (!is_fixed_value_range()) {
576
0
        return false;
577
0
    }
578
579
1
    if (TYPE_NULL == _column_type || TYPE_BOOLEAN == _column_type) {
580
1
        return false;
581
1
    }
582
583
0
    return true;
584
1
}
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE26is_range_value_convertibleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE26is_range_value_convertibleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE26is_range_value_convertibleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE26is_range_value_convertibleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE26is_range_value_convertibleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE26is_range_value_convertibleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE26is_range_value_convertibleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE26is_range_value_convertibleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE26is_range_value_convertibleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE26is_range_value_convertibleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE26is_range_value_convertibleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE26is_range_value_convertibleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE26is_range_value_convertibleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE26is_range_value_convertibleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE26is_range_value_convertibleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE26is_range_value_convertibleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE26is_range_value_convertibleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE26is_range_value_convertibleEv
Unexecuted instantiation: _ZNK5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE26is_range_value_convertibleEv
585
586
// The return value indicates whether eos.
587
template <PrimitiveType primitive_type>
588
bool ColumnValueRange<primitive_type>::convert_to_close_range(
589
        std::vector<OlapTuple>& begin_scan_keys, std::vector<OlapTuple>& end_scan_keys,
590
9
        bool& begin_include, bool& end_include) {
591
9
    if constexpr (!_is_reject_split_type) {
592
9
        begin_include = true;
593
9
        end_include = true;
594
595
9
        bool is_empty = false;
596
597
9
        if (!is_begin_include()) {
598
1
            if (_low_value == TYPE_MAX) {
599
0
                is_empty = true;
600
1
            } else {
601
1
                ++_low_value;
602
1
            }
603
1
        }
604
605
9
        if (!is_end_include()) {
606
1
            if (_high_value == TYPE_MIN) {
607
0
                is_empty = true;
608
1
            } else {
609
1
                --_high_value;
610
1
            }
611
1
        }
612
613
9
        if (_high_value < _low_value) {
614
1
            is_empty = true;
615
1
        }
616
617
9
        if (is_empty && !contain_null()) {
618
1
            begin_scan_keys.clear();
619
1
            end_scan_keys.clear();
620
1
            return true;
621
1
        }
622
9
    }
623
8
    return false;
624
9
}
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE22convert_to_close_rangeERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_
Line
Count
Source
590
8
        bool& begin_include, bool& end_include) {
591
8
    if constexpr (!_is_reject_split_type) {
592
8
        begin_include = true;
593
8
        end_include = true;
594
595
8
        bool is_empty = false;
596
597
8
        if (!is_begin_include()) {
598
1
            if (_low_value == TYPE_MAX) {
599
0
                is_empty = true;
600
1
            } else {
601
1
                ++_low_value;
602
1
            }
603
1
        }
604
605
8
        if (!is_end_include()) {
606
1
            if (_high_value == TYPE_MIN) {
607
0
                is_empty = true;
608
1
            } else {
609
1
                --_high_value;
610
1
            }
611
1
        }
612
613
8
        if (_high_value < _low_value) {
614
0
            is_empty = true;
615
0
        }
616
617
8
        if (is_empty && !contain_null()) {
618
0
            begin_scan_keys.clear();
619
0
            end_scan_keys.clear();
620
0
            return true;
621
0
        }
622
8
    }
623
8
    return false;
624
8
}
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE22convert_to_close_rangeERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_
Line
Count
Source
590
1
        bool& begin_include, bool& end_include) {
591
1
    if constexpr (!_is_reject_split_type) {
592
1
        begin_include = true;
593
1
        end_include = true;
594
595
1
        bool is_empty = false;
596
597
1
        if (!is_begin_include()) {
598
0
            if (_low_value == TYPE_MAX) {
599
0
                is_empty = true;
600
0
            } else {
601
0
                ++_low_value;
602
0
            }
603
0
        }
604
605
1
        if (!is_end_include()) {
606
0
            if (_high_value == TYPE_MIN) {
607
0
                is_empty = true;
608
0
            } else {
609
0
                --_high_value;
610
0
            }
611
0
        }
612
613
1
        if (_high_value < _low_value) {
614
1
            is_empty = true;
615
1
        }
616
617
1
        if (is_empty && !contain_null()) {
618
1
            begin_scan_keys.clear();
619
1
            end_scan_keys.clear();
620
1
            return true;
621
1
        }
622
1
    }
623
0
    return false;
624
1
}
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE22convert_to_close_rangeERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE22convert_to_close_rangeERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE22convert_to_close_rangeERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE22convert_to_close_rangeERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE22convert_to_close_rangeERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE22convert_to_close_rangeERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE22convert_to_close_rangeERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE22convert_to_close_rangeERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE22convert_to_close_rangeERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE22convert_to_close_rangeERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE22convert_to_close_rangeERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE22convert_to_close_rangeERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE22convert_to_close_rangeERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE22convert_to_close_rangeERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE22convert_to_close_rangeERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE22convert_to_close_rangeERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE22convert_to_close_rangeERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE22convert_to_close_rangeERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE22convert_to_close_rangeERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_
625
626
// The return value indicates whether the split result is range or fixed value.
627
template <PrimitiveType primitive_type>
628
bool ColumnValueRange<primitive_type>::convert_to_avg_range_value(
629
        std::vector<OlapTuple>& begin_scan_keys, std::vector<OlapTuple>& end_scan_keys,
630
8
        bool& begin_include, bool& end_include, int32_t max_scan_key_num) {
631
8
    if constexpr (!_is_reject_split_type) {
632
8
        CppType min_value = get_range_min_value();
633
8
        CppType max_value = get_range_max_value();
634
8
        if constexpr (primitive_type == PrimitiveType::TYPE_DATE) {
635
0
            min_value.set_type(TimeType::TIME_DATE);
636
0
            max_value.set_type(TimeType::TIME_DATE);
637
0
        }
638
8
        auto empty_range_only_null = min_value > max_value;
639
8
        if (empty_range_only_null) {
640
            // Not contain null will be disposed in `convert_to_close_range`, return eos.
641
0
            DCHECK(contain_null());
642
0
        }
643
644
8
        auto no_split = [&]() -> bool {
645
1
            begin_scan_keys.emplace_back();
646
1
            begin_scan_keys.back().add_value(
647
1
                    cast_to_string<primitive_type, CppType>(get_range_min_value(), scale()),
648
1
                    contain_null());
649
1
            end_scan_keys.emplace_back();
650
1
            end_scan_keys.back().add_value(
651
1
                    cast_to_string<primitive_type, CppType>(get_range_max_value(), scale()),
652
1
                    empty_range_only_null ? true : false);
653
1
            return true;
654
1
        };
_ZZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_iENKUlvE_clEv
Line
Count
Source
644
1
        auto no_split = [&]() -> bool {
645
1
            begin_scan_keys.emplace_back();
646
1
            begin_scan_keys.back().add_value(
647
1
                    cast_to_string<primitive_type, CppType>(get_range_min_value(), scale()),
648
1
                    contain_null());
649
1
            end_scan_keys.emplace_back();
650
1
            end_scan_keys.back().add_value(
651
1
                    cast_to_string<primitive_type, CppType>(get_range_max_value(), scale()),
652
1
                    empty_range_only_null ? true : false);
653
1
            return true;
654
1
        };
Unexecuted instantiation: _ZZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_iENKUlvE_clEv
Unexecuted instantiation: _ZZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_iENKUlvE_clEv
Unexecuted instantiation: _ZZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_iENKUlvE_clEv
Unexecuted instantiation: _ZZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_iENKUlvE_clEv
Unexecuted instantiation: _ZZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_iENKUlvE_clEv
Unexecuted instantiation: _ZZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_iENKUlvE_clEv
Unexecuted instantiation: _ZZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_iENKUlvE_clEv
Unexecuted instantiation: _ZZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_iENKUlvE_clEv
Unexecuted instantiation: _ZZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_iENKUlvE_clEv
Unexecuted instantiation: _ZZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_iENKUlvE_clEv
Unexecuted instantiation: _ZZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_iENKUlvE_clEv
655
8
        if (empty_range_only_null || max_scan_key_num == 1) {
656
0
            return no_split();
657
0
        }
658
659
42
        auto cast = [](const CppType& value) {
660
42
            if constexpr (primitive_type == PrimitiveType::TYPE_DATE ||
661
42
                          primitive_type == PrimitiveType::TYPE_DATEV2) {
662
42
                return value;
663
42
            } else {
664
42
                return (int128_t)value;
665
42
            }
666
42
        };
_ZZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_iENKUlRKiE_clESA_
Line
Count
Source
659
42
        auto cast = [](const CppType& value) {
660
42
            if constexpr (primitive_type == PrimitiveType::TYPE_DATE ||
661
42
                          primitive_type == PrimitiveType::TYPE_DATEV2) {
662
42
                return value;
663
42
            } else {
664
42
                return (int128_t)value;
665
42
            }
666
42
        };
Unexecuted instantiation: _ZZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_iENKUlRKaE_clESA_
Unexecuted instantiation: _ZZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_iENKUlRKsE_clESA_
Unexecuted instantiation: _ZZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_iENKUlRKlE_clESA_
Unexecuted instantiation: _ZZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_iENKUlRKjE_clESA_
Unexecuted instantiation: _ZZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_iENKUlRKoE_clESA_
Unexecuted instantiation: _ZZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_iENKUlRKNS_16VecDateTimeValueEE_clESB_
Unexecuted instantiation: _ZZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_iENKUlRKNS_11DateV2ValueINS_15DateV2ValueTypeEEEE_clESD_
Unexecuted instantiation: _ZZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_iENKUlRKNS_10vectorized7DecimalIiEEE_clESD_
Unexecuted instantiation: _ZZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_iENKUlRKNS_10vectorized7DecimalIlEEE_clESD_
Unexecuted instantiation: _ZZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_iENKUlRKNS_10vectorized12Decimal128V3EE_clESC_
Unexecuted instantiation: _ZZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_iENKUlRKNS_10vectorized7DecimalIN4wide7integerILm256EiEEEEE_clESG_
667
668
        // When CppType is date, we can not convert it to integer number and calculate distance.
669
        // In other case, we convert element to int128 to avoit overflow.
670
8
        size_t step_size = (cast(max_value) - min_value) / max_scan_key_num;
671
672
8
        constexpr size_t MAX_STEP_SIZE = 1 << 20;
673
        // When the step size is too large, the range is easy to not really contain data.
674
8
        if (step_size > MAX_STEP_SIZE) {
675
1
            return no_split();
676
1
        }
677
7
        size_t real_step_size = 0;
678
679
        // Add null key if contain null, must do after no_split check
680
7
        if (contain_null()) {
681
6
            begin_scan_keys.emplace_back();
682
6
            begin_scan_keys.back().add_null();
683
6
            end_scan_keys.emplace_back();
684
6
            end_scan_keys.back().add_null();
685
6
        }
686
34
        while (true) {
687
34
            begin_scan_keys.emplace_back();
688
34
            begin_scan_keys.back().add_value(
689
34
                    cast_to_string<primitive_type, CppType>(min_value, scale()));
690
691
34
            if (cast(max_value) - min_value < step_size) {
692
5
                min_value = max_value;
693
29
            } else {
694
29
                min_value += step_size;
695
29
            }
696
697
34
            end_scan_keys.emplace_back();
698
34
            end_scan_keys.back().add_value(
699
34
                    cast_to_string<primitive_type, CppType>(min_value, scale()));
700
701
34
            if (min_value == max_value) {
702
7
                break;
703
7
            }
704
27
            ++min_value;
705
27
            ++real_step_size;
706
27
            if (real_step_size > MAX_STEP_SIZE) {
707
0
                throw Exception(Status::InternalError(
708
0
                        "convert_to_avg_range_value meet error. type={}, step_size={}, "
709
0
                        "min_value={}, max_value={}",
710
0
                        int(primitive_type), step_size,
711
0
                        cast_to_string<primitive_type, CppType>(min_value, scale()),
712
0
                        cast_to_string<primitive_type, CppType>(max_value, scale())));
713
0
            }
714
27
        }
715
716
7
        return step_size != 0;
717
7
    }
718
0
    return false;
719
8
}
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_i
Line
Count
Source
630
8
        bool& begin_include, bool& end_include, int32_t max_scan_key_num) {
631
8
    if constexpr (!_is_reject_split_type) {
632
8
        CppType min_value = get_range_min_value();
633
8
        CppType max_value = get_range_max_value();
634
8
        if constexpr (primitive_type == PrimitiveType::TYPE_DATE) {
635
8
            min_value.set_type(TimeType::TIME_DATE);
636
8
            max_value.set_type(TimeType::TIME_DATE);
637
8
        }
638
8
        auto empty_range_only_null = min_value > max_value;
639
8
        if (empty_range_only_null) {
640
            // Not contain null will be disposed in `convert_to_close_range`, return eos.
641
0
            DCHECK(contain_null());
642
0
        }
643
644
8
        auto no_split = [&]() -> bool {
645
8
            begin_scan_keys.emplace_back();
646
8
            begin_scan_keys.back().add_value(
647
8
                    cast_to_string<primitive_type, CppType>(get_range_min_value(), scale()),
648
8
                    contain_null());
649
8
            end_scan_keys.emplace_back();
650
8
            end_scan_keys.back().add_value(
651
8
                    cast_to_string<primitive_type, CppType>(get_range_max_value(), scale()),
652
8
                    empty_range_only_null ? true : false);
653
8
            return true;
654
8
        };
655
8
        if (empty_range_only_null || max_scan_key_num == 1) {
656
0
            return no_split();
657
0
        }
658
659
8
        auto cast = [](const CppType& value) {
660
8
            if constexpr (primitive_type == PrimitiveType::TYPE_DATE ||
661
8
                          primitive_type == PrimitiveType::TYPE_DATEV2) {
662
8
                return value;
663
8
            } else {
664
8
                return (int128_t)value;
665
8
            }
666
8
        };
667
668
        // When CppType is date, we can not convert it to integer number and calculate distance.
669
        // In other case, we convert element to int128 to avoit overflow.
670
8
        size_t step_size = (cast(max_value) - min_value) / max_scan_key_num;
671
672
8
        constexpr size_t MAX_STEP_SIZE = 1 << 20;
673
        // When the step size is too large, the range is easy to not really contain data.
674
8
        if (step_size > MAX_STEP_SIZE) {
675
1
            return no_split();
676
1
        }
677
7
        size_t real_step_size = 0;
678
679
        // Add null key if contain null, must do after no_split check
680
7
        if (contain_null()) {
681
6
            begin_scan_keys.emplace_back();
682
6
            begin_scan_keys.back().add_null();
683
6
            end_scan_keys.emplace_back();
684
6
            end_scan_keys.back().add_null();
685
6
        }
686
34
        while (true) {
687
34
            begin_scan_keys.emplace_back();
688
34
            begin_scan_keys.back().add_value(
689
34
                    cast_to_string<primitive_type, CppType>(min_value, scale()));
690
691
34
            if (cast(max_value) - min_value < step_size) {
692
5
                min_value = max_value;
693
29
            } else {
694
29
                min_value += step_size;
695
29
            }
696
697
34
            end_scan_keys.emplace_back();
698
34
            end_scan_keys.back().add_value(
699
34
                    cast_to_string<primitive_type, CppType>(min_value, scale()));
700
701
34
            if (min_value == max_value) {
702
7
                break;
703
7
            }
704
27
            ++min_value;
705
27
            ++real_step_size;
706
27
            if (real_step_size > MAX_STEP_SIZE) {
707
0
                throw Exception(Status::InternalError(
708
0
                        "convert_to_avg_range_value meet error. type={}, step_size={}, "
709
0
                        "min_value={}, max_value={}",
710
0
                        int(primitive_type), step_size,
711
0
                        cast_to_string<primitive_type, CppType>(min_value, scale()),
712
0
                        cast_to_string<primitive_type, CppType>(max_value, scale())));
713
0
            }
714
27
        }
715
716
7
        return step_size != 0;
717
7
    }
718
0
    return false;
719
8
}
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_i
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_i
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_i
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_i
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_i
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_i
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_i
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_i
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_i
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_i
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_i
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_i
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_i
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_i
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_i
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_i
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_i
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_i
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_i
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE26convert_to_avg_range_valueERSt6vectorINS_9OlapTupleESaIS4_EES7_RbS8_i
720
721
template <PrimitiveType primitive_type>
722
4
void ColumnValueRange<primitive_type>::convert_to_range_value() {
723
4
    if (!is_range_value_convertible()) {
724
0
        return;
725
0
    }
726
727
4
    if (!_fixed_values.empty()) {
728
4
        _low_value = *_fixed_values.begin();
729
4
        _low_op = FILTER_LARGER_OR_EQUAL;
730
4
        _high_value = *_fixed_values.rbegin();
731
4
        _high_op = FILTER_LESS_OR_EQUAL;
732
4
        _fixed_values.clear();
733
4
    }
734
4
}
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE22convert_to_range_valueEv
Line
Count
Source
722
4
void ColumnValueRange<primitive_type>::convert_to_range_value() {
723
4
    if (!is_range_value_convertible()) {
724
0
        return;
725
0
    }
726
727
4
    if (!_fixed_values.empty()) {
728
4
        _low_value = *_fixed_values.begin();
729
4
        _low_op = FILTER_LARGER_OR_EQUAL;
730
4
        _high_value = *_fixed_values.rbegin();
731
4
        _high_op = FILTER_LESS_OR_EQUAL;
732
4
        _fixed_values.clear();
733
4
    }
734
4
}
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE22convert_to_range_valueEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE22convert_to_range_valueEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE22convert_to_range_valueEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE22convert_to_range_valueEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE22convert_to_range_valueEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE22convert_to_range_valueEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE22convert_to_range_valueEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE22convert_to_range_valueEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE22convert_to_range_valueEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE22convert_to_range_valueEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE22convert_to_range_valueEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE22convert_to_range_valueEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE22convert_to_range_valueEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE22convert_to_range_valueEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE22convert_to_range_valueEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE22convert_to_range_valueEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE22convert_to_range_valueEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE22convert_to_range_valueEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE22convert_to_range_valueEv
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE22convert_to_range_valueEv
735
736
template <PrimitiveType primitive_type>
737
27
Status ColumnValueRange<primitive_type>::add_range(SQLFilterOp op, CppType value) {
738
27
    if (INVALID_TYPE == _column_type) {
739
1
        return Status::InternalError("AddRange failed, Invalid type");
740
1
    }
741
742
    // add range means range should not contain null
743
26
    _contain_null = false;
744
745
26
    if (is_fixed_value_range()) {
746
6
        std::pair<IteratorType, IteratorType> bound_pair = _fixed_values.equal_range(value);
747
748
6
        switch (op) {
749
3
        case FILTER_LARGER: {
750
3
            _fixed_values.erase(_fixed_values.begin(), bound_pair.second);
751
3
            break;
752
0
        }
753
754
1
        case FILTER_LARGER_OR_EQUAL: {
755
1
            _fixed_values.erase(_fixed_values.begin(), bound_pair.first);
756
1
            break;
757
0
        }
758
759
1
        case FILTER_LESS: {
760
1
            if (bound_pair.first == _fixed_values.find(value)) {
761
1
                _fixed_values.erase(bound_pair.first, _fixed_values.end());
762
1
            } else {
763
0
                _fixed_values.erase(bound_pair.second, _fixed_values.end());
764
0
            }
765
766
1
            break;
767
0
        }
768
769
1
        case FILTER_LESS_OR_EQUAL: {
770
1
            _fixed_values.erase(bound_pair.second, _fixed_values.end());
771
1
            break;
772
0
        }
773
774
0
        default: {
775
0
            return Status::InternalError("Add Range fail! Unsupported SQLFilterOp.");
776
0
        }
777
6
        }
778
779
6
        _high_value = TYPE_MIN;
780
6
        _low_value = TYPE_MAX;
781
20
    } else {
782
20
        if (_high_value > _low_value) {
783
15
            switch (op) {
784
5
            case FILTER_LARGER: {
785
5
                if (value >= _low_value) {
786
5
                    _low_value = value;
787
5
                    _low_op = op;
788
5
                }
789
790
5
                break;
791
0
            }
792
793
3
            case FILTER_LARGER_OR_EQUAL: {
794
3
                if (value > _low_value) {
795
3
                    _low_value = value;
796
3
                    _low_op = op;
797
3
                }
798
799
3
                break;
800
0
            }
801
802
4
            case FILTER_LESS: {
803
4
                if (value <= _high_value) {
804
4
                    _high_value = value;
805
4
                    _high_op = op;
806
4
                }
807
808
4
                break;
809
0
            }
810
811
3
            case FILTER_LESS_OR_EQUAL: {
812
3
                if (value < _high_value) {
813
2
                    _high_value = value;
814
2
                    _high_op = op;
815
2
                }
816
817
3
                break;
818
0
            }
819
820
0
            default: {
821
0
                return Status::InternalError("Add Range fail! Unsupported SQLFilterOp.");
822
0
            }
823
15
            }
824
15
        }
825
826
20
        if (FILTER_LARGER_OR_EQUAL == _low_op && FILTER_LESS_OR_EQUAL == _high_op &&
827
20
            _high_value == _low_value) {
828
1
            RETURN_IF_ERROR(add_fixed_value(_high_value));
829
1
            _high_value = TYPE_MIN;
830
1
            _low_value = TYPE_MAX;
831
1
        }
832
20
    }
833
834
26
    return Status::OK();
835
26
}
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE9add_rangeENS_11SQLFilterOpEl
Line
Count
Source
737
5
Status ColumnValueRange<primitive_type>::add_range(SQLFilterOp op, CppType value) {
738
5
    if (INVALID_TYPE == _column_type) {
739
1
        return Status::InternalError("AddRange failed, Invalid type");
740
1
    }
741
742
    // add range means range should not contain null
743
4
    _contain_null = false;
744
745
4
    if (is_fixed_value_range()) {
746
2
        std::pair<IteratorType, IteratorType> bound_pair = _fixed_values.equal_range(value);
747
748
2
        switch (op) {
749
0
        case FILTER_LARGER: {
750
0
            _fixed_values.erase(_fixed_values.begin(), bound_pair.second);
751
0
            break;
752
0
        }
753
754
1
        case FILTER_LARGER_OR_EQUAL: {
755
1
            _fixed_values.erase(_fixed_values.begin(), bound_pair.first);
756
1
            break;
757
0
        }
758
759
0
        case FILTER_LESS: {
760
0
            if (bound_pair.first == _fixed_values.find(value)) {
761
0
                _fixed_values.erase(bound_pair.first, _fixed_values.end());
762
0
            } else {
763
0
                _fixed_values.erase(bound_pair.second, _fixed_values.end());
764
0
            }
765
766
0
            break;
767
0
        }
768
769
1
        case FILTER_LESS_OR_EQUAL: {
770
1
            _fixed_values.erase(bound_pair.second, _fixed_values.end());
771
1
            break;
772
0
        }
773
774
0
        default: {
775
0
            return Status::InternalError("Add Range fail! Unsupported SQLFilterOp.");
776
0
        }
777
2
        }
778
779
2
        _high_value = TYPE_MIN;
780
2
        _low_value = TYPE_MAX;
781
2
    } else {
782
2
        if (_high_value > _low_value) {
783
0
            switch (op) {
784
0
            case FILTER_LARGER: {
785
0
                if (value >= _low_value) {
786
0
                    _low_value = value;
787
0
                    _low_op = op;
788
0
                }
789
790
0
                break;
791
0
            }
792
793
0
            case FILTER_LARGER_OR_EQUAL: {
794
0
                if (value > _low_value) {
795
0
                    _low_value = value;
796
0
                    _low_op = op;
797
0
                }
798
799
0
                break;
800
0
            }
801
802
0
            case FILTER_LESS: {
803
0
                if (value <= _high_value) {
804
0
                    _high_value = value;
805
0
                    _high_op = op;
806
0
                }
807
808
0
                break;
809
0
            }
810
811
0
            case FILTER_LESS_OR_EQUAL: {
812
0
                if (value < _high_value) {
813
0
                    _high_value = value;
814
0
                    _high_op = op;
815
0
                }
816
817
0
                break;
818
0
            }
819
820
0
            default: {
821
0
                return Status::InternalError("Add Range fail! Unsupported SQLFilterOp.");
822
0
            }
823
0
            }
824
0
        }
825
826
2
        if (FILTER_LARGER_OR_EQUAL == _low_op && FILTER_LESS_OR_EQUAL == _high_op &&
827
2
            _high_value == _low_value) {
828
0
            RETURN_IF_ERROR(add_fixed_value(_high_value));
829
0
            _high_value = TYPE_MIN;
830
0
            _low_value = TYPE_MAX;
831
0
        }
832
2
    }
833
834
4
    return Status::OK();
835
4
}
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE9add_rangeENS_11SQLFilterOpEi
Line
Count
Source
737
20
Status ColumnValueRange<primitive_type>::add_range(SQLFilterOp op, CppType value) {
738
20
    if (INVALID_TYPE == _column_type) {
739
0
        return Status::InternalError("AddRange failed, Invalid type");
740
0
    }
741
742
    // add range means range should not contain null
743
20
    _contain_null = false;
744
745
20
    if (is_fixed_value_range()) {
746
2
        std::pair<IteratorType, IteratorType> bound_pair = _fixed_values.equal_range(value);
747
748
2
        switch (op) {
749
2
        case FILTER_LARGER: {
750
2
            _fixed_values.erase(_fixed_values.begin(), bound_pair.second);
751
2
            break;
752
0
        }
753
754
0
        case FILTER_LARGER_OR_EQUAL: {
755
0
            _fixed_values.erase(_fixed_values.begin(), bound_pair.first);
756
0
            break;
757
0
        }
758
759
0
        case FILTER_LESS: {
760
0
            if (bound_pair.first == _fixed_values.find(value)) {
761
0
                _fixed_values.erase(bound_pair.first, _fixed_values.end());
762
0
            } else {
763
0
                _fixed_values.erase(bound_pair.second, _fixed_values.end());
764
0
            }
765
766
0
            break;
767
0
        }
768
769
0
        case FILTER_LESS_OR_EQUAL: {
770
0
            _fixed_values.erase(bound_pair.second, _fixed_values.end());
771
0
            break;
772
0
        }
773
774
0
        default: {
775
0
            return Status::InternalError("Add Range fail! Unsupported SQLFilterOp.");
776
0
        }
777
2
        }
778
779
2
        _high_value = TYPE_MIN;
780
2
        _low_value = TYPE_MAX;
781
18
    } else {
782
18
        if (_high_value > _low_value) {
783
15
            switch (op) {
784
5
            case FILTER_LARGER: {
785
5
                if (value >= _low_value) {
786
5
                    _low_value = value;
787
5
                    _low_op = op;
788
5
                }
789
790
5
                break;
791
0
            }
792
793
3
            case FILTER_LARGER_OR_EQUAL: {
794
3
                if (value > _low_value) {
795
3
                    _low_value = value;
796
3
                    _low_op = op;
797
3
                }
798
799
3
                break;
800
0
            }
801
802
4
            case FILTER_LESS: {
803
4
                if (value <= _high_value) {
804
4
                    _high_value = value;
805
4
                    _high_op = op;
806
4
                }
807
808
4
                break;
809
0
            }
810
811
3
            case FILTER_LESS_OR_EQUAL: {
812
3
                if (value < _high_value) {
813
2
                    _high_value = value;
814
2
                    _high_op = op;
815
2
                }
816
817
3
                break;
818
0
            }
819
820
0
            default: {
821
0
                return Status::InternalError("Add Range fail! Unsupported SQLFilterOp.");
822
0
            }
823
15
            }
824
15
        }
825
826
18
        if (FILTER_LARGER_OR_EQUAL == _low_op && FILTER_LESS_OR_EQUAL == _high_op &&
827
18
            _high_value == _low_value) {
828
1
            RETURN_IF_ERROR(add_fixed_value(_high_value));
829
1
            _high_value = TYPE_MIN;
830
1
            _low_value = TYPE_MAX;
831
1
        }
832
18
    }
833
834
20
    return Status::OK();
835
20
}
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE9add_rangeENS_11SQLFilterOpENS_10vectorized7DecimalIiEE
Line
Count
Source
737
2
Status ColumnValueRange<primitive_type>::add_range(SQLFilterOp op, CppType value) {
738
2
    if (INVALID_TYPE == _column_type) {
739
0
        return Status::InternalError("AddRange failed, Invalid type");
740
0
    }
741
742
    // add range means range should not contain null
743
2
    _contain_null = false;
744
745
2
    if (is_fixed_value_range()) {
746
2
        std::pair<IteratorType, IteratorType> bound_pair = _fixed_values.equal_range(value);
747
748
2
        switch (op) {
749
1
        case FILTER_LARGER: {
750
1
            _fixed_values.erase(_fixed_values.begin(), bound_pair.second);
751
1
            break;
752
0
        }
753
754
0
        case FILTER_LARGER_OR_EQUAL: {
755
0
            _fixed_values.erase(_fixed_values.begin(), bound_pair.first);
756
0
            break;
757
0
        }
758
759
1
        case FILTER_LESS: {
760
1
            if (bound_pair.first == _fixed_values.find(value)) {
761
1
                _fixed_values.erase(bound_pair.first, _fixed_values.end());
762
1
            } else {
763
0
                _fixed_values.erase(bound_pair.second, _fixed_values.end());
764
0
            }
765
766
1
            break;
767
0
        }
768
769
0
        case FILTER_LESS_OR_EQUAL: {
770
0
            _fixed_values.erase(bound_pair.second, _fixed_values.end());
771
0
            break;
772
0
        }
773
774
0
        default: {
775
0
            return Status::InternalError("Add Range fail! Unsupported SQLFilterOp.");
776
0
        }
777
2
        }
778
779
2
        _high_value = TYPE_MIN;
780
2
        _low_value = TYPE_MAX;
781
2
    } else {
782
0
        if (_high_value > _low_value) {
783
0
            switch (op) {
784
0
            case FILTER_LARGER: {
785
0
                if (value >= _low_value) {
786
0
                    _low_value = value;
787
0
                    _low_op = op;
788
0
                }
789
790
0
                break;
791
0
            }
792
793
0
            case FILTER_LARGER_OR_EQUAL: {
794
0
                if (value > _low_value) {
795
0
                    _low_value = value;
796
0
                    _low_op = op;
797
0
                }
798
799
0
                break;
800
0
            }
801
802
0
            case FILTER_LESS: {
803
0
                if (value <= _high_value) {
804
0
                    _high_value = value;
805
0
                    _high_op = op;
806
0
                }
807
808
0
                break;
809
0
            }
810
811
0
            case FILTER_LESS_OR_EQUAL: {
812
0
                if (value < _high_value) {
813
0
                    _high_value = value;
814
0
                    _high_op = op;
815
0
                }
816
817
0
                break;
818
0
            }
819
820
0
            default: {
821
0
                return Status::InternalError("Add Range fail! Unsupported SQLFilterOp.");
822
0
            }
823
0
            }
824
0
        }
825
826
0
        if (FILTER_LARGER_OR_EQUAL == _low_op && FILTER_LESS_OR_EQUAL == _high_op &&
827
0
            _high_value == _low_value) {
828
0
            RETURN_IF_ERROR(add_fixed_value(_high_value));
829
0
            _high_value = TYPE_MIN;
830
0
            _low_value = TYPE_MAX;
831
0
        }
832
0
    }
833
834
2
    return Status::OK();
835
2
}
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE9add_rangeENS_11SQLFilterOpEa
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE9add_rangeENS_11SQLFilterOpEs
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE9add_rangeENS_11SQLFilterOpEn
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE9add_rangeENS_11SQLFilterOpEj
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE9add_rangeENS_11SQLFilterOpEo
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE9add_rangeENS_11SQLFilterOpENS_9StringRefE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE9add_rangeENS_11SQLFilterOpENS_9StringRefE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE9add_rangeENS_11SQLFilterOpENS_9StringRefE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE9add_rangeENS_11SQLFilterOpENS_16VecDateTimeValueE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE9add_rangeENS_11SQLFilterOpENS_11DateV2ValueINS_15DateV2ValueTypeEEE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE9add_rangeENS_11SQLFilterOpENS_16VecDateTimeValueE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE9add_rangeENS_11SQLFilterOpENS_11DateV2ValueINS_19DateTimeV2ValueTypeEEE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE9add_rangeENS_11SQLFilterOpENS_14DecimalV2ValueE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE9add_rangeENS_11SQLFilterOpEb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE9add_rangeENS_11SQLFilterOpENS_9StringRefE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE9add_rangeENS_11SQLFilterOpENS_10vectorized7DecimalIlEE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE9add_rangeENS_11SQLFilterOpENS_10vectorized12Decimal128V3E
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE9add_rangeENS_11SQLFilterOpENS_10vectorized7DecimalIN4wide7integerILm256EiEEEE
836
837
template <PrimitiveType primitive_type>
838
26
bool ColumnValueRange<primitive_type>::is_in_range(const CppType& value) {
839
26
    switch (_high_op) {
840
4
    case FILTER_LESS: {
841
4
        switch (_low_op) {
842
2
        case FILTER_LARGER: {
843
2
            return value < _high_value && value > _low_value;
844
0
        }
845
846
2
        case FILTER_LARGER_OR_EQUAL: {
847
2
            return value < _high_value && value >= _low_value;
848
0
        }
849
850
0
        default: {
851
0
            DCHECK(false);
852
0
        }
853
4
        }
854
855
0
        break;
856
4
    }
857
858
22
    case FILTER_LESS_OR_EQUAL: {
859
22
        switch (_low_op) {
860
2
        case FILTER_LARGER: {
861
2
            return value <= _high_value && value > _low_value;
862
0
        }
863
864
20
        case FILTER_LARGER_OR_EQUAL: {
865
20
            return value <= _high_value && value >= _low_value;
866
0
        }
867
868
0
        default: {
869
0
            DCHECK(false);
870
0
        }
871
22
        }
872
22
    }
873
874
0
    default: {
875
0
        DCHECK(false);
876
0
    }
877
26
    }
878
879
0
    return false;
880
26
}
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE11is_in_rangeERKi
Line
Count
Source
838
15
bool ColumnValueRange<primitive_type>::is_in_range(const CppType& value) {
839
15
    switch (_high_op) {
840
4
    case FILTER_LESS: {
841
4
        switch (_low_op) {
842
2
        case FILTER_LARGER: {
843
2
            return value < _high_value && value > _low_value;
844
0
        }
845
846
2
        case FILTER_LARGER_OR_EQUAL: {
847
2
            return value < _high_value && value >= _low_value;
848
0
        }
849
850
0
        default: {
851
0
            DCHECK(false);
852
0
        }
853
4
        }
854
855
0
        break;
856
4
    }
857
858
11
    case FILTER_LESS_OR_EQUAL: {
859
11
        switch (_low_op) {
860
2
        case FILTER_LARGER: {
861
2
            return value <= _high_value && value > _low_value;
862
0
        }
863
864
9
        case FILTER_LARGER_OR_EQUAL: {
865
9
            return value <= _high_value && value >= _low_value;
866
0
        }
867
868
0
        default: {
869
0
            DCHECK(false);
870
0
        }
871
11
        }
872
11
    }
873
874
0
    default: {
875
0
        DCHECK(false);
876
0
    }
877
15
    }
878
879
0
    return false;
880
15
}
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE11is_in_rangeERKa
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE11is_in_rangeERKs
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE11is_in_rangeERKl
Line
Count
Source
838
11
bool ColumnValueRange<primitive_type>::is_in_range(const CppType& value) {
839
11
    switch (_high_op) {
840
0
    case FILTER_LESS: {
841
0
        switch (_low_op) {
842
0
        case FILTER_LARGER: {
843
0
            return value < _high_value && value > _low_value;
844
0
        }
845
846
0
        case FILTER_LARGER_OR_EQUAL: {
847
0
            return value < _high_value && value >= _low_value;
848
0
        }
849
850
0
        default: {
851
0
            DCHECK(false);
852
0
        }
853
0
        }
854
855
0
        break;
856
0
    }
857
858
11
    case FILTER_LESS_OR_EQUAL: {
859
11
        switch (_low_op) {
860
0
        case FILTER_LARGER: {
861
0
            return value <= _high_value && value > _low_value;
862
0
        }
863
864
11
        case FILTER_LARGER_OR_EQUAL: {
865
11
            return value <= _high_value && value >= _low_value;
866
0
        }
867
868
0
        default: {
869
0
            DCHECK(false);
870
0
        }
871
11
        }
872
11
    }
873
874
0
    default: {
875
0
        DCHECK(false);
876
0
    }
877
11
    }
878
879
0
    return false;
880
11
}
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE11is_in_rangeERKn
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE11is_in_rangeERKj
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE11is_in_rangeERKo
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE11is_in_rangeERKNS_9StringRefE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE11is_in_rangeERKNS_9StringRefE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE11is_in_rangeERKNS_9StringRefE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE11is_in_rangeERKNS_16VecDateTimeValueE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE11is_in_rangeERKNS_11DateV2ValueINS_15DateV2ValueTypeEEE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE11is_in_rangeERKNS_16VecDateTimeValueE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE11is_in_rangeERKNS_11DateV2ValueINS_19DateTimeV2ValueTypeEEE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE11is_in_rangeERKNS_14DecimalV2ValueE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE11is_in_rangeERKb
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE11is_in_rangeERKNS_9StringRefE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE11is_in_rangeERKNS_10vectorized7DecimalIiEE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE11is_in_rangeERKNS_10vectorized7DecimalIlEE
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE11is_in_rangeERKNS_10vectorized12Decimal128V3E
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE11is_in_rangeERKNS_10vectorized7DecimalIN4wide7integerILm256EiEEEE
881
882
template <PrimitiveType primitive_type>
883
14
void ColumnValueRange<primitive_type>::intersection(ColumnValueRange<primitive_type>& range) {
884
    // 1. clear if column type not match
885
14
    if (_column_type != range._column_type) {
886
0
        set_empty_value_range();
887
0
    }
888
889
    // 2. clear if any range is empty
890
14
    if (is_empty_value_range() || range.is_empty_value_range()) {
891
2
        set_empty_value_range();
892
2
    }
893
894
14
    std::set<CppType> result_values;
895
    // 3. fixed_value intersection, fixed value range do not contain null
896
14
    if (is_fixed_value_range() || range.is_fixed_value_range()) {
897
9
        if (is_fixed_value_range() && range.is_fixed_value_range()) {
898
2
            set_intersection(_fixed_values.begin(), _fixed_values.end(),
899
2
                             range._fixed_values.begin(), range._fixed_values.end(),
900
2
                             std::inserter(result_values, result_values.begin()));
901
7
        } else if (is_fixed_value_range() && !range.is_fixed_value_range()) {
902
2
            IteratorType iter = _fixed_values.begin();
903
904
7
            while (iter != _fixed_values.end()) {
905
5
                if (range.is_in_range(*iter)) {
906
4
                    result_values.insert(*iter);
907
4
                }
908
5
                ++iter;
909
5
            }
910
5
        } else if (!is_fixed_value_range() && range.is_fixed_value_range()) {
911
5
            IteratorType iter = range._fixed_values.begin();
912
15
            while (iter != range._fixed_values.end()) {
913
10
                if (this->is_in_range(*iter)) {
914
9
                    result_values.insert(*iter);
915
9
                }
916
10
                ++iter;
917
10
            }
918
5
        }
919
920
9
        if (!result_values.empty()) {
921
8
            _fixed_values = std::move(result_values);
922
8
            _contain_null = false;
923
8
            _high_value = TYPE_MIN;
924
8
            _low_value = TYPE_MAX;
925
8
        } else {
926
1
            set_empty_value_range();
927
1
        }
928
9
    } else {
929
5
        if (contain_null() && range.contain_null()) {
930
            // if both is_whole_range to keep the same, else set_contain_null
931
2
            if (!is_whole_value_range() || !range.is_whole_value_range()) {
932
2
                set_contain_null(true);
933
2
            }
934
3
        } else {
935
3
            static_cast<void>(add_range(range._high_op, range._high_value));
936
3
            static_cast<void>(add_range(range._low_op, range._low_value));
937
3
        }
938
5
    }
939
14
}
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE5EE12intersectionERS2_
Line
Count
Source
883
7
void ColumnValueRange<primitive_type>::intersection(ColumnValueRange<primitive_type>& range) {
884
    // 1. clear if column type not match
885
7
    if (_column_type != range._column_type) {
886
0
        set_empty_value_range();
887
0
    }
888
889
    // 2. clear if any range is empty
890
7
    if (is_empty_value_range() || range.is_empty_value_range()) {
891
1
        set_empty_value_range();
892
1
    }
893
894
7
    std::set<CppType> result_values;
895
    // 3. fixed_value intersection, fixed value range do not contain null
896
7
    if (is_fixed_value_range() || range.is_fixed_value_range()) {
897
3
        if (is_fixed_value_range() && range.is_fixed_value_range()) {
898
1
            set_intersection(_fixed_values.begin(), _fixed_values.end(),
899
1
                             range._fixed_values.begin(), range._fixed_values.end(),
900
1
                             std::inserter(result_values, result_values.begin()));
901
2
        } else if (is_fixed_value_range() && !range.is_fixed_value_range()) {
902
1
            IteratorType iter = _fixed_values.begin();
903
904
3
            while (iter != _fixed_values.end()) {
905
2
                if (range.is_in_range(*iter)) {
906
1
                    result_values.insert(*iter);
907
1
                }
908
2
                ++iter;
909
2
            }
910
1
        } else if (!is_fixed_value_range() && range.is_fixed_value_range()) {
911
1
            IteratorType iter = range._fixed_values.begin();
912
3
            while (iter != range._fixed_values.end()) {
913
2
                if (this->is_in_range(*iter)) {
914
1
                    result_values.insert(*iter);
915
1
                }
916
2
                ++iter;
917
2
            }
918
1
        }
919
920
3
        if (!result_values.empty()) {
921
3
            _fixed_values = std::move(result_values);
922
3
            _contain_null = false;
923
3
            _high_value = TYPE_MIN;
924
3
            _low_value = TYPE_MAX;
925
3
        } else {
926
0
            set_empty_value_range();
927
0
        }
928
4
    } else {
929
4
        if (contain_null() && range.contain_null()) {
930
            // if both is_whole_range to keep the same, else set_contain_null
931
2
            if (!is_whole_value_range() || !range.is_whole_value_range()) {
932
2
                set_contain_null(true);
933
2
            }
934
2
        } else {
935
2
            static_cast<void>(add_range(range._high_op, range._high_value));
936
2
            static_cast<void>(add_range(range._low_op, range._low_value));
937
2
        }
938
4
    }
939
7
}
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE3EE12intersectionERS2_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE4EE12intersectionERS2_
_ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE6EE12intersectionERS2_
Line
Count
Source
883
7
void ColumnValueRange<primitive_type>::intersection(ColumnValueRange<primitive_type>& range) {
884
    // 1. clear if column type not match
885
7
    if (_column_type != range._column_type) {
886
0
        set_empty_value_range();
887
0
    }
888
889
    // 2. clear if any range is empty
890
7
    if (is_empty_value_range() || range.is_empty_value_range()) {
891
1
        set_empty_value_range();
892
1
    }
893
894
7
    std::set<CppType> result_values;
895
    // 3. fixed_value intersection, fixed value range do not contain null
896
7
    if (is_fixed_value_range() || range.is_fixed_value_range()) {
897
6
        if (is_fixed_value_range() && range.is_fixed_value_range()) {
898
1
            set_intersection(_fixed_values.begin(), _fixed_values.end(),
899
1
                             range._fixed_values.begin(), range._fixed_values.end(),
900
1
                             std::inserter(result_values, result_values.begin()));
901
5
        } else if (is_fixed_value_range() && !range.is_fixed_value_range()) {
902
1
            IteratorType iter = _fixed_values.begin();
903
904
4
            while (iter != _fixed_values.end()) {
905
3
                if (range.is_in_range(*iter)) {
906
3
                    result_values.insert(*iter);
907
3
                }
908
3
                ++iter;
909
3
            }
910
4
        } else if (!is_fixed_value_range() && range.is_fixed_value_range()) {
911
4
            IteratorType iter = range._fixed_values.begin();
912
12
            while (iter != range._fixed_values.end()) {
913
8
                if (this->is_in_range(*iter)) {
914
8
                    result_values.insert(*iter);
915
8
                }
916
8
                ++iter;
917
8
            }
918
4
        }
919
920
6
        if (!result_values.empty()) {
921
5
            _fixed_values = std::move(result_values);
922
5
            _contain_null = false;
923
5
            _high_value = TYPE_MIN;
924
5
            _low_value = TYPE_MAX;
925
5
        } else {
926
1
            set_empty_value_range();
927
1
        }
928
6
    } else {
929
1
        if (contain_null() && range.contain_null()) {
930
            // if both is_whole_range to keep the same, else set_contain_null
931
0
            if (!is_whole_value_range() || !range.is_whole_value_range()) {
932
0
                set_contain_null(true);
933
0
            }
934
1
        } else {
935
1
            static_cast<void>(add_range(range._high_op, range._high_value));
936
1
            static_cast<void>(add_range(range._low_op, range._low_value));
937
1
        }
938
1
    }
939
7
}
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE7EE12intersectionERS2_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE36EE12intersectionERS2_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE37EE12intersectionERS2_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE15EE12intersectionERS2_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE10EE12intersectionERS2_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE23EE12intersectionERS2_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE11EE12intersectionERS2_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE25EE12intersectionERS2_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE12EE12intersectionERS2_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE26EE12intersectionERS2_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE20EE12intersectionERS2_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE2EE12intersectionERS2_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE19EE12intersectionERS2_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE28EE12intersectionERS2_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE29EE12intersectionERS2_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE30EE12intersectionERS2_
Unexecuted instantiation: _ZN5doris16ColumnValueRangeILNS_13PrimitiveTypeE35EE12intersectionERS2_
940
941
template <PrimitiveType primitive_type>
942
18
bool ColumnValueRange<primitive_type>::has_intersection(ColumnValueRange<primitive_type>& range) {
943
    // 1. return false if column type not match
944
18
    if (_column_type != range._column_type) {
945
0
        return false;
946
0
    }
947
948
    // 2. return false if any range is empty
949
18
    if (is_empty_value_range() || range.is_empty_value_range()) {
950
2
        return false;
951
2
    }
952
953
    // 3.1 return false if two int fixedRange has no intersection
954
16
    if (is_fixed_value_range() && range.is_fixed_value_range()) {
955
2
        std::set<CppType> result_values;
956
2
        set_intersection(_fixed_values.begin(), _fixed_values.end(), range._fixed_values.begin(),
957
2
                         range._fixed_values.end(),
958
2
                         std::inserter(result_values, result_values.begin()));
959
960
2
        if (result_values.size() != 0) {
961
1
            return true;
962
1
        } else {
963
1
            return false;
964
1
        }
965
2
    } // 3.2
966
14
    else if (is_fixed_value_range() && !range.is_fixed_value_range()) {
967
1
        IteratorType iter = _fixed_values.begin();
968
969
1
        while (iter != _fixed_values.end()) {
970
1
            if (range.is_in_range(*iter)) {
971
1
                return true;
972
1
            }
973
974
0
            ++iter;
975
0
        }
976
977
0
        return false;
978
13
    } else if (!is_fixed_value_range() && range.is_fixed_value_range()) {
979
2
        IteratorType iter = range._fixed_values.begin();
980
981
3
        while (iter != range._fixed_values.end()) {
982
2
            if (this->is_in_range(*iter)) {
983
1
                return true;
984
1
            }
985
986
1
            ++iter;
987
1
        }
988
989
1
        return false;
990
11
    } else {
991
11
        if (_low_value > range._high_value || range._low_value > _high_value) {
992
3
            return false;
993
8
        } else if (_low_value == range._high_value) {
994
2
            if (FILTER_LARGER_OR_EQUAL == _low_op && FILTER_LESS_OR_EQUAL == range._high_op) {
995
1
                return true;
996
1
            } else {
997
1
                return false;
998
1
            }
999
6
        } else if (range._low_value == _high_value) {
1000
2
            if (FILTER_LARGER_OR_EQUAL == range._low_op && FILTER_LESS_OR_EQUAL == _high_op) {
1001
1
                return true;
1002
1
            } else {
1003
1
                return false;
1004
1
            }
1005
4
        } else {
1006
4
            return true;
1007
4
        }
1008
11
    }
1009
16
}
1010
1011
template <PrimitiveType primitive_type>
1012
Status OlapScanKeys::extend_scan_key(ColumnValueRange<primitive_type>& range,
1013
                                     int32_t max_scan_key_num, bool* exact_value, bool* eos,
1014
13
                                     bool* should_break) {
1015
13
    using CppType = typename PrimitiveTypeTraits<primitive_type>::CppType;
1016
13
    using ConstIterator = typename std::set<CppType>::const_iterator;
1017
1018
    // 1. clear ScanKey if some column range is empty
1019
13
    if (range.is_empty_value_range()) {
1020
2
        _begin_scan_keys.clear();
1021
2
        _end_scan_keys.clear();
1022
2
        return Status::OK();
1023
2
    }
1024
1025
    // 2. stop extend ScanKey when it's already extend a range value
1026
11
    if (_has_range_value) {
1027
0
        return Status::OK();
1028
0
    }
1029
1030
    //if a column doesn't have any predicate, we will try converting the range to fixed values
1031
11
    auto scan_keys_size = _begin_scan_keys.empty() ? 1 : _begin_scan_keys.size();
1032
11
    if (range.is_fixed_value_range()) {
1033
3
        if (range.get_fixed_value_size() > max_scan_key_num / scan_keys_size) {
1034
1
            if (range.is_range_value_convertible()) {
1035
1
                range.convert_to_range_value();
1036
1
                *exact_value = false;
1037
1
            } else {
1038
0
                *should_break = true;
1039
0
                return Status::OK();
1040
0
            }
1041
1
        }
1042
8
    } else {
1043
8
        if (_begin_scan_keys.empty() && range.is_fixed_value_convertible() && _is_convertible &&
1044
8
            !range.is_reject_split_type()) {
1045
7
            *eos |= range.convert_to_close_range(_begin_scan_keys, _end_scan_keys, _begin_include,
1046
7
                                                 _end_include);
1047
1048
7
            if (!(*eos) &&
1049
7
                range.convert_to_avg_range_value(_begin_scan_keys, _end_scan_keys, _begin_include,
1050
7
                                                 _end_include, max_scan_key_num)) {
1051
6
                _has_range_value = true;
1052
6
            }
1053
7
            return Status::OK();
1054
7
        }
1055
8
    }
1056
1057
    // 3.1 extend ScanKey with FixedValueRange
1058
4
    if (range.is_fixed_value_range()) {
1059
        // 3.1.1 construct num of fixed value ScanKey (begin_key == end_key)
1060
2
        if (_begin_scan_keys.empty()) {
1061
2
            auto fixed_value_set = range.get_fixed_value_set();
1062
2
            ConstIterator iter = fixed_value_set.begin();
1063
1064
5
            for (; iter != fixed_value_set.end(); ++iter) {
1065
3
                _begin_scan_keys.emplace_back();
1066
3
                _begin_scan_keys.back().add_value(
1067
3
                        cast_to_string<primitive_type, CppType>(*iter, range.scale()));
1068
3
                _end_scan_keys.emplace_back();
1069
3
                _end_scan_keys.back().add_value(
1070
3
                        cast_to_string<primitive_type, CppType>(*iter, range.scale()));
1071
3
            }
1072
1073
2
            if (range.contain_null()) {
1074
0
                _begin_scan_keys.emplace_back();
1075
0
                _begin_scan_keys.back().add_null();
1076
0
                _end_scan_keys.emplace_back();
1077
0
                _end_scan_keys.back().add_null();
1078
0
            }
1079
2
        } // 3.1.2 produces the Cartesian product of ScanKey and fixed_value
1080
0
        else {
1081
0
            auto fixed_value_set = range.get_fixed_value_set();
1082
0
            int original_key_range_size = _begin_scan_keys.size();
1083
1084
0
            for (int i = 0; i < original_key_range_size; ++i) {
1085
0
                OlapTuple start_base_key_range = _begin_scan_keys[i];
1086
0
                OlapTuple end_base_key_range = _end_scan_keys[i];
1087
1088
0
                ConstIterator iter = fixed_value_set.begin();
1089
1090
0
                for (; iter != fixed_value_set.end(); ++iter) {
1091
                    // alter the first ScanKey in original place
1092
0
                    if (iter == fixed_value_set.begin()) {
1093
0
                        _begin_scan_keys[i].add_value(
1094
0
                                cast_to_string<primitive_type, CppType>(*iter, range.scale()));
1095
0
                        _end_scan_keys[i].add_value(
1096
0
                                cast_to_string<primitive_type, CppType>(*iter, range.scale()));
1097
0
                    } // append follow ScanKey
1098
0
                    else {
1099
0
                        _begin_scan_keys.push_back(start_base_key_range);
1100
0
                        _begin_scan_keys.back().add_value(
1101
0
                                cast_to_string<primitive_type, CppType>(*iter, range.scale()));
1102
0
                        _end_scan_keys.push_back(end_base_key_range);
1103
0
                        _end_scan_keys.back().add_value(
1104
0
                                cast_to_string<primitive_type, CppType>(*iter, range.scale()));
1105
0
                    }
1106
0
                }
1107
1108
0
                if (range.contain_null()) {
1109
0
                    _begin_scan_keys.push_back(start_base_key_range);
1110
0
                    _begin_scan_keys.back().add_null();
1111
0
                    _end_scan_keys.push_back(end_base_key_range);
1112
0
                    _end_scan_keys.back().add_null();
1113
0
                }
1114
0
            }
1115
0
        }
1116
1117
2
        _begin_include = true;
1118
2
        _end_include = true;
1119
2
    } // Extend ScanKey with range value
1120
2
    else {
1121
2
        _has_range_value = true;
1122
1123
        /// if max < min, this range should only contains a null value.
1124
2
        if (range.get_range_max_value() < range.get_range_min_value()) {
1125
0
            CHECK(range.contain_null());
1126
0
            if (_begin_scan_keys.empty()) {
1127
0
                _begin_scan_keys.emplace_back();
1128
0
                _begin_scan_keys.back().add_null();
1129
0
                _end_scan_keys.emplace_back();
1130
0
                _end_scan_keys.back().add_null();
1131
0
            } else {
1132
0
                for (int i = 0; i < _begin_scan_keys.size(); ++i) {
1133
0
                    _begin_scan_keys[i].add_null();
1134
0
                    _end_scan_keys[i].add_null();
1135
0
                }
1136
0
            }
1137
2
        } else if (_begin_scan_keys.empty()) {
1138
2
            _begin_scan_keys.emplace_back();
1139
2
            _begin_scan_keys.back().add_value(cast_to_string<primitive_type, CppType>(
1140
2
                                                      range.get_range_min_value(), range.scale()),
1141
2
                                              range.contain_null());
1142
2
            _end_scan_keys.emplace_back();
1143
2
            _end_scan_keys.back().add_value(cast_to_string<primitive_type, CppType>(
1144
2
                    range.get_range_max_value(), range.scale()));
1145
2
        } else {
1146
0
            for (int i = 0; i < _begin_scan_keys.size(); ++i) {
1147
0
                _begin_scan_keys[i].add_value(cast_to_string<primitive_type, CppType>(
1148
0
                                                      range.get_range_min_value(), range.scale()),
1149
0
                                              range.contain_null());
1150
0
            }
1151
1152
0
            for (int i = 0; i < _end_scan_keys.size(); ++i) {
1153
0
                _end_scan_keys[i].add_value(cast_to_string<primitive_type, CppType>(
1154
0
                        range.get_range_max_value(), range.scale()));
1155
0
            }
1156
0
        }
1157
2
        _begin_include = range.is_begin_include();
1158
2
        _end_include = range.is_end_include();
1159
2
    }
1160
1161
4
    return Status::OK();
1162
11
}
_ZN5doris12OlapScanKeys15extend_scan_keyILNS_13PrimitiveTypeE5EEENS_6StatusERNS_16ColumnValueRangeIXT_EEEiPbS7_S7_
Line
Count
Source
1014
12
                                     bool* should_break) {
1015
12
    using CppType = typename PrimitiveTypeTraits<primitive_type>::CppType;
1016
12
    using ConstIterator = typename std::set<CppType>::const_iterator;
1017
1018
    // 1. clear ScanKey if some column range is empty
1019
12
    if (range.is_empty_value_range()) {
1020
2
        _begin_scan_keys.clear();
1021
2
        _end_scan_keys.clear();
1022
2
        return Status::OK();
1023
2
    }
1024
1025
    // 2. stop extend ScanKey when it's already extend a range value
1026
10
    if (_has_range_value) {
1027
0
        return Status::OK();
1028
0
    }
1029
1030
    //if a column doesn't have any predicate, we will try converting the range to fixed values
1031
10
    auto scan_keys_size = _begin_scan_keys.empty() ? 1 : _begin_scan_keys.size();
1032
10
    if (range.is_fixed_value_range()) {
1033
2
        if (range.get_fixed_value_size() > max_scan_key_num / scan_keys_size) {
1034
1
            if (range.is_range_value_convertible()) {
1035
1
                range.convert_to_range_value();
1036
1
                *exact_value = false;
1037
1
            } else {
1038
0
                *should_break = true;
1039
0
                return Status::OK();
1040
0
            }
1041
1
        }
1042
8
    } else {
1043
8
        if (_begin_scan_keys.empty() && range.is_fixed_value_convertible() && _is_convertible &&
1044
8
            !range.is_reject_split_type()) {
1045
7
            *eos |= range.convert_to_close_range(_begin_scan_keys, _end_scan_keys, _begin_include,
1046
7
                                                 _end_include);
1047
1048
7
            if (!(*eos) &&
1049
7
                range.convert_to_avg_range_value(_begin_scan_keys, _end_scan_keys, _begin_include,
1050
7
                                                 _end_include, max_scan_key_num)) {
1051
6
                _has_range_value = true;
1052
6
            }
1053
7
            return Status::OK();
1054
7
        }
1055
8
    }
1056
1057
    // 3.1 extend ScanKey with FixedValueRange
1058
3
    if (range.is_fixed_value_range()) {
1059
        // 3.1.1 construct num of fixed value ScanKey (begin_key == end_key)
1060
1
        if (_begin_scan_keys.empty()) {
1061
1
            auto fixed_value_set = range.get_fixed_value_set();
1062
1
            ConstIterator iter = fixed_value_set.begin();
1063
1064
3
            for (; iter != fixed_value_set.end(); ++iter) {
1065
2
                _begin_scan_keys.emplace_back();
1066
2
                _begin_scan_keys.back().add_value(
1067
2
                        cast_to_string<primitive_type, CppType>(*iter, range.scale()));
1068
2
                _end_scan_keys.emplace_back();
1069
2
                _end_scan_keys.back().add_value(
1070
2
                        cast_to_string<primitive_type, CppType>(*iter, range.scale()));
1071
2
            }
1072
1073
1
            if (range.contain_null()) {
1074
0
                _begin_scan_keys.emplace_back();
1075
0
                _begin_scan_keys.back().add_null();
1076
0
                _end_scan_keys.emplace_back();
1077
0
                _end_scan_keys.back().add_null();
1078
0
            }
1079
1
        } // 3.1.2 produces the Cartesian product of ScanKey and fixed_value
1080
0
        else {
1081
0
            auto fixed_value_set = range.get_fixed_value_set();
1082
0
            int original_key_range_size = _begin_scan_keys.size();
1083
1084
0
            for (int i = 0; i < original_key_range_size; ++i) {
1085
0
                OlapTuple start_base_key_range = _begin_scan_keys[i];
1086
0
                OlapTuple end_base_key_range = _end_scan_keys[i];
1087
1088
0
                ConstIterator iter = fixed_value_set.begin();
1089
1090
0
                for (; iter != fixed_value_set.end(); ++iter) {
1091
                    // alter the first ScanKey in original place
1092
0
                    if (iter == fixed_value_set.begin()) {
1093
0
                        _begin_scan_keys[i].add_value(
1094
0
                                cast_to_string<primitive_type, CppType>(*iter, range.scale()));
1095
0
                        _end_scan_keys[i].add_value(
1096
0
                                cast_to_string<primitive_type, CppType>(*iter, range.scale()));
1097
0
                    } // append follow ScanKey
1098
0
                    else {
1099
0
                        _begin_scan_keys.push_back(start_base_key_range);
1100
0
                        _begin_scan_keys.back().add_value(
1101
0
                                cast_to_string<primitive_type, CppType>(*iter, range.scale()));
1102
0
                        _end_scan_keys.push_back(end_base_key_range);
1103
0
                        _end_scan_keys.back().add_value(
1104
0
                                cast_to_string<primitive_type, CppType>(*iter, range.scale()));
1105
0
                    }
1106
0
                }
1107
1108
0
                if (range.contain_null()) {
1109
0
                    _begin_scan_keys.push_back(start_base_key_range);
1110
0
                    _begin_scan_keys.back().add_null();
1111
0
                    _end_scan_keys.push_back(end_base_key_range);
1112
0
                    _end_scan_keys.back().add_null();
1113
0
                }
1114
0
            }
1115
0
        }
1116
1117
1
        _begin_include = true;
1118
1
        _end_include = true;
1119
1
    } // Extend ScanKey with range value
1120
2
    else {
1121
2
        _has_range_value = true;
1122
1123
        /// if max < min, this range should only contains a null value.
1124
2
        if (range.get_range_max_value() < range.get_range_min_value()) {
1125
0
            CHECK(range.contain_null());
1126
0
            if (_begin_scan_keys.empty()) {
1127
0
                _begin_scan_keys.emplace_back();
1128
0
                _begin_scan_keys.back().add_null();
1129
0
                _end_scan_keys.emplace_back();
1130
0
                _end_scan_keys.back().add_null();
1131
0
            } else {
1132
0
                for (int i = 0; i < _begin_scan_keys.size(); ++i) {
1133
0
                    _begin_scan_keys[i].add_null();
1134
0
                    _end_scan_keys[i].add_null();
1135
0
                }
1136
0
            }
1137
2
        } else if (_begin_scan_keys.empty()) {
1138
2
            _begin_scan_keys.emplace_back();
1139
2
            _begin_scan_keys.back().add_value(cast_to_string<primitive_type, CppType>(
1140
2
                                                      range.get_range_min_value(), range.scale()),
1141
2
                                              range.contain_null());
1142
2
            _end_scan_keys.emplace_back();
1143
2
            _end_scan_keys.back().add_value(cast_to_string<primitive_type, CppType>(
1144
2
                    range.get_range_max_value(), range.scale()));
1145
2
        } else {
1146
0
            for (int i = 0; i < _begin_scan_keys.size(); ++i) {
1147
0
                _begin_scan_keys[i].add_value(cast_to_string<primitive_type, CppType>(
1148
0
                                                      range.get_range_min_value(), range.scale()),
1149
0
                                              range.contain_null());
1150
0
            }
1151
1152
0
            for (int i = 0; i < _end_scan_keys.size(); ++i) {
1153
0
                _end_scan_keys[i].add_value(cast_to_string<primitive_type, CppType>(
1154
0
                        range.get_range_max_value(), range.scale()));
1155
0
            }
1156
0
        }
1157
2
        _begin_include = range.is_begin_include();
1158
2
        _end_include = range.is_end_include();
1159
2
    }
1160
1161
3
    return Status::OK();
1162
10
}
_ZN5doris12OlapScanKeys15extend_scan_keyILNS_13PrimitiveTypeE3EEENS_6StatusERNS_16ColumnValueRangeIXT_EEEiPbS7_S7_
Line
Count
Source
1014
1
                                     bool* should_break) {
1015
1
    using CppType = typename PrimitiveTypeTraits<primitive_type>::CppType;
1016
1
    using ConstIterator = typename std::set<CppType>::const_iterator;
1017
1018
    // 1. clear ScanKey if some column range is empty
1019
1
    if (range.is_empty_value_range()) {
1020
0
        _begin_scan_keys.clear();
1021
0
        _end_scan_keys.clear();
1022
0
        return Status::OK();
1023
0
    }
1024
1025
    // 2. stop extend ScanKey when it's already extend a range value
1026
1
    if (_has_range_value) {
1027
0
        return Status::OK();
1028
0
    }
1029
1030
    //if a column doesn't have any predicate, we will try converting the range to fixed values
1031
1
    auto scan_keys_size = _begin_scan_keys.empty() ? 1 : _begin_scan_keys.size();
1032
1
    if (range.is_fixed_value_range()) {
1033
1
        if (range.get_fixed_value_size() > max_scan_key_num / scan_keys_size) {
1034
0
            if (range.is_range_value_convertible()) {
1035
0
                range.convert_to_range_value();
1036
0
                *exact_value = false;
1037
0
            } else {
1038
0
                *should_break = true;
1039
0
                return Status::OK();
1040
0
            }
1041
0
        }
1042
1
    } else {
1043
0
        if (_begin_scan_keys.empty() && range.is_fixed_value_convertible() && _is_convertible &&
1044
0
            !range.is_reject_split_type()) {
1045
0
            *eos |= range.convert_to_close_range(_begin_scan_keys, _end_scan_keys, _begin_include,
1046
0
                                                 _end_include);
1047
1048
0
            if (!(*eos) &&
1049
0
                range.convert_to_avg_range_value(_begin_scan_keys, _end_scan_keys, _begin_include,
1050
0
                                                 _end_include, max_scan_key_num)) {
1051
0
                _has_range_value = true;
1052
0
            }
1053
0
            return Status::OK();
1054
0
        }
1055
0
    }
1056
1057
    // 3.1 extend ScanKey with FixedValueRange
1058
1
    if (range.is_fixed_value_range()) {
1059
        // 3.1.1 construct num of fixed value ScanKey (begin_key == end_key)
1060
1
        if (_begin_scan_keys.empty()) {
1061
1
            auto fixed_value_set = range.get_fixed_value_set();
1062
1
            ConstIterator iter = fixed_value_set.begin();
1063
1064
2
            for (; iter != fixed_value_set.end(); ++iter) {
1065
1
                _begin_scan_keys.emplace_back();
1066
1
                _begin_scan_keys.back().add_value(
1067
1
                        cast_to_string<primitive_type, CppType>(*iter, range.scale()));
1068
1
                _end_scan_keys.emplace_back();
1069
1
                _end_scan_keys.back().add_value(
1070
1
                        cast_to_string<primitive_type, CppType>(*iter, range.scale()));
1071
1
            }
1072
1073
1
            if (range.contain_null()) {
1074
0
                _begin_scan_keys.emplace_back();
1075
0
                _begin_scan_keys.back().add_null();
1076
0
                _end_scan_keys.emplace_back();
1077
0
                _end_scan_keys.back().add_null();
1078
0
            }
1079
1
        } // 3.1.2 produces the Cartesian product of ScanKey and fixed_value
1080
0
        else {
1081
0
            auto fixed_value_set = range.get_fixed_value_set();
1082
0
            int original_key_range_size = _begin_scan_keys.size();
1083
1084
0
            for (int i = 0; i < original_key_range_size; ++i) {
1085
0
                OlapTuple start_base_key_range = _begin_scan_keys[i];
1086
0
                OlapTuple end_base_key_range = _end_scan_keys[i];
1087
1088
0
                ConstIterator iter = fixed_value_set.begin();
1089
1090
0
                for (; iter != fixed_value_set.end(); ++iter) {
1091
                    // alter the first ScanKey in original place
1092
0
                    if (iter == fixed_value_set.begin()) {
1093
0
                        _begin_scan_keys[i].add_value(
1094
0
                                cast_to_string<primitive_type, CppType>(*iter, range.scale()));
1095
0
                        _end_scan_keys[i].add_value(
1096
0
                                cast_to_string<primitive_type, CppType>(*iter, range.scale()));
1097
0
                    } // append follow ScanKey
1098
0
                    else {
1099
0
                        _begin_scan_keys.push_back(start_base_key_range);
1100
0
                        _begin_scan_keys.back().add_value(
1101
0
                                cast_to_string<primitive_type, CppType>(*iter, range.scale()));
1102
0
                        _end_scan_keys.push_back(end_base_key_range);
1103
0
                        _end_scan_keys.back().add_value(
1104
0
                                cast_to_string<primitive_type, CppType>(*iter, range.scale()));
1105
0
                    }
1106
0
                }
1107
1108
0
                if (range.contain_null()) {
1109
0
                    _begin_scan_keys.push_back(start_base_key_range);
1110
0
                    _begin_scan_keys.back().add_null();
1111
0
                    _end_scan_keys.push_back(end_base_key_range);
1112
0
                    _end_scan_keys.back().add_null();
1113
0
                }
1114
0
            }
1115
0
        }
1116
1117
1
        _begin_include = true;
1118
1
        _end_include = true;
1119
1
    } // Extend ScanKey with range value
1120
0
    else {
1121
0
        _has_range_value = true;
1122
1123
        /// if max < min, this range should only contains a null value.
1124
0
        if (range.get_range_max_value() < range.get_range_min_value()) {
1125
0
            CHECK(range.contain_null());
1126
0
            if (_begin_scan_keys.empty()) {
1127
0
                _begin_scan_keys.emplace_back();
1128
0
                _begin_scan_keys.back().add_null();
1129
0
                _end_scan_keys.emplace_back();
1130
0
                _end_scan_keys.back().add_null();
1131
0
            } else {
1132
0
                for (int i = 0; i < _begin_scan_keys.size(); ++i) {
1133
0
                    _begin_scan_keys[i].add_null();
1134
0
                    _end_scan_keys[i].add_null();
1135
0
                }
1136
0
            }
1137
0
        } else if (_begin_scan_keys.empty()) {
1138
0
            _begin_scan_keys.emplace_back();
1139
0
            _begin_scan_keys.back().add_value(cast_to_string<primitive_type, CppType>(
1140
0
                                                      range.get_range_min_value(), range.scale()),
1141
0
                                              range.contain_null());
1142
0
            _end_scan_keys.emplace_back();
1143
0
            _end_scan_keys.back().add_value(cast_to_string<primitive_type, CppType>(
1144
0
                    range.get_range_max_value(), range.scale()));
1145
0
        } else {
1146
0
            for (int i = 0; i < _begin_scan_keys.size(); ++i) {
1147
0
                _begin_scan_keys[i].add_value(cast_to_string<primitive_type, CppType>(
1148
0
                                                      range.get_range_min_value(), range.scale()),
1149
0
                                              range.contain_null());
1150
0
            }
1151
1152
0
            for (int i = 0; i < _end_scan_keys.size(); ++i) {
1153
0
                _end_scan_keys[i].add_value(cast_to_string<primitive_type, CppType>(
1154
0
                        range.get_range_max_value(), range.scale()));
1155
0
            }
1156
0
        }
1157
0
        _begin_include = range.is_begin_include();
1158
0
        _end_include = range.is_end_include();
1159
0
    }
1160
1161
1
    return Status::OK();
1162
1
}
Unexecuted instantiation: _ZN5doris12OlapScanKeys15extend_scan_keyILNS_13PrimitiveTypeE4EEENS_6StatusERNS_16ColumnValueRangeIXT_EEEiPbS7_S7_
Unexecuted instantiation: _ZN5doris12OlapScanKeys15extend_scan_keyILNS_13PrimitiveTypeE6EEENS_6StatusERNS_16ColumnValueRangeIXT_EEEiPbS7_S7_
Unexecuted instantiation: _ZN5doris12OlapScanKeys15extend_scan_keyILNS_13PrimitiveTypeE7EEENS_6StatusERNS_16ColumnValueRangeIXT_EEEiPbS7_S7_
Unexecuted instantiation: _ZN5doris12OlapScanKeys15extend_scan_keyILNS_13PrimitiveTypeE36EEENS_6StatusERNS_16ColumnValueRangeIXT_EEEiPbS7_S7_
Unexecuted instantiation: _ZN5doris12OlapScanKeys15extend_scan_keyILNS_13PrimitiveTypeE37EEENS_6StatusERNS_16ColumnValueRangeIXT_EEEiPbS7_S7_
Unexecuted instantiation: _ZN5doris12OlapScanKeys15extend_scan_keyILNS_13PrimitiveTypeE15EEENS_6StatusERNS_16ColumnValueRangeIXT_EEEiPbS7_S7_
Unexecuted instantiation: _ZN5doris12OlapScanKeys15extend_scan_keyILNS_13PrimitiveTypeE10EEENS_6StatusERNS_16ColumnValueRangeIXT_EEEiPbS7_S7_
Unexecuted instantiation: _ZN5doris12OlapScanKeys15extend_scan_keyILNS_13PrimitiveTypeE23EEENS_6StatusERNS_16ColumnValueRangeIXT_EEEiPbS7_S7_
Unexecuted instantiation: _ZN5doris12OlapScanKeys15extend_scan_keyILNS_13PrimitiveTypeE11EEENS_6StatusERNS_16ColumnValueRangeIXT_EEEiPbS7_S7_
Unexecuted instantiation: _ZN5doris12OlapScanKeys15extend_scan_keyILNS_13PrimitiveTypeE25EEENS_6StatusERNS_16ColumnValueRangeIXT_EEEiPbS7_S7_
Unexecuted instantiation: _ZN5doris12OlapScanKeys15extend_scan_keyILNS_13PrimitiveTypeE12EEENS_6StatusERNS_16ColumnValueRangeIXT_EEEiPbS7_S7_
Unexecuted instantiation: _ZN5doris12OlapScanKeys15extend_scan_keyILNS_13PrimitiveTypeE26EEENS_6StatusERNS_16ColumnValueRangeIXT_EEEiPbS7_S7_
Unexecuted instantiation: _ZN5doris12OlapScanKeys15extend_scan_keyILNS_13PrimitiveTypeE20EEENS_6StatusERNS_16ColumnValueRangeIXT_EEEiPbS7_S7_
Unexecuted instantiation: _ZN5doris12OlapScanKeys15extend_scan_keyILNS_13PrimitiveTypeE2EEENS_6StatusERNS_16ColumnValueRangeIXT_EEEiPbS7_S7_
Unexecuted instantiation: _ZN5doris12OlapScanKeys15extend_scan_keyILNS_13PrimitiveTypeE19EEENS_6StatusERNS_16ColumnValueRangeIXT_EEEiPbS7_S7_
Unexecuted instantiation: _ZN5doris12OlapScanKeys15extend_scan_keyILNS_13PrimitiveTypeE28EEENS_6StatusERNS_16ColumnValueRangeIXT_EEEiPbS7_S7_
Unexecuted instantiation: _ZN5doris12OlapScanKeys15extend_scan_keyILNS_13PrimitiveTypeE29EEENS_6StatusERNS_16ColumnValueRangeIXT_EEEiPbS7_S7_
Unexecuted instantiation: _ZN5doris12OlapScanKeys15extend_scan_keyILNS_13PrimitiveTypeE30EEENS_6StatusERNS_16ColumnValueRangeIXT_EEEiPbS7_S7_
Unexecuted instantiation: _ZN5doris12OlapScanKeys15extend_scan_keyILNS_13PrimitiveTypeE35EEENS_6StatusERNS_16ColumnValueRangeIXT_EEEiPbS7_S7_
1163
1164
struct ScanPredicate {
1165
    TCondition condition;
1166
    PrimitiveType primitiveType;
1167
};
1168
1169
} // namespace doris