Coverage Report

Created: 2026-11-05 09:45

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
be/src/exprs/minmax_predicate.h
Line
Count
Source
1
// Licensed to the Apache Software Foundation (ASF) under one
2
// or more contributor license agreements.  See the NOTICE file
3
// distributed with this work for additional information
4
// regarding copyright ownership.  The ASF licenses this file
5
// to you under the Apache License, Version 2.0 (the
6
// "License"); you may not use this file except in compliance
7
// with the License.  You may obtain a copy of the License at
8
//
9
//   http://www.apache.org/licenses/LICENSE-2.0
10
//
11
// Unless required by applicable law or agreed to in writing,
12
// software distributed under the License is distributed on an
13
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
// KIND, either express or implied.  See the License for the
15
// specific language governing permissions and limitations
16
// under the License.
17
18
#pragma once
19
20
#include <gen_cpp/internal_service.pb.h>
21
22
#include "core/column/column_nullable.h"
23
#include "core/column/column_string.h"
24
#include "core/type_limit.h"
25
#include "exprs/filter_base.h"
26
27
namespace doris {
28
29
// only used in Runtime Filter
30
class MinMaxFuncBase : public FilterBase {
31
public:
32
20.2k
    MinMaxFuncBase(bool null_aware) : FilterBase(null_aware) {}
33
    virtual void insert_fixed_len(const ColumnPtr& column, size_t start) = 0;
34
    virtual void* get_max() = 0;
35
    virtual void* get_min() = 0;
36
    // assign minmax data
37
    virtual Status assign(void* min_data, void* max_data) = 0;
38
    // merge from other minmax_func
39
    virtual Status merge(MinMaxFuncBase* minmax_func) = 0;
40
    // Deep copy. The returned object shares nothing with this one.
41
    virtual MinMaxFuncBase* clone() const = 0;
42
20.2k
    virtual ~MinMaxFuncBase() = default;
43
44
    virtual void to_pb(PMinMaxFilter* filter) = 0;
45
};
46
47
template <class T, bool NeedMax = true, bool NeedMin = true>
48
class MinMaxNumFunc : public MinMaxFuncBase {
49
public:
50
    static constexpr bool IsStringValue = std::is_same_v<T, std::string>;
51
20.2k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIhLb1ELb1EEC2Eb
Line
Count
Source
51
12
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EEC2Eb
Line
Count
Source
51
24
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIaLb1ELb1EEC2Eb
Line
Count
Source
51
789
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIsLb1ELb1EEC2Eb
Line
Count
Source
51
749
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIiLb1ELb1EEC2Eb
Line
Count
Source
51
10.9k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIlLb1ELb1EEC2Eb
Line
Count
Source
51
4.80k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncInLb1ELb1EEC2Eb
Line
Count
Source
51
229
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIfLb1ELb1EEC2Eb
Line
Count
Source
51
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIdLb1ELb1EEC2Eb
Line
Count
Source
51
38
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EEC2Eb
Line
Count
Source
51
43
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
51
681
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
51
227
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EEC2Eb
Line
Count
Source
51
1
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EEC2Eb
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EEC2Eb
Line
Count
Source
51
1.00k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EEC2Eb
Line
Count
Source
51
112
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EEC2Eb
Line
Count
Source
51
103
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EEC2Eb
Line
Count
Source
51
320
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EEC2Eb
Line
Count
Source
51
41
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIjLb1ELb1EEC2Eb
Line
Count
Source
51
18
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIoLb1ELb1EEC2Eb
Line
Count
Source
51
150
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
52
1.00k
    ~MinMaxNumFunc() override = default;
53
54
6.93k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
6.93k
        if (is_column_nullable(*column)) {
56
4.72k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
4.72k
            const auto& col = nullable->get_nested_column_ptr();
58
4.72k
            const auto& nullmap = nullable->get_null_map_data();
59
4.72k
            if (nullable->has_null()) {
60
4.04k
                _update_batch(col, nullmap, start);
61
4.04k
                _contain_null = true;
62
4.04k
            } else {
63
672
                _update_batch(col, start);
64
672
            }
65
4.72k
        } else {
66
2.21k
            _update_batch(column, start);
67
2.21k
        }
68
6.93k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
2
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
2
        if (is_column_nullable(*column)) {
56
2
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
2
            const auto& col = nullable->get_nested_column_ptr();
58
2
            const auto& nullmap = nullable->get_null_map_data();
59
2
            if (nullable->has_null()) {
60
2
                _update_batch(col, nullmap, start);
61
2
                _contain_null = true;
62
2
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
2
        } else {
66
0
            _update_batch(column, start);
67
0
        }
68
2
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
11
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
11
        if (is_column_nullable(*column)) {
56
10
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
10
            const auto& col = nullable->get_nested_column_ptr();
58
10
            const auto& nullmap = nullable->get_null_map_data();
59
10
            if (nullable->has_null()) {
60
10
                _update_batch(col, nullmap, start);
61
10
                _contain_null = true;
62
10
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
10
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
11
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
394
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
395
        if (is_column_nullable(*column)) {
56
395
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
395
            const auto& col = nullable->get_nested_column_ptr();
58
395
            const auto& nullmap = nullable->get_null_map_data();
59
395
            if (nullable->has_null()) {
60
193
                _update_batch(col, nullmap, start);
61
193
                _contain_null = true;
62
202
            } else {
63
202
                _update_batch(col, start);
64
202
            }
65
18.4E
        } else {
66
18.4E
            _update_batch(column, start);
67
18.4E
        }
68
394
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
124
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
124
        if (is_column_nullable(*column)) {
56
122
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
122
            const auto& col = nullable->get_nested_column_ptr();
58
122
            const auto& nullmap = nullable->get_null_map_data();
59
123
            if (nullable->has_null()) {
60
123
                _update_batch(col, nullmap, start);
61
123
                _contain_null = true;
62
18.4E
            } else {
63
18.4E
                _update_batch(col, start);
64
18.4E
            }
65
122
        } else {
66
2
            _update_batch(column, start);
67
2
        }
68
124
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
3.94k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
3.94k
        if (is_column_nullable(*column)) {
56
2.53k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
2.53k
            const auto& col = nullable->get_nested_column_ptr();
58
2.53k
            const auto& nullmap = nullable->get_null_map_data();
59
2.53k
            if (nullable->has_null()) {
60
2.26k
                _update_batch(col, nullmap, start);
61
2.26k
                _contain_null = true;
62
2.26k
            } else {
63
268
                _update_batch(col, start);
64
268
            }
65
2.53k
        } else {
66
1.41k
            _update_batch(column, start);
67
1.41k
        }
68
3.94k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
1.26k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
1.26k
        if (is_column_nullable(*column)) {
56
1.09k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
1.09k
            const auto& col = nullable->get_nested_column_ptr();
58
1.09k
            const auto& nullmap = nullable->get_null_map_data();
59
1.09k
            if (nullable->has_null()) {
60
1.02k
                _update_batch(col, nullmap, start);
61
1.02k
                _contain_null = true;
62
1.02k
            } else {
63
75
                _update_batch(col, start);
64
75
            }
65
1.09k
        } else {
66
168
            _update_batch(column, start);
67
168
        }
68
1.26k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
119
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
119
        if (is_column_nullable(*column)) {
56
45
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
45
            const auto& col = nullable->get_nested_column_ptr();
58
45
            const auto& nullmap = nullable->get_null_map_data();
59
46
            if (nullable->has_null()) {
60
46
                _update_batch(col, nullmap, start);
61
46
                _contain_null = true;
62
18.4E
            } else {
63
18.4E
                _update_batch(col, start);
64
18.4E
            }
65
74
        } else {
66
74
            _update_batch(column, start);
67
74
        }
68
119
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
1
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
1
        if (is_column_nullable(*column)) {
56
0
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
0
            const auto& col = nullable->get_nested_column_ptr();
58
0
            const auto& nullmap = nullable->get_null_map_data();
59
0
            if (nullable->has_null()) {
60
0
                _update_batch(col, nullmap, start);
61
0
                _contain_null = true;
62
0
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
1
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
1
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
14
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
14
        if (is_column_nullable(*column)) {
56
13
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
13
            const auto& col = nullable->get_nested_column_ptr();
58
13
            const auto& nullmap = nullable->get_null_map_data();
59
13
            if (nullable->has_null()) {
60
8
                _update_batch(col, nullmap, start);
61
8
                _contain_null = true;
62
8
            } else {
63
5
                _update_batch(col, start);
64
5
            }
65
13
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
14
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
13
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
13
        if (is_column_nullable(*column)) {
56
11
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
11
            const auto& col = nullable->get_nested_column_ptr();
58
11
            const auto& nullmap = nullable->get_null_map_data();
59
11
            if (nullable->has_null()) {
60
11
                _update_batch(col, nullmap, start);
61
11
                _contain_null = true;
62
11
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
11
        } else {
66
2
            _update_batch(column, start);
67
2
        }
68
13
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
54
219
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
219
        if (is_column_nullable(*column)) {
56
56
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
56
            const auto& col = nullable->get_nested_column_ptr();
58
56
            const auto& nullmap = nullable->get_null_map_data();
59
56
            if (nullable->has_null()) {
60
56
                _update_batch(col, nullmap, start);
61
56
                _contain_null = true;
62
56
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
163
        } else {
66
163
            _update_batch(column, start);
67
163
        }
68
219
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
54
35
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
35
        if (is_column_nullable(*column)) {
56
18
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
18
            const auto& col = nullable->get_nested_column_ptr();
58
18
            const auto& nullmap = nullable->get_null_map_data();
59
18
            if (nullable->has_null()) {
60
16
                _update_batch(col, nullmap, start);
61
16
                _contain_null = true;
62
16
            } else {
63
2
                _update_batch(col, start);
64
2
            }
65
18
        } else {
66
17
            _update_batch(column, start);
67
17
        }
68
35
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
54
492
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
492
        if (is_column_nullable(*column)) {
56
194
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
194
            const auto& col = nullable->get_nested_column_ptr();
58
194
            const auto& nullmap = nullable->get_null_map_data();
59
194
            if (nullable->has_null()) {
60
123
                _update_batch(col, nullmap, start);
61
123
                _contain_null = true;
62
123
            } else {
63
71
                _update_batch(col, start);
64
71
            }
65
298
        } else {
66
298
            _update_batch(column, start);
67
298
        }
68
492
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
54
17
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
17
        if (is_column_nullable(*column)) {
56
16
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
16
            const auto& col = nullable->get_nested_column_ptr();
58
16
            const auto& nullmap = nullable->get_null_map_data();
59
16
            if (nullable->has_null()) {
60
16
                _update_batch(col, nullmap, start);
61
16
                _contain_null = true;
62
16
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
16
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
17
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
54
56
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
56
        if (is_column_nullable(*column)) {
56
17
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
17
            const auto& col = nullable->get_nested_column_ptr();
58
17
            const auto& nullmap = nullable->get_null_map_data();
59
17
            if (nullable->has_null()) {
60
17
                _update_batch(col, nullmap, start);
61
17
                _contain_null = true;
62
17
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
39
        } else {
66
39
            _update_batch(column, start);
67
39
        }
68
56
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
121
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
121
        if (is_column_nullable(*column)) {
56
107
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
107
            const auto& col = nullable->get_nested_column_ptr();
58
107
            const auto& nullmap = nullable->get_null_map_data();
59
107
            if (nullable->has_null()) {
60
58
                _update_batch(col, nullmap, start);
61
58
                _contain_null = true;
62
58
            } else {
63
49
                _update_batch(col, start);
64
49
            }
65
107
        } else {
66
14
            _update_batch(column, start);
67
14
        }
68
121
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EEm
Line
Count
Source
54
19
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
19
        if (is_column_nullable(*column)) {
56
18
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
18
            const auto& col = nullable->get_nested_column_ptr();
58
18
            const auto& nullmap = nullable->get_null_map_data();
59
18
            if (nullable->has_null()) {
60
18
                _update_batch(col, nullmap, start);
61
18
                _contain_null = true;
62
18
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
18
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
19
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
3
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
3
        if (is_column_nullable(*column)) {
56
2
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
2
            const auto& col = nullable->get_nested_column_ptr();
58
2
            const auto& nullmap = nullable->get_null_map_data();
59
2
            if (nullable->has_null()) {
60
2
                _update_batch(col, nullmap, start);
61
2
                _contain_null = true;
62
2
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
2
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
3
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
90
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
90
        if (is_column_nullable(*column)) {
56
65
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
65
            const auto& col = nullable->get_nested_column_ptr();
58
65
            const auto& nullmap = nullable->get_null_map_data();
59
65
            if (nullable->has_null()) {
60
63
                _update_batch(col, nullmap, start);
61
63
                _contain_null = true;
62
63
            } else {
63
2
                _update_batch(col, start);
64
2
            }
65
65
        } else {
66
25
            _update_batch(column, start);
67
25
        }
68
90
    }
69
70
8.13k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
8.13k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
8.13k
        if constexpr (NeedMin) {
73
8.13k
            if constexpr (IsStringValue) {
74
469
                if (other_minmax->_min < _min || !_min_value_set) {
75
86
                    _min = other_minmax->_min;
76
86
                    _min_value_set = true;
77
86
                }
78
7.66k
            } else if (other_minmax->_min < _min) {
79
888
                _min = other_minmax->_min;
80
888
            }
81
8.13k
        }
82
8.13k
        if constexpr (NeedMax) {
83
8.13k
            if (other_minmax->_max > _max) {
84
1.04k
                _max = other_minmax->_max;
85
1.04k
            }
86
8.13k
        }
87
88
8.13k
        _contain_null |= minmax_func->contain_null();
89
8.13k
        return Status::OK();
90
8.13k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
4
    Status merge(MinMaxFuncBase* minmax_func) override {
71
4
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
4
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
4
            } else if (other_minmax->_min < _min) {
79
1
                _min = other_minmax->_min;
80
1
            }
81
4
        }
82
4
        if constexpr (NeedMax) {
83
4
            if (other_minmax->_max > _max) {
84
1
                _max = other_minmax->_max;
85
1
            }
86
4
        }
87
88
4
        _contain_null |= minmax_func->contain_null();
89
4
        return Status::OK();
90
4
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
8
    Status merge(MinMaxFuncBase* minmax_func) override {
71
8
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
8
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
8
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
8
        }
82
8
        if constexpr (NeedMax) {
83
8
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
8
        }
87
88
8
        _contain_null |= minmax_func->contain_null();
89
8
        return Status::OK();
90
8
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
314
    Status merge(MinMaxFuncBase* minmax_func) override {
71
314
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
314
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
314
            } else if (other_minmax->_min < _min) {
79
12
                _min = other_minmax->_min;
80
12
            }
81
314
        }
82
314
        if constexpr (NeedMax) {
83
314
            if (other_minmax->_max > _max) {
84
19
                _max = other_minmax->_max;
85
19
            }
86
314
        }
87
88
314
        _contain_null |= minmax_func->contain_null();
89
314
        return Status::OK();
90
314
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
317
    Status merge(MinMaxFuncBase* minmax_func) override {
71
317
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
317
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
317
            } else if (other_minmax->_min < _min) {
79
18
                _min = other_minmax->_min;
80
18
            }
81
317
        }
82
317
        if constexpr (NeedMax) {
83
317
            if (other_minmax->_max > _max) {
84
18
                _max = other_minmax->_max;
85
18
            }
86
317
        }
87
88
317
        _contain_null |= minmax_func->contain_null();
89
317
        return Status::OK();
90
317
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
4.51k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
4.51k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
4.51k
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
4.51k
            } else if (other_minmax->_min < _min) {
79
657
                _min = other_minmax->_min;
80
657
            }
81
4.51k
        }
82
4.51k
        if constexpr (NeedMax) {
83
4.51k
            if (other_minmax->_max > _max) {
84
717
                _max = other_minmax->_max;
85
717
            }
86
4.51k
        }
87
88
4.51k
        _contain_null |= minmax_func->contain_null();
89
4.51k
        return Status::OK();
90
4.51k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
1.65k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
1.65k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
1.65k
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
1.65k
            } else if (other_minmax->_min < _min) {
79
111
                _min = other_minmax->_min;
80
111
            }
81
1.65k
        }
82
1.65k
        if constexpr (NeedMax) {
83
1.65k
            if (other_minmax->_max > _max) {
84
128
                _max = other_minmax->_max;
85
128
            }
86
1.65k
        }
87
88
1.65k
        _contain_null |= minmax_func->contain_null();
89
1.65k
        return Status::OK();
90
1.65k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
126
    Status merge(MinMaxFuncBase* minmax_func) override {
71
126
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
126
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
126
            } else if (other_minmax->_min < _min) {
79
10
                _min = other_minmax->_min;
80
10
            }
81
126
        }
82
126
        if constexpr (NeedMax) {
83
126
            if (other_minmax->_max > _max) {
84
10
                _max = other_minmax->_max;
85
10
            }
86
126
        }
87
88
126
        _contain_null |= minmax_func->contain_null();
89
126
        return Status::OK();
90
126
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
6
    Status merge(MinMaxFuncBase* minmax_func) override {
71
6
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
6
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
6
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
6
        }
82
6
        if constexpr (NeedMax) {
83
6
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
6
        }
87
88
6
        _contain_null |= minmax_func->contain_null();
89
6
        return Status::OK();
90
6
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
3
    Status merge(MinMaxFuncBase* minmax_func) override {
71
3
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
3
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
3
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
3
        }
82
3
        if constexpr (NeedMax) {
83
3
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
3
        }
87
88
3
        _contain_null |= minmax_func->contain_null();
89
3
        return Status::OK();
90
3
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
280
    Status merge(MinMaxFuncBase* minmax_func) override {
71
280
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
280
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
280
            } else if (other_minmax->_min < _min) {
79
39
                _min = other_minmax->_min;
80
39
            }
81
280
        }
82
280
        if constexpr (NeedMax) {
83
280
            if (other_minmax->_max > _max) {
84
47
                _max = other_minmax->_max;
85
47
            }
86
280
        }
87
88
280
        _contain_null |= minmax_func->contain_null();
89
280
        return Status::OK();
90
280
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
68
    Status merge(MinMaxFuncBase* minmax_func) override {
71
68
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
68
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
68
            } else if (other_minmax->_min < _min) {
79
9
                _min = other_minmax->_min;
80
9
            }
81
68
        }
82
68
        if constexpr (NeedMax) {
83
68
            if (other_minmax->_max > _max) {
84
5
                _max = other_minmax->_max;
85
5
            }
86
68
        }
87
88
68
        _contain_null |= minmax_func->contain_null();
89
68
        return Status::OK();
90
68
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
469
    Status merge(MinMaxFuncBase* minmax_func) override {
71
469
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
469
        if constexpr (NeedMin) {
73
469
            if constexpr (IsStringValue) {
74
469
                if (other_minmax->_min < _min || !_min_value_set) {
75
86
                    _min = other_minmax->_min;
76
86
                    _min_value_set = true;
77
86
                }
78
            } else if (other_minmax->_min < _min) {
79
                _min = other_minmax->_min;
80
            }
81
469
        }
82
469
        if constexpr (NeedMax) {
83
469
            if (other_minmax->_max > _max) {
84
66
                _max = other_minmax->_max;
85
66
            }
86
469
        }
87
88
469
        _contain_null |= minmax_func->contain_null();
89
469
        return Status::OK();
90
469
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
31
    Status merge(MinMaxFuncBase* minmax_func) override {
71
31
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
31
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
31
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
31
        }
82
31
        if constexpr (NeedMax) {
83
31
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
31
        }
87
88
31
        _contain_null |= minmax_func->contain_null();
89
31
        return Status::OK();
90
31
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
61
    Status merge(MinMaxFuncBase* minmax_func) override {
71
61
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
61
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
61
            } else if (other_minmax->_min < _min) {
79
8
                _min = other_minmax->_min;
80
8
            }
81
61
        }
82
61
        if constexpr (NeedMax) {
83
61
            if (other_minmax->_max > _max) {
84
10
                _max = other_minmax->_max;
85
10
            }
86
61
        }
87
88
61
        _contain_null |= minmax_func->contain_null();
89
61
        return Status::OK();
90
61
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
156
    Status merge(MinMaxFuncBase* minmax_func) override {
71
156
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
156
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
156
            } else if (other_minmax->_min < _min) {
79
17
                _min = other_minmax->_min;
80
17
            }
81
156
        }
82
156
        if constexpr (NeedMax) {
83
156
            if (other_minmax->_max > _max) {
84
17
                _max = other_minmax->_max;
85
17
            }
86
156
        }
87
88
156
        _contain_null |= minmax_func->contain_null();
89
156
        return Status::OK();
90
156
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
9
    Status merge(MinMaxFuncBase* minmax_func) override {
71
9
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
9
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
9
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
9
        }
82
9
        if constexpr (NeedMax) {
83
9
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
9
        }
87
88
9
        _contain_null |= minmax_func->contain_null();
89
9
        return Status::OK();
90
9
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
10
    Status merge(MinMaxFuncBase* minmax_func) override {
71
10
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
10
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
10
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
10
        }
82
10
        if constexpr (NeedMax) {
83
10
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
10
        }
87
88
10
        _contain_null |= minmax_func->contain_null();
89
10
        return Status::OK();
90
10
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
91
    Status merge(MinMaxFuncBase* minmax_func) override {
71
91
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
91
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
91
            } else if (other_minmax->_min < _min) {
79
6
                _min = other_minmax->_min;
80
6
            }
81
91
        }
82
91
        if constexpr (NeedMax) {
83
91
            if (other_minmax->_max > _max) {
84
5
                _max = other_minmax->_max;
85
5
            }
86
91
        }
87
88
91
        _contain_null |= minmax_func->contain_null();
89
91
        return Status::OK();
90
91
    }
91
92
867
    MinMaxFuncBase* clone() const override {
93
867
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
867
        cloned->_max = _max;
95
867
        cloned->_min = _min;
96
867
        cloned->_min_value_set = _min_value_set;
97
867
        cloned->_contain_null = _contain_null;
98
867
        return cloned;
99
867
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncIhLb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5cloneEv
Line
Count
Source
92
2
    MinMaxFuncBase* clone() const override {
93
2
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
2
        cloned->_max = _max;
95
2
        cloned->_min = _min;
96
2
        cloned->_min_value_set = _min_value_set;
97
2
        cloned->_contain_null = _contain_null;
98
2
        return cloned;
99
2
    }
_ZNK5doris13MinMaxNumFuncIaLb1ELb1EE5cloneEv
Line
Count
Source
92
52
    MinMaxFuncBase* clone() const override {
93
52
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
52
        cloned->_max = _max;
95
52
        cloned->_min = _min;
96
52
        cloned->_min_value_set = _min_value_set;
97
52
        cloned->_contain_null = _contain_null;
98
52
        return cloned;
99
52
    }
_ZNK5doris13MinMaxNumFuncIsLb1ELb1EE5cloneEv
Line
Count
Source
92
59
    MinMaxFuncBase* clone() const override {
93
59
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
59
        cloned->_max = _max;
95
59
        cloned->_min = _min;
96
59
        cloned->_min_value_set = _min_value_set;
97
59
        cloned->_contain_null = _contain_null;
98
59
        return cloned;
99
59
    }
_ZNK5doris13MinMaxNumFuncIiLb1ELb1EE5cloneEv
Line
Count
Source
92
503
    MinMaxFuncBase* clone() const override {
93
503
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
503
        cloned->_max = _max;
95
503
        cloned->_min = _min;
96
503
        cloned->_min_value_set = _min_value_set;
97
503
        cloned->_contain_null = _contain_null;
98
503
        return cloned;
99
503
    }
_ZNK5doris13MinMaxNumFuncIlLb1ELb1EE5cloneEv
Line
Count
Source
92
122
    MinMaxFuncBase* clone() const override {
93
122
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
122
        cloned->_max = _max;
95
122
        cloned->_min = _min;
96
122
        cloned->_min_value_set = _min_value_set;
97
122
        cloned->_contain_null = _contain_null;
98
122
        return cloned;
99
122
    }
_ZNK5doris13MinMaxNumFuncInLb1ELb1EE5cloneEv
Line
Count
Source
92
15
    MinMaxFuncBase* clone() const override {
93
15
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
15
        cloned->_max = _max;
95
15
        cloned->_min = _min;
96
15
        cloned->_min_value_set = _min_value_set;
97
15
        cloned->_contain_null = _contain_null;
98
15
        return cloned;
99
15
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncIfLb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncIdLb1ELb1EE5cloneEv
Line
Count
Source
92
2
    MinMaxFuncBase* clone() const override {
93
2
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
2
        cloned->_max = _max;
95
2
        cloned->_min = _min;
96
2
        cloned->_min_value_set = _min_value_set;
97
2
        cloned->_contain_null = _contain_null;
98
2
        return cloned;
99
2
    }
_ZNK5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5cloneEv
Line
Count
Source
92
3
    MinMaxFuncBase* clone() const override {
93
3
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
3
        cloned->_max = _max;
95
3
        cloned->_min = _min;
96
3
        cloned->_min_value_set = _min_value_set;
97
3
        cloned->_contain_null = _contain_null;
98
3
        return cloned;
99
3
    }
_ZNK5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5cloneEv
Line
Count
Source
92
22
    MinMaxFuncBase* clone() const override {
93
22
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
22
        cloned->_max = _max;
95
22
        cloned->_min = _min;
96
22
        cloned->_min_value_set = _min_value_set;
97
22
        cloned->_contain_null = _contain_null;
98
22
        return cloned;
99
22
    }
_ZNK5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5cloneEv
Line
Count
Source
92
9
    MinMaxFuncBase* clone() const override {
93
9
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
9
        cloned->_max = _max;
95
9
        cloned->_min = _min;
96
9
        cloned->_min_value_set = _min_value_set;
97
9
        cloned->_contain_null = _contain_null;
98
9
        return cloned;
99
9
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE5cloneEv
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5cloneEv
Line
Count
Source
92
28
    MinMaxFuncBase* clone() const override {
93
28
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
28
        cloned->_max = _max;
95
28
        cloned->_min = _min;
96
28
        cloned->_min_value_set = _min_value_set;
97
28
        cloned->_contain_null = _contain_null;
98
28
        return cloned;
99
28
    }
_ZNK5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5cloneEv
Line
Count
Source
92
11
    MinMaxFuncBase* clone() const override {
93
11
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
11
        cloned->_max = _max;
95
11
        cloned->_min = _min;
96
11
        cloned->_min_value_set = _min_value_set;
97
11
        cloned->_contain_null = _contain_null;
98
11
        return cloned;
99
11
    }
_ZNK5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5cloneEv
Line
Count
Source
92
6
    MinMaxFuncBase* clone() const override {
93
6
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
6
        cloned->_max = _max;
95
6
        cloned->_min = _min;
96
6
        cloned->_min_value_set = _min_value_set;
97
6
        cloned->_contain_null = _contain_null;
98
6
        return cloned;
99
6
    }
_ZNK5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5cloneEv
Line
Count
Source
92
15
    MinMaxFuncBase* clone() const override {
93
15
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
15
        cloned->_max = _max;
95
15
        cloned->_min = _min;
96
15
        cloned->_min_value_set = _min_value_set;
97
15
        cloned->_contain_null = _contain_null;
98
15
        return cloned;
99
15
    }
_ZNK5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5cloneEv
Line
Count
Source
92
3
    MinMaxFuncBase* clone() const override {
93
3
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
3
        cloned->_max = _max;
95
3
        cloned->_min = _min;
96
3
        cloned->_min_value_set = _min_value_set;
97
3
        cloned->_contain_null = _contain_null;
98
3
        return cloned;
99
3
    }
_ZNK5doris13MinMaxNumFuncIjLb1ELb1EE5cloneEv
Line
Count
Source
92
2
    MinMaxFuncBase* clone() const override {
93
2
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
2
        cloned->_max = _max;
95
2
        cloned->_min = _min;
96
2
        cloned->_min_value_set = _min_value_set;
97
2
        cloned->_contain_null = _contain_null;
98
2
        return cloned;
99
2
    }
_ZNK5doris13MinMaxNumFuncIoLb1ELb1EE5cloneEv
Line
Count
Source
92
13
    MinMaxFuncBase* clone() const override {
93
13
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
13
        cloned->_max = _max;
95
13
        cloned->_min = _min;
96
13
        cloned->_min_value_set = _min_value_set;
97
13
        cloned->_contain_null = _contain_null;
98
13
        return cloned;
99
13
    }
100
101
5.35k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_maxEv
Line
Count
Source
101
6
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
11
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_maxEv
Line
Count
Source
101
195
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_maxEv
Line
Count
Source
101
155
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_maxEv
Line
Count
Source
101
2.65k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_maxEv
Line
Count
Source
101
1.52k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_maxEv
Line
Count
Source
101
49
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE7get_maxEv
Line
Count
Source
101
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7get_maxEv
Line
Count
Source
101
12
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
22
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
158
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
75
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
1
    void* get_max() override { return &_max; }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_maxEv
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
329
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_maxEv
Line
Count
Source
101
39
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_maxEv
Line
Count
Source
101
24
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_maxEv
Line
Count
Source
101
53
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
20
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_maxEv
Line
Count
Source
101
4
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_maxEv
Line
Count
Source
101
22
    void* get_max() override { return &_max; }
102
103
5.35k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_minEv
Line
Count
Source
103
6
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_minEv
Line
Count
Source
103
12
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_minEv
Line
Count
Source
103
181
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_minEv
Line
Count
Source
103
155
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_minEv
Line
Count
Source
103
2.66k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_minEv
Line
Count
Source
103
1.54k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_minEv
Line
Count
Source
103
43
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE7get_minEv
Line
Count
Source
103
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7get_minEv
Line
Count
Source
103
9
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_minEv
Line
Count
Source
103
22
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
103
157
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
103
75
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE7get_minEv
Line
Count
Source
103
1
    void* get_min() override { return &_min; }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_minEv
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_minEv
Line
Count
Source
103
322
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_minEv
Line
Count
Source
103
39
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_minEv
Line
Count
Source
103
24
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_minEv
Line
Count
Source
103
60
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_minEv
Line
Count
Source
103
20
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_minEv
Line
Count
Source
103
4
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_minEv
Line
Count
Source
103
22
    void* get_min() override { return &_min; }
104
105
1.60k
    Status assign(void* min_data, void* max_data) override {
106
1.60k
        if constexpr (IsStringValue) {
107
101
            _min_value_set = true;
108
101
        }
109
1.60k
        _min = *(T*)min_data;
110
1.60k
        _max = *(T*)max_data;
111
1.60k
        return Status::OK();
112
1.60k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
3
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
3
        _min = *(T*)min_data;
110
3
        _max = *(T*)max_data;
111
3
        return Status::OK();
112
3
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE6assignEPvS3_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
13
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
13
        _min = *(T*)min_data;
110
13
        _max = *(T*)max_data;
111
13
        return Status::OK();
112
13
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
74
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
74
        _min = *(T*)min_data;
110
74
        _max = *(T*)max_data;
111
74
        return Status::OK();
112
74
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
1.11k
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1.11k
        _min = *(T*)min_data;
110
1.11k
        _max = *(T*)max_data;
111
1.11k
        return Status::OK();
112
1.11k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
149
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
149
        _min = *(T*)min_data;
110
149
        _max = *(T*)max_data;
111
149
        return Status::OK();
112
149
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
15
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
15
        _min = *(T*)min_data;
110
15
        _max = *(T*)max_data;
111
15
        return Status::OK();
112
15
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
3
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
3
        _min = *(T*)min_data;
110
3
        _max = *(T*)max_data;
111
3
        return Status::OK();
112
3
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE6assignEPvS3_
Line
Count
Source
105
2
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
2
        _min = *(T*)min_data;
110
2
        _max = *(T*)max_data;
111
2
        return Status::OK();
112
2
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
105
67
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
67
        _min = *(T*)min_data;
110
67
        _max = *(T*)max_data;
111
67
        return Status::OK();
112
67
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
105
7
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
7
        _min = *(T*)min_data;
110
7
        _max = *(T*)max_data;
111
7
        return Status::OK();
112
7
    }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE6assignEPvS3_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE6assignEPvS3_
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE6assignEPvS8_
Line
Count
Source
105
101
    Status assign(void* min_data, void* max_data) override {
106
101
        if constexpr (IsStringValue) {
107
101
            _min_value_set = true;
108
101
        }
109
101
        _min = *(T*)min_data;
110
101
        _max = *(T*)max_data;
111
101
        return Status::OK();
112
101
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE6assignEPvS4_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE6assignEPvS4_
Line
Count
Source
105
5
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
5
        _min = *(T*)min_data;
110
5
        _max = *(T*)max_data;
111
5
        return Status::OK();
112
5
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE6assignEPvS3_
Line
Count
Source
105
39
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
39
        _min = *(T*)min_data;
110
39
        _max = *(T*)max_data;
111
39
        return Status::OK();
112
39
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE6assignEPvS7_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
11
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
11
        _min = *(T*)min_data;
110
11
        _max = *(T*)max_data;
111
11
        return Status::OK();
112
11
    }
113
114
1.83k
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
2
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
12
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
81
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
1.27k
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
174
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
14
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
5
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
81
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
6
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
134
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
4
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
41
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
10
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
115
116
private:
117
1.83k
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
1.83k
        if constexpr (NeedMin) {
119
1.83k
            f(filter->mutable_min_val(), _min);
120
1.83k
        }
121
1.83k
        if constexpr (NeedMax) {
122
1.83k
            f(filter->mutable_max_val(), _max);
123
1.83k
        }
124
1.83k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7_set_pbIZNS_13get_convertorIhEEDavEUlPNS_12PColumnValueERKhE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
2
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
2
        if constexpr (NeedMin) {
119
2
            f(filter->mutable_min_val(), _min);
120
2
        }
121
2
        if constexpr (NeedMax) {
122
2
            f(filter->mutable_max_val(), _max);
123
2
        }
124
2
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7_set_pbIZNS_13get_convertorIaEEDavEUlPNS_12PColumnValueERKaE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
12
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
12
        if constexpr (NeedMin) {
119
12
            f(filter->mutable_min_val(), _min);
120
12
        }
121
12
        if constexpr (NeedMax) {
122
12
            f(filter->mutable_max_val(), _max);
123
12
        }
124
12
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7_set_pbIZNS_13get_convertorIsEEDavEUlPNS_12PColumnValueERKsE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
81
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
81
        if constexpr (NeedMin) {
119
81
            f(filter->mutable_min_val(), _min);
120
81
        }
121
81
        if constexpr (NeedMax) {
122
81
            f(filter->mutable_max_val(), _max);
123
81
        }
124
81
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7_set_pbIZNS_13get_convertorIiEEDavEUlPNS_12PColumnValueERKiE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
1.27k
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
1.27k
        if constexpr (NeedMin) {
119
1.27k
            f(filter->mutable_min_val(), _min);
120
1.27k
        }
121
1.27k
        if constexpr (NeedMax) {
122
1.27k
            f(filter->mutable_max_val(), _max);
123
1.27k
        }
124
1.27k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7_set_pbIZNS_13get_convertorIlEEDavEUlPNS_12PColumnValueERKlE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
174
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
174
        if constexpr (NeedMin) {
119
174
            f(filter->mutable_min_val(), _min);
120
174
        }
121
174
        if constexpr (NeedMax) {
122
174
            f(filter->mutable_max_val(), _max);
123
174
        }
124
174
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7_set_pbIZNS_13get_convertorInEEDavEUlPNS_12PColumnValueERKnE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
14
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
14
        if constexpr (NeedMin) {
119
14
            f(filter->mutable_min_val(), _min);
120
14
        }
121
14
        if constexpr (NeedMax) {
122
14
            f(filter->mutable_max_val(), _max);
123
14
        }
124
14
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE7_set_pbIZNS_13get_convertorIfEEDavEUlPNS_12PColumnValueERKfE_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7_set_pbIZNS_13get_convertorIdEEDavEUlPNS_12PColumnValueERKdE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
5
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
5
        if constexpr (NeedMin) {
119
5
            f(filter->mutable_min_val(), _min);
120
5
        }
121
5
        if constexpr (NeedMax) {
122
5
            f(filter->mutable_max_val(), _max);
123
5
        }
124
5
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
81
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
81
        if constexpr (NeedMin) {
119
81
            f(filter->mutable_min_val(), _min);
120
81
        }
121
81
        if constexpr (NeedMax) {
122
81
            f(filter->mutable_max_val(), _max);
123
81
        }
124
81
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
6
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
6
        if constexpr (NeedMin) {
119
6
            f(filter->mutable_min_val(), _min);
120
6
        }
121
6
        if constexpr (NeedMax) {
122
6
            f(filter->mutable_max_val(), _max);
123
6
        }
124
6
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS6_EEDavEUlPNS_12PColumnValueERKS6_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
134
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
134
        if constexpr (NeedMin) {
119
134
            f(filter->mutable_min_val(), _min);
120
134
        }
121
134
        if constexpr (NeedMax) {
122
134
            f(filter->mutable_max_val(), _max);
123
134
        }
124
134
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7_set_pbIZNS_13get_convertorIS2_EEDavEUlPNS_12PColumnValueERKS2_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7_set_pbIZNS_13get_convertorIS2_EEDavEUlPNS_12PColumnValueERKS2_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
4
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
4
        if constexpr (NeedMin) {
119
4
            f(filter->mutable_min_val(), _min);
120
4
        }
121
4
        if constexpr (NeedMax) {
122
4
            f(filter->mutable_max_val(), _max);
123
4
        }
124
4
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
41
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
41
        if constexpr (NeedMin) {
119
41
            f(filter->mutable_min_val(), _min);
120
41
        }
121
41
        if constexpr (NeedMax) {
122
41
            f(filter->mutable_max_val(), _max);
123
41
        }
124
41
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS5_EEDavEUlPNS_12PColumnValueERKS5_E_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE7_set_pbIZNS_13get_convertorIjEEDavEUlPNS_12PColumnValueERKjE_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7_set_pbIZNS_13get_convertorIoEEDavEUlPNS_12PColumnValueERKoE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
10
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
10
        if constexpr (NeedMin) {
119
10
            f(filter->mutable_min_val(), _min);
120
10
        }
121
10
        if constexpr (NeedMax) {
122
10
            f(filter->mutable_max_val(), _max);
123
10
        }
124
10
    }
125
126
    void _update_batch_string(const auto& column_string, const uint8_t* __restrict nullmap,
127
492
                              size_t start, size_t size) {
128
19.4k
        for (size_t i = start; i < size; i++) {
129
18.9k
            if (nullmap == nullptr || !nullmap[i]) {
130
18.8k
                if constexpr (NeedMin) {
131
18.8k
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
132
967
                        _min = column_string.get_data_at(i).to_string();
133
967
                        _min_value_set = true;
134
967
                    }
135
18.8k
                }
136
18.8k
                if constexpr (NeedMax) {
137
18.8k
                    if (column_string.get_data_at(i) > StringRef(_max)) {
138
2.08k
                        _max = column_string.get_data_at(i).to_string();
139
2.08k
                    }
140
18.8k
                }
141
18.8k
            }
142
18.9k
        }
143
492
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE20_update_batch_stringINS_9ColumnStrImEEEEvRKT_PKhmm
Line
Count
Source
127
1
                              size_t start, size_t size) {
128
9
        for (size_t i = start; i < size; i++) {
129
8
            if (nullmap == nullptr || !nullmap[i]) {
130
8
                if constexpr (NeedMin) {
131
8
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
132
1
                        _min = column_string.get_data_at(i).to_string();
133
1
                        _min_value_set = true;
134
1
                    }
135
8
                }
136
8
                if constexpr (NeedMax) {
137
8
                    if (column_string.get_data_at(i) > StringRef(_max)) {
138
8
                        _max = column_string.get_data_at(i).to_string();
139
8
                    }
140
8
                }
141
8
            }
142
8
        }
143
1
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE20_update_batch_stringINS_9ColumnStrIjEEEEvRKT_PKhmm
Line
Count
Source
127
491
                              size_t start, size_t size) {
128
19.3k
        for (size_t i = start; i < size; i++) {
129
18.9k
            if (nullmap == nullptr || !nullmap[i]) {
130
18.8k
                if constexpr (NeedMin) {
131
18.8k
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
132
966
                        _min = column_string.get_data_at(i).to_string();
133
966
                        _min_value_set = true;
134
966
                    }
135
18.8k
                }
136
18.8k
                if constexpr (NeedMax) {
137
18.8k
                    if (column_string.get_data_at(i) > StringRef(_max)) {
138
2.08k
                        _max = column_string.get_data_at(i).to_string();
139
2.08k
                    }
140
18.8k
                }
141
18.8k
            }
142
18.9k
        }
143
491
    }
144
145
2.87k
    void _update_batch(const ColumnPtr& column, size_t start) {
146
2.87k
        const auto size = column->size();
147
2.87k
        if constexpr (std::is_same_v<T, std::string>) {
148
368
            if (column->is_column_string64()) {
149
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
1
                                     size);
151
367
            } else {
152
367
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
367
                                     size);
154
367
            }
155
2.51k
        } else {
156
2.51k
            const T* data = (T*)column->get_raw_data().data;
157
1.65M
            for (size_t i = start; i < size; i++) {
158
1.65M
                if constexpr (NeedMin) {
159
1.65M
                    _min = std::min(_min, *(data + i));
160
1.65M
                }
161
1.65M
                if constexpr (NeedMax) {
162
1.65M
                    _max = std::max(_max, *(data + i));
163
1.65M
                }
164
1.65M
            }
165
2.51k
        }
166
2.87k
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIhLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
145
1
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1
        } else {
156
1
            const T* data = (T*)column->get_raw_data().data;
157
4
            for (size_t i = start; i < size; i++) {
158
3
                if constexpr (NeedMin) {
159
3
                    _min = std::min(_min, *(data + i));
160
3
                }
161
3
                if constexpr (NeedMax) {
162
3
                    _max = std::max(_max, *(data + i));
163
3
                }
164
3
            }
165
1
        }
166
1
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
198
    void _update_batch(const ColumnPtr& column, size_t start) {
146
198
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
198
        } else {
156
198
            const T* data = (T*)column->get_raw_data().data;
157
608
            for (size_t i = start; i < size; i++) {
158
410
                if constexpr (NeedMin) {
159
410
                    _min = std::min(_min, *(data + i));
160
410
                }
161
410
                if constexpr (NeedMax) {
162
410
                    _max = std::max(_max, *(data + i));
163
410
                }
164
410
            }
165
198
        }
166
198
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
1
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1
        } else {
156
1
            const T* data = (T*)column->get_raw_data().data;
157
4
            for (size_t i = start; i < size; i++) {
158
3
                if constexpr (NeedMin) {
159
3
                    _min = std::min(_min, *(data + i));
160
3
                }
161
3
                if constexpr (NeedMax) {
162
3
                    _max = std::max(_max, *(data + i));
163
3
                }
164
3
            }
165
1
        }
166
1
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
1.67k
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1.67k
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1.67k
        } else {
156
1.67k
            const T* data = (T*)column->get_raw_data().data;
157
1.64M
            for (size_t i = start; i < size; i++) {
158
1.64M
                if constexpr (NeedMin) {
159
1.64M
                    _min = std::min(_min, *(data + i));
160
1.64M
                }
161
1.64M
                if constexpr (NeedMax) {
162
1.64M
                    _max = std::max(_max, *(data + i));
163
1.64M
                }
164
1.64M
            }
165
1.67k
        }
166
1.67k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
242
    void _update_batch(const ColumnPtr& column, size_t start) {
146
242
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
242
        } else {
156
242
            const T* data = (T*)column->get_raw_data().data;
157
1.20k
            for (size_t i = start; i < size; i++) {
158
965
                if constexpr (NeedMin) {
159
965
                    _min = std::min(_min, *(data + i));
160
965
                }
161
965
                if constexpr (NeedMax) {
162
965
                    _max = std::max(_max, *(data + i));
163
965
                }
164
965
            }
165
242
        }
166
242
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
74
    void _update_batch(const ColumnPtr& column, size_t start) {
146
74
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
74
        } else {
156
74
            const T* data = (T*)column->get_raw_data().data;
157
180
            for (size_t i = start; i < size; i++) {
158
106
                if constexpr (NeedMin) {
159
106
                    _min = std::min(_min, *(data + i));
160
106
                }
161
106
                if constexpr (NeedMax) {
162
106
                    _max = std::max(_max, *(data + i));
163
106
                }
164
106
            }
165
74
        }
166
74
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
1
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1
        } else {
156
1
            const T* data = (T*)column->get_raw_data().data;
157
4
            for (size_t i = start; i < size; i++) {
158
3
                if constexpr (NeedMin) {
159
3
                    _min = std::min(_min, *(data + i));
160
3
                }
161
3
                if constexpr (NeedMax) {
162
3
                    _max = std::max(_max, *(data + i));
163
3
                }
164
3
            }
165
1
        }
166
1
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
6
    void _update_batch(const ColumnPtr& column, size_t start) {
146
6
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
6
        } else {
156
6
            const T* data = (T*)column->get_raw_data().data;
157
14
            for (size_t i = start; i < size; i++) {
158
8
                if constexpr (NeedMin) {
159
8
                    _min = std::min(_min, *(data + i));
160
8
                }
161
8
                if constexpr (NeedMax) {
162
8
                    _max = std::max(_max, *(data + i));
163
8
                }
164
8
            }
165
6
        }
166
6
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
145
2
    void _update_batch(const ColumnPtr& column, size_t start) {
146
2
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
2
        } else {
156
2
            const T* data = (T*)column->get_raw_data().data;
157
8
            for (size_t i = start; i < size; i++) {
158
6
                if constexpr (NeedMin) {
159
6
                    _min = std::min(_min, *(data + i));
160
6
                }
161
6
                if constexpr (NeedMax) {
162
6
                    _max = std::max(_max, *(data + i));
163
6
                }
164
6
            }
165
2
        }
166
2
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
145
162
    void _update_batch(const ColumnPtr& column, size_t start) {
146
162
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
162
        } else {
156
162
            const T* data = (T*)column->get_raw_data().data;
157
3.77k
            for (size_t i = start; i < size; i++) {
158
3.61k
                if constexpr (NeedMin) {
159
3.61k
                    _min = std::min(_min, *(data + i));
160
3.61k
                }
161
3.61k
                if constexpr (NeedMax) {
162
3.61k
                    _max = std::max(_max, *(data + i));
163
3.61k
                }
164
3.61k
            }
165
162
        }
166
162
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
145
19
    void _update_batch(const ColumnPtr& column, size_t start) {
146
19
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
19
        } else {
156
19
            const T* data = (T*)column->get_raw_data().data;
157
69
            for (size_t i = start; i < size; i++) {
158
50
                if constexpr (NeedMin) {
159
50
                    _min = std::min(_min, *(data + i));
160
50
                }
161
50
                if constexpr (NeedMax) {
162
50
                    _max = std::max(_max, *(data + i));
163
50
                }
164
50
            }
165
19
        }
166
19
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
145
368
    void _update_batch(const ColumnPtr& column, size_t start) {
146
368
        const auto size = column->size();
147
368
        if constexpr (std::is_same_v<T, std::string>) {
148
368
            if (column->is_column_string64()) {
149
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
1
                                     size);
151
367
            } else {
152
367
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
367
                                     size);
154
367
            }
155
        } else {
156
            const T* data = (T*)column->get_raw_data().data;
157
            for (size_t i = start; i < size; i++) {
158
                if constexpr (NeedMin) {
159
                    _min = std::min(_min, *(data + i));
160
                }
161
                if constexpr (NeedMax) {
162
                    _max = std::max(_max, *(data + i));
163
                }
164
            }
165
        }
166
368
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
145
1
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1
        } else {
156
1
            const T* data = (T*)column->get_raw_data().data;
157
4
            for (size_t i = start; i < size; i++) {
158
3
                if constexpr (NeedMin) {
159
3
                    _min = std::min(_min, *(data + i));
160
3
                }
161
3
                if constexpr (NeedMax) {
162
3
                    _max = std::max(_max, *(data + i));
163
3
                }
164
3
            }
165
1
        }
166
1
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
145
39
    void _update_batch(const ColumnPtr& column, size_t start) {
146
39
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
39
        } else {
156
39
            const T* data = (T*)column->get_raw_data().data;
157
146
            for (size_t i = start; i < size; i++) {
158
107
                if constexpr (NeedMin) {
159
107
                    _min = std::min(_min, *(data + i));
160
107
                }
161
107
                if constexpr (NeedMax) {
162
107
                    _max = std::max(_max, *(data + i));
163
107
                }
164
107
            }
165
39
        }
166
39
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
145
63
    void _update_batch(const ColumnPtr& column, size_t start) {
146
63
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
63
        } else {
156
63
            const T* data = (T*)column->get_raw_data().data;
157
148
            for (size_t i = start; i < size; i++) {
158
85
                if constexpr (NeedMin) {
159
85
                    _min = std::min(_min, *(data + i));
160
85
                }
161
85
                if constexpr (NeedMax) {
162
85
                    _max = std::max(_max, *(data + i));
163
85
                }
164
85
            }
165
63
        }
166
63
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EEm
Line
Count
Source
145
1
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1
        } else {
156
1
            const T* data = (T*)column->get_raw_data().data;
157
4
            for (size_t i = start; i < size; i++) {
158
3
                if constexpr (NeedMin) {
159
3
                    _min = std::min(_min, *(data + i));
160
3
                }
161
3
                if constexpr (NeedMax) {
162
3
                    _max = std::max(_max, *(data + i));
163
3
                }
164
3
            }
165
1
        }
166
1
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
1
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1
        } else {
156
1
            const T* data = (T*)column->get_raw_data().data;
157
4
            for (size_t i = start; i < size; i++) {
158
3
                if constexpr (NeedMin) {
159
3
                    _min = std::min(_min, *(data + i));
160
3
                }
161
3
                if constexpr (NeedMax) {
162
3
                    _max = std::max(_max, *(data + i));
163
3
                }
164
3
            }
165
1
        }
166
1
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
27
    void _update_batch(const ColumnPtr& column, size_t start) {
146
27
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
27
        } else {
156
27
            const T* data = (T*)column->get_raw_data().data;
157
80
            for (size_t i = start; i < size; i++) {
158
53
                if constexpr (NeedMin) {
159
53
                    _min = std::min(_min, *(data + i));
160
53
                }
161
53
                if constexpr (NeedMax) {
162
53
                    _max = std::max(_max, *(data + i));
163
53
                }
164
53
            }
165
27
        }
166
27
    }
167
168
4.03k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
4.03k
        const auto size = column->size();
170
4.03k
        if constexpr (std::is_same_v<T, std::string>) {
171
123
            if (column->is_column_string64()) {
172
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
0
                                     start, size);
174
123
            } else {
175
123
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
123
                                     start, size);
177
123
            }
178
3.91k
        } else {
179
3.91k
            const T* data = (T*)column->get_raw_data().data;
180
8.05M
            for (size_t i = start; i < size; i++) {
181
8.04M
                if (!nullmap[i]) {
182
8.03M
                    if constexpr (NeedMin) {
183
8.03M
                        _min = std::min(_min, *(data + i));
184
8.03M
                    }
185
8.03M
                    if constexpr (NeedMax) {
186
8.03M
                        _max = std::max(_max, *(data + i));
187
8.03M
                    }
188
8.03M
                }
189
8.04M
            }
190
3.91k
        }
191
4.03k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
2
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
2
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
2
        } else {
179
2
            const T* data = (T*)column->get_raw_data().data;
180
5
            for (size_t i = start; i < size; i++) {
181
3
                if (!nullmap[i]) {
182
2
                    if constexpr (NeedMin) {
183
2
                        _min = std::min(_min, *(data + i));
184
2
                    }
185
2
                    if constexpr (NeedMax) {
186
2
                        _max = std::max(_max, *(data + i));
187
2
                    }
188
2
                }
189
3
            }
190
2
        }
191
2
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
10
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
10
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
10
        } else {
179
10
            const T* data = (T*)column->get_raw_data().data;
180
40
            for (size_t i = start; i < size; i++) {
181
30
                if (!nullmap[i]) {
182
30
                    if constexpr (NeedMin) {
183
30
                        _min = std::min(_min, *(data + i));
184
30
                    }
185
30
                    if constexpr (NeedMax) {
186
30
                        _max = std::max(_max, *(data + i));
187
30
                    }
188
30
                }
189
30
            }
190
10
        }
191
10
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
194
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
194
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
194
        } else {
179
194
            const T* data = (T*)column->get_raw_data().data;
180
569
            for (size_t i = start; i < size; i++) {
181
375
                if (!nullmap[i]) {
182
356
                    if constexpr (NeedMin) {
183
356
                        _min = std::min(_min, *(data + i));
184
356
                    }
185
356
                    if constexpr (NeedMax) {
186
356
                        _max = std::max(_max, *(data + i));
187
356
                    }
188
356
                }
189
375
            }
190
194
        }
191
194
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
122
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
122
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
122
        } else {
179
122
            const T* data = (T*)column->get_raw_data().data;
180
807
            for (size_t i = start; i < size; i++) {
181
685
                if (!nullmap[i]) {
182
576
                    if constexpr (NeedMin) {
183
576
                        _min = std::min(_min, *(data + i));
184
576
                    }
185
576
                    if constexpr (NeedMax) {
186
576
                        _max = std::max(_max, *(data + i));
187
576
                    }
188
576
                }
189
685
            }
190
122
        }
191
122
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
2.25k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
2.25k
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
2.25k
        } else {
179
2.25k
            const T* data = (T*)column->get_raw_data().data;
180
7.83M
            for (size_t i = start; i < size; i++) {
181
7.83M
                if (!nullmap[i]) {
182
7.82M
                    if constexpr (NeedMin) {
183
7.82M
                        _min = std::min(_min, *(data + i));
184
7.82M
                    }
185
7.82M
                    if constexpr (NeedMax) {
186
7.82M
                        _max = std::max(_max, *(data + i));
187
7.82M
                    }
188
7.82M
                }
189
7.83M
            }
190
2.25k
        }
191
2.25k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
1.02k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
1.02k
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
1.02k
        } else {
179
1.02k
            const T* data = (T*)column->get_raw_data().data;
180
204k
            for (size_t i = start; i < size; i++) {
181
203k
                if (!nullmap[i]) {
182
203k
                    if constexpr (NeedMin) {
183
203k
                        _min = std::min(_min, *(data + i));
184
203k
                    }
185
203k
                    if constexpr (NeedMax) {
186
203k
                        _max = std::max(_max, *(data + i));
187
203k
                    }
188
203k
                }
189
203k
            }
190
1.02k
        }
191
1.02k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
46
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
46
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
46
        } else {
179
46
            const T* data = (T*)column->get_raw_data().data;
180
92
            for (size_t i = start; i < size; i++) {
181
46
                if (!nullmap[i]) {
182
44
                    if constexpr (NeedMin) {
183
44
                        _min = std::min(_min, *(data + i));
184
44
                    }
185
44
                    if constexpr (NeedMax) {
186
44
                        _max = std::max(_max, *(data + i));
187
44
                    }
188
44
                }
189
46
            }
190
46
        }
191
46
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
8
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
8
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
8
        } else {
179
8
            const T* data = (T*)column->get_raw_data().data;
180
22
            for (size_t i = start; i < size; i++) {
181
14
                if (!nullmap[i]) {
182
8
                    if constexpr (NeedMin) {
183
8
                        _min = std::min(_min, *(data + i));
184
8
                    }
185
8
                    if constexpr (NeedMax) {
186
8
                        _max = std::max(_max, *(data + i));
187
8
                    }
188
8
                }
189
14
            }
190
8
        }
191
8
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
11
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
11
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
11
        } else {
179
11
            const T* data = (T*)column->get_raw_data().data;
180
95
            for (size_t i = start; i < size; i++) {
181
84
                if (!nullmap[i]) {
182
84
                    if constexpr (NeedMin) {
183
84
                        _min = std::min(_min, *(data + i));
184
84
                    }
185
84
                    if constexpr (NeedMax) {
186
84
                        _max = std::max(_max, *(data + i));
187
84
                    }
188
84
                }
189
84
            }
190
11
        }
191
11
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
56
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
56
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
56
        } else {
179
56
            const T* data = (T*)column->get_raw_data().data;
180
4.17k
            for (size_t i = start; i < size; i++) {
181
4.11k
                if (!nullmap[i]) {
182
3.51k
                    if constexpr (NeedMin) {
183
3.51k
                        _min = std::min(_min, *(data + i));
184
3.51k
                    }
185
3.51k
                    if constexpr (NeedMax) {
186
3.51k
                        _max = std::max(_max, *(data + i));
187
3.51k
                    }
188
3.51k
                }
189
4.11k
            }
190
56
        }
191
56
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
16
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
16
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
16
        } else {
179
16
            const T* data = (T*)column->get_raw_data().data;
180
52
            for (size_t i = start; i < size; i++) {
181
36
                if (!nullmap[i]) {
182
30
                    if constexpr (NeedMin) {
183
30
                        _min = std::min(_min, *(data + i));
184
30
                    }
185
30
                    if constexpr (NeedMax) {
186
30
                        _max = std::max(_max, *(data + i));
187
30
                    }
188
30
                }
189
36
            }
190
16
        }
191
16
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
123
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
123
        const auto size = column->size();
170
123
        if constexpr (std::is_same_v<T, std::string>) {
171
123
            if (column->is_column_string64()) {
172
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
0
                                     start, size);
174
123
            } else {
175
123
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
123
                                     start, size);
177
123
            }
178
        } else {
179
            const T* data = (T*)column->get_raw_data().data;
180
            for (size_t i = start; i < size; i++) {
181
                if (!nullmap[i]) {
182
                    if constexpr (NeedMin) {
183
                        _min = std::min(_min, *(data + i));
184
                    }
185
                    if constexpr (NeedMax) {
186
                        _max = std::max(_max, *(data + i));
187
                    }
188
                }
189
            }
190
        }
191
123
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
16
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
16
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
16
        } else {
179
16
            const T* data = (T*)column->get_raw_data().data;
180
61
            for (size_t i = start; i < size; i++) {
181
45
                if (!nullmap[i]) {
182
8
                    if constexpr (NeedMin) {
183
8
                        _min = std::min(_min, *(data + i));
184
8
                    }
185
8
                    if constexpr (NeedMax) {
186
8
                        _max = std::max(_max, *(data + i));
187
8
                    }
188
8
                }
189
45
            }
190
16
        }
191
16
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
17
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
17
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
17
        } else {
179
17
            const T* data = (T*)column->get_raw_data().data;
180
38
            for (size_t i = start; i < size; i++) {
181
21
                if (!nullmap[i]) {
182
20
                    if constexpr (NeedMin) {
183
20
                        _min = std::min(_min, *(data + i));
184
20
                    }
185
20
                    if constexpr (NeedMax) {
186
20
                        _max = std::max(_max, *(data + i));
187
20
                    }
188
20
                }
189
21
            }
190
17
        }
191
17
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
58
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
58
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
58
        } else {
179
58
            const T* data = (T*)column->get_raw_data().data;
180
268
            for (size_t i = start; i < size; i++) {
181
210
                if (!nullmap[i]) {
182
101
                    if constexpr (NeedMin) {
183
101
                        _min = std::min(_min, *(data + i));
184
101
                    }
185
101
                    if constexpr (NeedMax) {
186
101
                        _max = std::max(_max, *(data + i));
187
101
                    }
188
101
                }
189
210
            }
190
58
        }
191
58
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
18
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
18
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
18
        } else {
179
18
            const T* data = (T*)column->get_raw_data().data;
180
122
            for (size_t i = start; i < size; i++) {
181
104
                if (!nullmap[i]) {
182
102
                    if constexpr (NeedMin) {
183
102
                        _min = std::min(_min, *(data + i));
184
102
                    }
185
102
                    if constexpr (NeedMax) {
186
102
                        _max = std::max(_max, *(data + i));
187
102
                    }
188
102
                }
189
104
            }
190
18
        }
191
18
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
2
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
2
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
2
        } else {
179
2
            const T* data = (T*)column->get_raw_data().data;
180
24
            for (size_t i = start; i < size; i++) {
181
22
                if (!nullmap[i]) {
182
20
                    if constexpr (NeedMin) {
183
20
                        _min = std::min(_min, *(data + i));
184
20
                    }
185
20
                    if constexpr (NeedMax) {
186
20
                        _max = std::max(_max, *(data + i));
187
20
                    }
188
20
                }
189
22
            }
190
2
        }
191
2
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
63
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
63
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
63
        } else {
179
63
            const T* data = (T*)column->get_raw_data().data;
180
812
            for (size_t i = start; i < size; i++) {
181
749
                if (!nullmap[i]) {
182
681
                    if constexpr (NeedMin) {
183
681
                        _min = std::min(_min, *(data + i));
184
681
                    }
185
681
                    if constexpr (NeedMax) {
186
681
                        _max = std::max(_max, *(data + i));
187
681
                    }
188
681
                }
189
749
            }
190
63
        }
191
63
    }
192
193
    T _max = type_limit<T>::min();
194
    T _min = type_limit<T>::max();
195
196
    bool _min_value_set = false;
197
};
198
199
template <class T>
200
using MinNumFunc = MinMaxNumFunc<T, false, true>;
201
202
template <class T>
203
using MaxNumFunc = MinMaxNumFunc<T, true, false>;
204
205
} // namespace doris