Coverage Report

Created: 2026-08-18 09:29

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
16.4k
    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
16.4k
    virtual ~MinMaxFuncBase() = default;
41
42
    virtual void to_pb(PMinMaxFilter* filter) = 0;
43
};
44
45
template <class T, bool NeedMax = true, bool NeedMin = true>
46
class MinMaxNumFunc : public MinMaxFuncBase {
47
public:
48
    static constexpr bool IsStringValue = std::is_same_v<T, std::string>;
49
16.4k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIhLb1ELb1EEC2Eb
Line
Count
Source
49
17
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EEC2Eb
Line
Count
Source
49
18
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIaLb1ELb1EEC2Eb
Line
Count
Source
49
2.11k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIsLb1ELb1EEC2Eb
Line
Count
Source
49
1.53k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIiLb1ELb1EEC2Eb
Line
Count
Source
49
6.28k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIlLb1ELb1EEC2Eb
Line
Count
Source
49
3.81k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncInLb1ELb1EEC2Eb
Line
Count
Source
49
183
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIfLb1ELb1EEC2Eb
Line
Count
Source
49
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIdLb1ELb1EEC2Eb
Line
Count
Source
49
90
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EEC2Eb
Line
Count
Source
49
32
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
49
626
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
49
251
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EEC2Eb
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EEC2Eb
Line
Count
Source
49
695
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EEC2Eb
Line
Count
Source
49
198
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EEC2Eb
Line
Count
Source
49
230
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EEC2Eb
Line
Count
Source
49
318
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EEC2Eb
Line
Count
Source
49
26
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIjLb1ELb1EEC2Eb
Line
Count
Source
49
14
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIoLb1ELb1EEC2Eb
Line
Count
Source
49
14
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
50
695
    ~MinMaxNumFunc() override = default;
51
52
5.39k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
5.39k
        if (is_column_nullable(*column)) {
54
3.59k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
3.59k
            const auto& col = nullable->get_nested_column_ptr();
56
3.59k
            const auto& nullmap = nullable->get_null_map_data();
57
3.59k
            if (nullable->has_null()) {
58
3.08k
                _update_batch(col, nullmap, start);
59
3.08k
                _contain_null = true;
60
3.08k
            } else {
61
507
                _update_batch(col, start);
62
507
            }
63
3.59k
        } else {
64
1.80k
            _update_batch(column, start);
65
1.80k
        }
66
5.39k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
2
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
2
        if (is_column_nullable(*column)) {
54
2
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
2
            const auto& col = nullable->get_nested_column_ptr();
56
2
            const auto& nullmap = nullable->get_null_map_data();
57
2
            if (nullable->has_null()) {
58
2
                _update_batch(col, nullmap, start);
59
2
                _contain_null = true;
60
2
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
2
        } else {
64
0
            _update_batch(column, start);
65
0
        }
66
2
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
3
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
3
        if (is_column_nullable(*column)) {
54
2
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
2
            const auto& col = nullable->get_nested_column_ptr();
56
2
            const auto& nullmap = nullable->get_null_map_data();
57
2
            if (nullable->has_null()) {
58
2
                _update_batch(col, nullmap, start);
59
2
                _contain_null = true;
60
2
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
2
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
3
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
593
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
593
        if (is_column_nullable(*column)) {
54
587
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
587
            const auto& col = nullable->get_nested_column_ptr();
56
587
            const auto& nullmap = nullable->get_null_map_data();
57
587
            if (nullable->has_null()) {
58
398
                _update_batch(col, nullmap, start);
59
398
                _contain_null = true;
60
398
            } else {
61
189
                _update_batch(col, start);
62
189
            }
63
587
        } else {
64
6
            _update_batch(column, start);
65
6
        }
66
593
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
242
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
242
        if (is_column_nullable(*column)) {
54
241
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
241
            const auto& col = nullable->get_nested_column_ptr();
56
241
            const auto& nullmap = nullable->get_null_map_data();
57
242
            if (nullable->has_null()) {
58
242
                _update_batch(col, nullmap, start);
59
242
                _contain_null = true;
60
18.4E
            } else {
61
18.4E
                _update_batch(col, start);
62
18.4E
            }
63
241
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
242
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
2.22k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
2.22k
        if (is_column_nullable(*column)) {
54
1.07k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
1.07k
            const auto& col = nullable->get_nested_column_ptr();
56
1.07k
            const auto& nullmap = nullable->get_null_map_data();
57
1.07k
            if (nullable->has_null()) {
58
963
                _update_batch(col, nullmap, start);
59
963
                _contain_null = true;
60
963
            } else {
61
116
                _update_batch(col, start);
62
116
            }
63
1.14k
        } else {
64
1.14k
            _update_batch(column, start);
65
1.14k
        }
66
2.22k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
1.29k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
1.29k
        if (is_column_nullable(*column)) {
54
1.19k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
1.19k
            const auto& col = nullable->get_nested_column_ptr();
56
1.19k
            const auto& nullmap = nullable->get_null_map_data();
57
1.19k
            if (nullable->has_null()) {
58
1.09k
                _update_batch(col, nullmap, start);
59
1.09k
                _contain_null = true;
60
1.09k
            } else {
61
91
                _update_batch(col, start);
62
91
            }
63
1.19k
        } else {
64
103
            _update_batch(column, start);
65
103
        }
66
1.29k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
141
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
141
        if (is_column_nullable(*column)) {
54
3
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
3
            const auto& col = nullable->get_nested_column_ptr();
56
3
            const auto& nullmap = nullable->get_null_map_data();
57
3
            if (nullable->has_null()) {
58
3
                _update_batch(col, nullmap, start);
59
3
                _contain_null = true;
60
3
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
138
        } else {
64
138
            _update_batch(column, start);
65
138
        }
66
141
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
1
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
1
        if (is_column_nullable(*column)) {
54
0
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
0
            const auto& col = nullable->get_nested_column_ptr();
56
0
            const auto& nullmap = nullable->get_null_map_data();
57
0
            if (nullable->has_null()) {
58
0
                _update_batch(col, nullmap, start);
59
0
                _contain_null = true;
60
0
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
1
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
1
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
71
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
71
        if (is_column_nullable(*column)) {
54
70
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
70
            const auto& col = nullable->get_nested_column_ptr();
56
70
            const auto& nullmap = nullable->get_null_map_data();
57
70
            if (nullable->has_null()) {
58
47
                _update_batch(col, nullmap, start);
59
47
                _contain_null = true;
60
47
            } else {
61
23
                _update_batch(col, start);
62
23
            }
63
70
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
71
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
7
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
7
        if (is_column_nullable(*column)) {
54
5
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
5
            const auto& col = nullable->get_nested_column_ptr();
56
5
            const auto& nullmap = nullable->get_null_map_data();
57
5
            if (nullable->has_null()) {
58
5
                _update_batch(col, nullmap, start);
59
5
                _contain_null = true;
60
5
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
5
        } else {
64
2
            _update_batch(column, start);
65
2
        }
66
7
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
52
231
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
231
        if (is_column_nullable(*column)) {
54
45
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
45
            const auto& col = nullable->get_nested_column_ptr();
56
45
            const auto& nullmap = nullable->get_null_map_data();
57
45
            if (nullable->has_null()) {
58
43
                _update_batch(col, nullmap, start);
59
43
                _contain_null = true;
60
43
            } else {
61
2
                _update_batch(col, start);
62
2
            }
63
186
        } else {
64
186
            _update_batch(column, start);
65
186
        }
66
231
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
52
56
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
56
        if (is_column_nullable(*column)) {
54
34
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
34
            const auto& col = nullable->get_nested_column_ptr();
56
34
            const auto& nullmap = nullable->get_null_map_data();
57
34
            if (nullable->has_null()) {
58
34
                _update_batch(col, nullmap, start);
59
34
                _contain_null = true;
60
34
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
34
        } else {
64
22
            _update_batch(column, start);
65
22
        }
66
56
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
52
202
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
202
        if (is_column_nullable(*column)) {
54
148
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
148
            const auto& col = nullable->get_nested_column_ptr();
56
148
            const auto& nullmap = nullable->get_null_map_data();
57
148
            if (nullable->has_null()) {
58
97
                _update_batch(col, nullmap, start);
59
97
                _contain_null = true;
60
97
            } else {
61
51
                _update_batch(col, start);
62
51
            }
63
148
        } else {
64
54
            _update_batch(column, start);
65
54
        }
66
202
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
52
54
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
54
        if (is_column_nullable(*column)) {
54
53
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
53
            const auto& col = nullable->get_nested_column_ptr();
56
53
            const auto& nullmap = nullable->get_null_map_data();
57
53
            if (nullable->has_null()) {
58
53
                _update_batch(col, nullmap, start);
59
53
                _contain_null = true;
60
53
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
53
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
54
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
52
93
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
93
        if (is_column_nullable(*column)) {
54
36
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
36
            const auto& col = nullable->get_nested_column_ptr();
56
36
            const auto& nullmap = nullable->get_null_map_data();
57
36
            if (nullable->has_null()) {
58
36
                _update_batch(col, nullmap, start);
59
36
                _contain_null = true;
60
36
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
57
        } else {
64
57
            _update_batch(column, start);
65
57
        }
66
93
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
171
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
171
        if (is_column_nullable(*column)) {
54
89
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
89
            const auto& col = nullable->get_nested_column_ptr();
56
89
            const auto& nullmap = nullable->get_null_map_data();
57
89
            if (nullable->has_null()) {
58
53
                _update_batch(col, nullmap, start);
59
53
                _contain_null = true;
60
53
            } else {
61
36
                _update_batch(col, start);
62
36
            }
63
89
        } else {
64
82
            _update_batch(column, start);
65
82
        }
66
171
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EEm
Line
Count
Source
52
4
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
4
        if (is_column_nullable(*column)) {
54
3
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
3
            const auto& col = nullable->get_nested_column_ptr();
56
3
            const auto& nullmap = nullable->get_null_map_data();
57
3
            if (nullable->has_null()) {
58
3
                _update_batch(col, nullmap, start);
59
3
                _contain_null = true;
60
3
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
3
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
4
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
3
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
3
        if (is_column_nullable(*column)) {
54
2
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
2
            const auto& col = nullable->get_nested_column_ptr();
56
2
            const auto& nullmap = nullable->get_null_map_data();
57
2
            if (nullable->has_null()) {
58
2
                _update_batch(col, nullmap, start);
59
2
                _contain_null = true;
60
2
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
2
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
3
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
3
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
3
        if (is_column_nullable(*column)) {
54
2
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
2
            const auto& col = nullable->get_nested_column_ptr();
56
2
            const auto& nullmap = nullable->get_null_map_data();
57
2
            if (nullable->has_null()) {
58
2
                _update_batch(col, nullmap, start);
59
2
                _contain_null = true;
60
2
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
2
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
3
    }
67
68
5.51k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
5.51k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
5.51k
        if constexpr (NeedMin) {
71
5.51k
            if constexpr (IsStringValue) {
72
232
                if (other_minmax->_min < _min || !_min_value_set) {
73
49
                    _min = other_minmax->_min;
74
49
                    _min_value_set = true;
75
49
                }
76
5.28k
            } else if (other_minmax->_min < _min) {
77
489
                _min = other_minmax->_min;
78
489
            }
79
5.51k
        }
80
5.51k
        if constexpr (NeedMax) {
81
5.51k
            if (other_minmax->_max > _max) {
82
514
                _max = other_minmax->_max;
83
514
            }
84
5.51k
        }
85
86
5.51k
        _contain_null |= minmax_func->contain_null();
87
5.51k
        return Status::OK();
88
5.51k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
7
    Status merge(MinMaxFuncBase* minmax_func) override {
69
7
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
7
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
7
            } else if (other_minmax->_min < _min) {
77
2
                _min = other_minmax->_min;
78
2
            }
79
7
        }
80
7
        if constexpr (NeedMax) {
81
7
            if (other_minmax->_max > _max) {
82
1
                _max = other_minmax->_max;
83
1
            }
84
7
        }
85
86
7
        _contain_null |= minmax_func->contain_null();
87
7
        return Status::OK();
88
7
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
12
    Status merge(MinMaxFuncBase* minmax_func) override {
69
12
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
12
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
12
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
12
        }
80
12
        if constexpr (NeedMax) {
81
12
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
12
        }
85
86
12
        _contain_null |= minmax_func->contain_null();
87
12
        return Status::OK();
88
12
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
313
    Status merge(MinMaxFuncBase* minmax_func) override {
69
313
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
313
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
313
            } else if (other_minmax->_min < _min) {
77
9
                _min = other_minmax->_min;
78
9
            }
79
313
        }
80
313
        if constexpr (NeedMax) {
81
313
            if (other_minmax->_max > _max) {
82
10
                _max = other_minmax->_max;
83
10
            }
84
313
        }
85
86
313
        _contain_null |= minmax_func->contain_null();
87
313
        return Status::OK();
88
313
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
383
    Status merge(MinMaxFuncBase* minmax_func) override {
69
383
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
383
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
383
            } else if (other_minmax->_min < _min) {
77
38
                _min = other_minmax->_min;
78
38
            }
79
383
        }
80
383
        if constexpr (NeedMax) {
81
383
            if (other_minmax->_max > _max) {
82
48
                _max = other_minmax->_max;
83
48
            }
84
383
        }
85
86
383
        _contain_null |= minmax_func->contain_null();
87
383
        return Status::OK();
88
383
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
2.24k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
2.24k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
2.24k
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
2.24k
            } else if (other_minmax->_min < _min) {
77
226
                _min = other_minmax->_min;
78
226
            }
79
2.24k
        }
80
2.24k
        if constexpr (NeedMax) {
81
2.24k
            if (other_minmax->_max > _max) {
82
223
                _max = other_minmax->_max;
83
223
            }
84
2.24k
        }
85
86
2.24k
        _contain_null |= minmax_func->contain_null();
87
2.24k
        return Status::OK();
88
2.24k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
1.40k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
1.40k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
1.40k
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
1.40k
            } else if (other_minmax->_min < _min) {
77
120
                _min = other_minmax->_min;
78
120
            }
79
1.40k
        }
80
1.40k
        if constexpr (NeedMax) {
81
1.40k
            if (other_minmax->_max > _max) {
82
106
                _max = other_minmax->_max;
83
106
            }
84
1.40k
        }
85
86
1.40k
        _contain_null |= minmax_func->contain_null();
87
1.40k
        return Status::OK();
88
1.40k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
100
    Status merge(MinMaxFuncBase* minmax_func) override {
69
100
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
100
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
100
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
100
        }
80
100
        if constexpr (NeedMax) {
81
100
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
100
        }
85
86
100
        _contain_null |= minmax_func->contain_null();
87
100
        return Status::OK();
88
100
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
48
    Status merge(MinMaxFuncBase* minmax_func) override {
69
48
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
48
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
48
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
48
        }
80
48
        if constexpr (NeedMax) {
81
48
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
48
        }
85
86
48
        _contain_null |= minmax_func->contain_null();
87
48
        return Status::OK();
88
48
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
289
    Status merge(MinMaxFuncBase* minmax_func) override {
69
289
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
289
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
289
            } else if (other_minmax->_min < _min) {
77
54
                _min = other_minmax->_min;
78
54
            }
79
289
        }
80
289
        if constexpr (NeedMax) {
81
289
            if (other_minmax->_max > _max) {
82
52
                _max = other_minmax->_max;
83
52
            }
84
289
        }
85
86
289
        _contain_null |= minmax_func->contain_null();
87
289
        return Status::OK();
88
289
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
82
    Status merge(MinMaxFuncBase* minmax_func) override {
69
82
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
82
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
82
            } else if (other_minmax->_min < _min) {
77
13
                _min = other_minmax->_min;
78
13
            }
79
82
        }
80
82
        if constexpr (NeedMax) {
81
82
            if (other_minmax->_max > _max) {
82
17
                _max = other_minmax->_max;
83
17
            }
84
82
        }
85
86
82
        _contain_null |= minmax_func->contain_null();
87
82
        return Status::OK();
88
82
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
232
    Status merge(MinMaxFuncBase* minmax_func) override {
69
232
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
232
        if constexpr (NeedMin) {
71
232
            if constexpr (IsStringValue) {
72
232
                if (other_minmax->_min < _min || !_min_value_set) {
73
49
                    _min = other_minmax->_min;
74
49
                    _min_value_set = true;
75
49
                }
76
            } else if (other_minmax->_min < _min) {
77
                _min = other_minmax->_min;
78
            }
79
232
        }
80
232
        if constexpr (NeedMax) {
81
232
            if (other_minmax->_max > _max) {
82
36
                _max = other_minmax->_max;
83
36
            }
84
232
        }
85
86
232
        _contain_null |= minmax_func->contain_null();
87
232
        return Status::OK();
88
232
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
63
    Status merge(MinMaxFuncBase* minmax_func) override {
69
63
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
63
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
63
            } else if (other_minmax->_min < _min) {
77
11
                _min = other_minmax->_min;
78
11
            }
79
63
        }
80
63
        if constexpr (NeedMax) {
81
63
            if (other_minmax->_max > _max) {
82
7
                _max = other_minmax->_max;
83
7
            }
84
63
        }
85
86
63
        _contain_null |= minmax_func->contain_null();
87
63
        return Status::OK();
88
63
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
90
    Status merge(MinMaxFuncBase* minmax_func) override {
69
90
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
90
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
90
            } else if (other_minmax->_min < _min) {
77
4
                _min = other_minmax->_min;
78
4
            }
79
90
        }
80
90
        if constexpr (NeedMax) {
81
90
            if (other_minmax->_max > _max) {
82
2
                _max = other_minmax->_max;
83
2
            }
84
90
        }
85
86
90
        _contain_null |= minmax_func->contain_null();
87
90
        return Status::OK();
88
90
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
216
    Status merge(MinMaxFuncBase* minmax_func) override {
69
216
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
216
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
216
            } else if (other_minmax->_min < _min) {
77
12
                _min = other_minmax->_min;
78
12
            }
79
216
        }
80
216
        if constexpr (NeedMax) {
81
216
            if (other_minmax->_max > _max) {
82
12
                _max = other_minmax->_max;
83
12
            }
84
216
        }
85
86
216
        _contain_null |= minmax_func->contain_null();
87
216
        return Status::OK();
88
216
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
9
    Status merge(MinMaxFuncBase* minmax_func) override {
69
9
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
9
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
9
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
9
        }
80
9
        if constexpr (NeedMax) {
81
9
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
9
        }
85
86
9
        _contain_null |= minmax_func->contain_null();
87
9
        return Status::OK();
88
9
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
8
    Status merge(MinMaxFuncBase* minmax_func) override {
69
8
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
8
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
8
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
8
        }
80
8
        if constexpr (NeedMax) {
81
8
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
8
        }
85
86
8
        _contain_null |= minmax_func->contain_null();
87
8
        return Status::OK();
88
8
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
8
    Status merge(MinMaxFuncBase* minmax_func) override {
69
8
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
8
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
8
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
8
        }
80
8
        if constexpr (NeedMax) {
81
8
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
8
        }
85
86
8
        _contain_null |= minmax_func->contain_null();
87
8
        return Status::OK();
88
8
    }
89
90
5.69k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_maxEv
Line
Count
Source
90
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_maxEv
Line
Count
Source
90
4
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_maxEv
Line
Count
Source
90
978
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_maxEv
Line
Count
Source
90
660
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_maxEv
Line
Count
Source
90
2.02k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_maxEv
Line
Count
Source
90
1.21k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_maxEv
Line
Count
Source
90
45
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE7get_maxEv
Line
Count
Source
90
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7get_maxEv
Line
Count
Source
90
14
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_maxEv
Line
Count
Source
90
18
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
163
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
109
    void* get_max() override { return &_max; }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_maxEv
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
261
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_maxEv
Line
Count
Source
90
83
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_maxEv
Line
Count
Source
90
70
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_maxEv
Line
Count
Source
90
28
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
14
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_maxEv
Line
Count
Source
90
4
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_maxEv
Line
Count
Source
90
4
    void* get_max() override { return &_max; }
91
92
5.66k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_minEv
Line
Count
Source
92
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_minEv
Line
Count
Source
92
4
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_minEv
Line
Count
Source
92
923
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_minEv
Line
Count
Source
92
666
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_minEv
Line
Count
Source
92
2.01k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_minEv
Line
Count
Source
92
1.23k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_minEv
Line
Count
Source
92
38
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE7get_minEv
Line
Count
Source
92
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7get_minEv
Line
Count
Source
92
8
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_minEv
Line
Count
Source
92
18
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
92
163
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
92
110
    void* get_min() override { return &_min; }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_minEv
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_minEv
Line
Count
Source
92
275
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_minEv
Line
Count
Source
92
85
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_minEv
Line
Count
Source
92
70
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_minEv
Line
Count
Source
92
31
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_minEv
Line
Count
Source
92
13
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_minEv
Line
Count
Source
92
4
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_minEv
Line
Count
Source
92
4
    void* get_min() override { return &_min; }
93
94
1.18k
    Status assign(void* min_data, void* max_data) override {
95
1.18k
        if constexpr (IsStringValue) {
96
63
            _min_value_set = true;
97
63
        }
98
1.18k
        _min = *(T*)min_data;
99
1.18k
        _max = *(T*)max_data;
100
1.18k
        return Status::OK();
101
1.18k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
5
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
5
        _min = *(T*)min_data;
99
5
        _max = *(T*)max_data;
100
5
        return Status::OK();
101
5
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE6assignEPvS3_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
79
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
79
        _min = *(T*)min_data;
99
79
        _max = *(T*)max_data;
100
79
        return Status::OK();
101
79
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
187
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
187
        _min = *(T*)min_data;
99
187
        _max = *(T*)max_data;
100
187
        return Status::OK();
101
187
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
516
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
516
        _min = *(T*)min_data;
99
516
        _max = *(T*)max_data;
100
516
        return Status::OK();
101
516
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
165
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
165
        _min = *(T*)min_data;
99
165
        _max = *(T*)max_data;
100
165
        return Status::OK();
101
165
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
3
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
3
        _min = *(T*)min_data;
99
3
        _max = *(T*)max_data;
100
3
        return Status::OK();
101
3
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE6assignEPvS3_
Line
Count
Source
94
2
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
2
        _min = *(T*)min_data;
99
2
        _max = *(T*)max_data;
100
2
        return Status::OK();
101
2
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
94
77
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
77
        _min = *(T*)min_data;
99
77
        _max = *(T*)max_data;
100
77
        return Status::OK();
101
77
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
94
27
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
27
        _min = *(T*)min_data;
99
27
        _max = *(T*)max_data;
100
27
        return Status::OK();
101
27
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE6assignEPvS3_
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE6assignEPvS8_
Line
Count
Source
94
63
    Status assign(void* min_data, void* max_data) override {
95
63
        if constexpr (IsStringValue) {
96
63
            _min_value_set = true;
97
63
        }
98
63
        _min = *(T*)min_data;
99
63
        _max = *(T*)max_data;
100
63
        return Status::OK();
101
63
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE6assignEPvS4_
Line
Count
Source
94
21
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
21
        _min = *(T*)min_data;
99
21
        _max = *(T*)max_data;
100
21
        return Status::OK();
101
21
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE6assignEPvS4_
Line
Count
Source
94
5
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
5
        _min = *(T*)min_data;
99
5
        _max = *(T*)max_data;
100
5
        return Status::OK();
101
5
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE6assignEPvS3_
Line
Count
Source
94
30
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
30
        _min = *(T*)min_data;
99
30
        _max = *(T*)max_data;
100
30
        return Status::OK();
101
30
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE6assignEPvS7_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
102
103
1.34k
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
4
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
88
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
204
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
613
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
197
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncInLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
17
    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
103
76
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
26
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
61
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
20
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
4
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
33
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIoLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
104
105
private:
106
1.34k
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
1.34k
        if constexpr (NeedMin) {
108
1.34k
            f(filter->mutable_min_val(), _min);
109
1.34k
        }
110
1.34k
        if constexpr (NeedMax) {
111
1.34k
            f(filter->mutable_max_val(), _max);
112
1.34k
        }
113
1.34k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7_set_pbIZNS_13get_convertorIhEEDavEUlPNS_12PColumnValueERKhE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
4
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
4
        if constexpr (NeedMin) {
108
4
            f(filter->mutable_min_val(), _min);
109
4
        }
110
4
        if constexpr (NeedMax) {
111
4
            f(filter->mutable_max_val(), _max);
112
4
        }
113
4
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7_set_pbIZNS_13get_convertorIaEEDavEUlPNS_12PColumnValueERKaE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
88
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
88
        if constexpr (NeedMin) {
108
88
            f(filter->mutable_min_val(), _min);
109
88
        }
110
88
        if constexpr (NeedMax) {
111
88
            f(filter->mutable_max_val(), _max);
112
88
        }
113
88
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7_set_pbIZNS_13get_convertorIsEEDavEUlPNS_12PColumnValueERKsE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
204
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
204
        if constexpr (NeedMin) {
108
204
            f(filter->mutable_min_val(), _min);
109
204
        }
110
204
        if constexpr (NeedMax) {
111
204
            f(filter->mutable_max_val(), _max);
112
204
        }
113
204
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7_set_pbIZNS_13get_convertorIiEEDavEUlPNS_12PColumnValueERKiE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
613
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
613
        if constexpr (NeedMin) {
108
613
            f(filter->mutable_min_val(), _min);
109
613
        }
110
613
        if constexpr (NeedMax) {
111
613
            f(filter->mutable_max_val(), _max);
112
613
        }
113
613
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7_set_pbIZNS_13get_convertorIlEEDavEUlPNS_12PColumnValueERKlE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
197
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
197
        if constexpr (NeedMin) {
108
197
            f(filter->mutable_min_val(), _min);
109
197
        }
110
197
        if constexpr (NeedMax) {
111
197
            f(filter->mutable_max_val(), _max);
112
197
        }
113
197
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncInLb1ELb1EE7_set_pbIZNS_13get_convertorInEEDavEUlPNS_12PColumnValueERKnE_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE7_set_pbIZNS_13get_convertorIfEEDavEUlPNS_12PColumnValueERKfE_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7_set_pbIZNS_13get_convertorIdEEDavEUlPNS_12PColumnValueERKdE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
17
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
17
        if constexpr (NeedMin) {
108
17
            f(filter->mutable_min_val(), _min);
109
17
        }
110
17
        if constexpr (NeedMax) {
111
17
            f(filter->mutable_max_val(), _max);
112
17
        }
113
17
    }
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
106
76
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
76
        if constexpr (NeedMin) {
108
76
            f(filter->mutable_min_val(), _min);
109
76
        }
110
76
        if constexpr (NeedMax) {
111
76
            f(filter->mutable_max_val(), _max);
112
76
        }
113
76
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
26
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
26
        if constexpr (NeedMin) {
108
26
            f(filter->mutable_min_val(), _min);
109
26
        }
110
26
        if constexpr (NeedMax) {
111
26
            f(filter->mutable_max_val(), _max);
112
26
        }
113
26
    }
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
106
61
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
61
        if constexpr (NeedMin) {
108
61
            f(filter->mutable_min_val(), _min);
109
61
        }
110
61
        if constexpr (NeedMax) {
111
61
            f(filter->mutable_max_val(), _max);
112
61
        }
113
61
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7_set_pbIZNS_13get_convertorIS2_EEDavEUlPNS_12PColumnValueERKS2_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
20
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
20
        if constexpr (NeedMin) {
108
20
            f(filter->mutable_min_val(), _min);
109
20
        }
110
20
        if constexpr (NeedMax) {
111
20
            f(filter->mutable_max_val(), _max);
112
20
        }
113
20
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7_set_pbIZNS_13get_convertorIS2_EEDavEUlPNS_12PColumnValueERKS2_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
4
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
4
        if constexpr (NeedMin) {
108
4
            f(filter->mutable_min_val(), _min);
109
4
        }
110
4
        if constexpr (NeedMax) {
111
4
            f(filter->mutable_max_val(), _max);
112
4
        }
113
4
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
33
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
33
        if constexpr (NeedMin) {
108
33
            f(filter->mutable_min_val(), _min);
109
33
        }
110
33
        if constexpr (NeedMax) {
111
33
            f(filter->mutable_max_val(), _max);
112
33
        }
113
33
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS5_EEDavEUlPNS_12PColumnValueERKS5_E_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE7_set_pbIZNS_13get_convertorIjEEDavEUlPNS_12PColumnValueERKjE_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIoLb1ELb1EE7_set_pbIZNS_13get_convertorIoEEDavEUlPNS_12PColumnValueERKoE_EEvPNS_13PMinMaxFilterET_
114
115
    void _update_batch_string(const auto& column_string, const uint8_t* __restrict nullmap,
116
202
                              size_t start, size_t size) {
117
1.04k
        for (size_t i = start; i < size; i++) {
118
841
            if (nullmap == nullptr || !nullmap[i]) {
119
810
                if constexpr (NeedMin) {
120
810
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
121
241
                        _min = column_string.get_data_at(i).to_string();
122
241
                        _min_value_set = true;
123
241
                    }
124
810
                }
125
810
                if constexpr (NeedMax) {
126
810
                    if (column_string.get_data_at(i) > StringRef(_max)) {
127
279
                        _max = column_string.get_data_at(i).to_string();
128
279
                    }
129
810
                }
130
810
            }
131
841
        }
132
202
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE20_update_batch_stringINS_9ColumnStrImEEEEvRKT_PKhmm
Line
Count
Source
116
1
                              size_t start, size_t size) {
117
9
        for (size_t i = start; i < size; i++) {
118
8
            if (nullmap == nullptr || !nullmap[i]) {
119
8
                if constexpr (NeedMin) {
120
8
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
121
1
                        _min = column_string.get_data_at(i).to_string();
122
1
                        _min_value_set = true;
123
1
                    }
124
8
                }
125
8
                if constexpr (NeedMax) {
126
8
                    if (column_string.get_data_at(i) > StringRef(_max)) {
127
8
                        _max = column_string.get_data_at(i).to_string();
128
8
                    }
129
8
                }
130
8
            }
131
8
        }
132
1
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE20_update_batch_stringINS_9ColumnStrIjEEEEvRKT_PKhmm
Line
Count
Source
116
201
                              size_t start, size_t size) {
117
1.03k
        for (size_t i = start; i < size; i++) {
118
833
            if (nullmap == nullptr || !nullmap[i]) {
119
802
                if constexpr (NeedMin) {
120
802
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
121
240
                        _min = column_string.get_data_at(i).to_string();
122
240
                        _min_value_set = true;
123
240
                    }
124
802
                }
125
802
                if constexpr (NeedMax) {
126
802
                    if (column_string.get_data_at(i) > StringRef(_max)) {
127
271
                        _max = column_string.get_data_at(i).to_string();
128
271
                    }
129
802
                }
130
802
            }
131
833
        }
132
201
    }
133
134
2.31k
    void _update_batch(const ColumnPtr& column, size_t start) {
135
2.31k
        const auto size = column->size();
136
2.31k
        if constexpr (std::is_same_v<T, std::string>) {
137
105
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
1
                                     size);
140
104
            } else {
141
104
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
104
                                     size);
143
104
            }
144
2.20k
        } else {
145
2.20k
            const T* data = (T*)column->get_raw_data().data;
146
1.28M
            for (size_t i = start; i < size; i++) {
147
1.28M
                if constexpr (NeedMin) {
148
1.28M
                    _min = std::min(_min, *(data + i));
149
1.28M
                }
150
1.28M
                if constexpr (NeedMax) {
151
1.28M
                    _max = std::max(_max, *(data + i));
152
1.28M
                }
153
1.28M
            }
154
2.20k
        }
155
2.31k
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIhLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
195
    void _update_batch(const ColumnPtr& column, size_t start) {
135
195
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
195
        } else {
145
195
            const T* data = (T*)column->get_raw_data().data;
146
630
            for (size_t i = start; i < size; i++) {
147
435
                if constexpr (NeedMin) {
148
435
                    _min = std::min(_min, *(data + i));
149
435
                }
150
435
                if constexpr (NeedMax) {
151
435
                    _max = std::max(_max, *(data + i));
152
435
                }
153
435
            }
154
195
        }
155
195
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
1.26k
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1.26k
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1.26k
        } else {
145
1.26k
            const T* data = (T*)column->get_raw_data().data;
146
1.28M
            for (size_t i = start; i < size; i++) {
147
1.28M
                if constexpr (NeedMin) {
148
1.28M
                    _min = std::min(_min, *(data + i));
149
1.28M
                }
150
1.28M
                if constexpr (NeedMax) {
151
1.28M
                    _max = std::max(_max, *(data + i));
152
1.28M
                }
153
1.28M
            }
154
1.26k
        }
155
1.26k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
194
    void _update_batch(const ColumnPtr& column, size_t start) {
135
194
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
194
        } else {
145
194
            const T* data = (T*)column->get_raw_data().data;
146
1.04k
            for (size_t i = start; i < size; i++) {
147
850
                if constexpr (NeedMin) {
148
850
                    _min = std::min(_min, *(data + i));
149
850
                }
150
850
                if constexpr (NeedMax) {
151
850
                    _max = std::max(_max, *(data + i));
152
850
                }
153
850
            }
154
194
        }
155
194
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
139
    void _update_batch(const ColumnPtr& column, size_t start) {
135
139
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
139
        } else {
145
139
            const T* data = (T*)column->get_raw_data().data;
146
406
            for (size_t i = start; i < size; i++) {
147
267
                if constexpr (NeedMin) {
148
267
                    _min = std::min(_min, *(data + i));
149
267
                }
150
267
                if constexpr (NeedMax) {
151
267
                    _max = std::max(_max, *(data + i));
152
267
                }
153
267
            }
154
139
        }
155
139
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
24
    void _update_batch(const ColumnPtr& column, size_t start) {
135
24
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
24
        } else {
145
24
            const T* data = (T*)column->get_raw_data().data;
146
50
            for (size_t i = start; i < size; i++) {
147
26
                if constexpr (NeedMin) {
148
26
                    _min = std::min(_min, *(data + i));
149
26
                }
150
26
                if constexpr (NeedMax) {
151
26
                    _max = std::max(_max, *(data + i));
152
26
                }
153
26
            }
154
24
        }
155
24
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
134
2
    void _update_batch(const ColumnPtr& column, size_t start) {
135
2
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
2
        } else {
145
2
            const T* data = (T*)column->get_raw_data().data;
146
8
            for (size_t i = start; i < size; i++) {
147
6
                if constexpr (NeedMin) {
148
6
                    _min = std::min(_min, *(data + i));
149
6
                }
150
6
                if constexpr (NeedMax) {
151
6
                    _max = std::max(_max, *(data + i));
152
6
                }
153
6
            }
154
2
        }
155
2
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
134
188
    void _update_batch(const ColumnPtr& column, size_t start) {
135
188
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
188
        } else {
145
188
            const T* data = (T*)column->get_raw_data().data;
146
584
            for (size_t i = start; i < size; i++) {
147
396
                if constexpr (NeedMin) {
148
396
                    _min = std::min(_min, *(data + i));
149
396
                }
150
396
                if constexpr (NeedMax) {
151
396
                    _max = std::max(_max, *(data + i));
152
396
                }
153
396
            }
154
188
        }
155
188
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
134
22
    void _update_batch(const ColumnPtr& column, size_t start) {
135
22
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
22
        } else {
145
22
            const T* data = (T*)column->get_raw_data().data;
146
80
            for (size_t i = start; i < size; i++) {
147
58
                if constexpr (NeedMin) {
148
58
                    _min = std::min(_min, *(data + i));
149
58
                }
150
58
                if constexpr (NeedMax) {
151
58
                    _max = std::max(_max, *(data + i));
152
58
                }
153
58
            }
154
22
        }
155
22
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
134
105
    void _update_batch(const ColumnPtr& column, size_t start) {
135
105
        const auto size = column->size();
136
105
        if constexpr (std::is_same_v<T, std::string>) {
137
105
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
1
                                     size);
140
104
            } else {
141
104
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
104
                                     size);
143
104
            }
144
        } else {
145
            const T* data = (T*)column->get_raw_data().data;
146
            for (size_t i = start; i < size; i++) {
147
                if constexpr (NeedMin) {
148
                    _min = std::min(_min, *(data + i));
149
                }
150
                if constexpr (NeedMax) {
151
                    _max = std::max(_max, *(data + i));
152
                }
153
            }
154
        }
155
105
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
134
57
    void _update_batch(const ColumnPtr& column, size_t start) {
135
57
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
57
        } else {
145
57
            const T* data = (T*)column->get_raw_data().data;
146
251
            for (size_t i = start; i < size; i++) {
147
194
                if constexpr (NeedMin) {
148
194
                    _min = std::min(_min, *(data + i));
149
194
                }
150
194
                if constexpr (NeedMax) {
151
194
                    _max = std::max(_max, *(data + i));
152
194
                }
153
194
            }
154
57
        }
155
57
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
134
118
    void _update_batch(const ColumnPtr& column, size_t start) {
135
118
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
118
        } else {
145
118
            const T* data = (T*)column->get_raw_data().data;
146
341
            for (size_t i = start; i < size; i++) {
147
223
                if constexpr (NeedMin) {
148
223
                    _min = std::min(_min, *(data + i));
149
223
                }
150
223
                if constexpr (NeedMax) {
151
223
                    _max = std::max(_max, *(data + i));
152
223
                }
153
223
            }
154
118
        }
155
118
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
156
157
3.07k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
3.07k
        const auto size = column->size();
159
3.07k
        if constexpr (std::is_same_v<T, std::string>) {
160
97
            if (column->is_column_string64()) {
161
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
0
                                     start, size);
163
97
            } else {
164
97
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
97
                                     start, size);
166
97
            }
167
2.98k
        } else {
168
2.98k
            const T* data = (T*)column->get_raw_data().data;
169
653k
            for (size_t i = start; i < size; i++) {
170
650k
                if (!nullmap[i]) {
171
650k
                    if constexpr (NeedMin) {
172
650k
                        _min = std::min(_min, *(data + i));
173
650k
                    }
174
650k
                    if constexpr (NeedMax) {
175
650k
                        _max = std::max(_max, *(data + i));
176
650k
                    }
177
650k
                }
178
650k
            }
179
2.98k
        }
180
3.07k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
2
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
2
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
2
        } else {
168
2
            const T* data = (T*)column->get_raw_data().data;
169
6
            for (size_t i = start; i < size; i++) {
170
4
                if (!nullmap[i]) {
171
3
                    if constexpr (NeedMin) {
172
3
                        _min = std::min(_min, *(data + i));
173
3
                    }
174
3
                    if constexpr (NeedMax) {
175
3
                        _max = std::max(_max, *(data + i));
176
3
                    }
177
3
                }
178
4
            }
179
2
        }
180
2
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
2
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
2
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
2
        } else {
168
2
            const T* data = (T*)column->get_raw_data().data;
169
8
            for (size_t i = start; i < size; i++) {
170
6
                if (!nullmap[i]) {
171
6
                    if constexpr (NeedMin) {
172
6
                        _min = std::min(_min, *(data + i));
173
6
                    }
174
6
                    if constexpr (NeedMax) {
175
6
                        _max = std::max(_max, *(data + i));
176
6
                    }
177
6
                }
178
6
            }
179
2
        }
180
2
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
397
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
397
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
397
        } else {
168
397
            const T* data = (T*)column->get_raw_data().data;
169
1.33k
            for (size_t i = start; i < size; i++) {
170
940
                if (!nullmap[i]) {
171
911
                    if constexpr (NeedMin) {
172
911
                        _min = std::min(_min, *(data + i));
173
911
                    }
174
911
                    if constexpr (NeedMax) {
175
911
                        _max = std::max(_max, *(data + i));
176
911
                    }
177
911
                }
178
940
            }
179
397
        }
180
397
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
242
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
242
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
242
        } else {
168
242
            const T* data = (T*)column->get_raw_data().data;
169
1.30k
            for (size_t i = start; i < size; i++) {
170
1.06k
                if (!nullmap[i]) {
171
941
                    if constexpr (NeedMin) {
172
941
                        _min = std::min(_min, *(data + i));
173
941
                    }
174
941
                    if constexpr (NeedMax) {
175
941
                        _max = std::max(_max, *(data + i));
176
941
                    }
177
941
                }
178
1.06k
            }
179
242
        }
180
242
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
962
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
962
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
962
        } else {
168
962
            const T* data = (T*)column->get_raw_data().data;
169
645k
            for (size_t i = start; i < size; i++) {
170
644k
                if (!nullmap[i]) {
171
643k
                    if constexpr (NeedMin) {
172
643k
                        _min = std::min(_min, *(data + i));
173
643k
                    }
174
643k
                    if constexpr (NeedMax) {
175
643k
                        _max = std::max(_max, *(data + i));
176
643k
                    }
177
643k
                }
178
644k
            }
179
962
        }
180
962
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
1.09k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
1.09k
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
1.09k
        } else {
168
1.09k
            const T* data = (T*)column->get_raw_data().data;
169
4.97k
            for (size_t i = start; i < size; i++) {
170
3.87k
                if (!nullmap[i]) {
171
3.49k
                    if constexpr (NeedMin) {
172
3.49k
                        _min = std::min(_min, *(data + i));
173
3.49k
                    }
174
3.49k
                    if constexpr (NeedMax) {
175
3.49k
                        _max = std::max(_max, *(data + i));
176
3.49k
                    }
177
3.49k
                }
178
3.87k
            }
179
1.09k
        }
180
1.09k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
3
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
3
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
3
        } else {
168
3
            const T* data = (T*)column->get_raw_data().data;
169
9
            for (size_t i = start; i < size; i++) {
170
6
                if (!nullmap[i]) {
171
6
                    if constexpr (NeedMin) {
172
6
                        _min = std::min(_min, *(data + i));
173
6
                    }
174
6
                    if constexpr (NeedMax) {
175
6
                        _max = std::max(_max, *(data + i));
176
6
                    }
177
6
                }
178
6
            }
179
3
        }
180
3
    }
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
157
47
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
47
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
47
        } else {
168
47
            const T* data = (T*)column->get_raw_data().data;
169
103
            for (size_t i = start; i < size; i++) {
170
56
                if (!nullmap[i]) {
171
12
                    if constexpr (NeedMin) {
172
12
                        _min = std::min(_min, *(data + i));
173
12
                    }
174
12
                    if constexpr (NeedMax) {
175
12
                        _max = std::max(_max, *(data + i));
176
12
                    }
177
12
                }
178
56
            }
179
47
        }
180
47
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
5
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
5
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
5
        } else {
168
5
            const T* data = (T*)column->get_raw_data().data;
169
35
            for (size_t i = start; i < size; i++) {
170
30
                if (!nullmap[i]) {
171
30
                    if constexpr (NeedMin) {
172
30
                        _min = std::min(_min, *(data + i));
173
30
                    }
174
30
                    if constexpr (NeedMax) {
175
30
                        _max = std::max(_max, *(data + i));
176
30
                    }
177
30
                }
178
30
            }
179
5
        }
180
5
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
43
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
43
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
43
        } else {
168
43
            const T* data = (T*)column->get_raw_data().data;
169
385
            for (size_t i = start; i < size; i++) {
170
342
                if (!nullmap[i]) {
171
295
                    if constexpr (NeedMin) {
172
295
                        _min = std::min(_min, *(data + i));
173
295
                    }
174
295
                    if constexpr (NeedMax) {
175
295
                        _max = std::max(_max, *(data + i));
176
295
                    }
177
295
                }
178
342
            }
179
43
        }
180
43
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
34
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
34
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
34
        } else {
168
34
            const T* data = (T*)column->get_raw_data().data;
169
116
            for (size_t i = start; i < size; i++) {
170
82
                if (!nullmap[i]) {
171
73
                    if constexpr (NeedMin) {
172
73
                        _min = std::min(_min, *(data + i));
173
73
                    }
174
73
                    if constexpr (NeedMax) {
175
73
                        _max = std::max(_max, *(data + i));
176
73
                    }
177
73
                }
178
82
            }
179
34
        }
180
34
    }
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
157
97
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
97
        const auto size = column->size();
159
97
        if constexpr (std::is_same_v<T, std::string>) {
160
97
            if (column->is_column_string64()) {
161
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
0
                                     start, size);
163
97
            } else {
164
97
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
97
                                     start, size);
166
97
            }
167
        } else {
168
            const T* data = (T*)column->get_raw_data().data;
169
            for (size_t i = start; i < size; i++) {
170
                if (!nullmap[i]) {
171
                    if constexpr (NeedMin) {
172
                        _min = std::min(_min, *(data + i));
173
                    }
174
                    if constexpr (NeedMax) {
175
                        _max = std::max(_max, *(data + i));
176
                    }
177
                }
178
            }
179
        }
180
97
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
53
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
53
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
53
        } else {
168
53
            const T* data = (T*)column->get_raw_data().data;
169
175
            for (size_t i = start; i < size; i++) {
170
122
                if (!nullmap[i]) {
171
61
                    if constexpr (NeedMin) {
172
61
                        _min = std::min(_min, *(data + i));
173
61
                    }
174
61
                    if constexpr (NeedMax) {
175
61
                        _max = std::max(_max, *(data + i));
176
61
                    }
177
61
                }
178
122
            }
179
53
        }
180
53
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
36
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
36
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
36
        } else {
168
36
            const T* data = (T*)column->get_raw_data().data;
169
136
            for (size_t i = start; i < size; i++) {
170
100
                if (!nullmap[i]) {
171
84
                    if constexpr (NeedMin) {
172
84
                        _min = std::min(_min, *(data + i));
173
84
                    }
174
84
                    if constexpr (NeedMax) {
175
84
                        _max = std::max(_max, *(data + i));
176
84
                    }
177
84
                }
178
100
            }
179
36
        }
180
36
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
53
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
53
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
53
        } else {
168
53
            const T* data = (T*)column->get_raw_data().data;
169
213
            for (size_t i = start; i < size; i++) {
170
160
                if (!nullmap[i]) {
171
54
                    if constexpr (NeedMin) {
172
54
                        _min = std::min(_min, *(data + i));
173
54
                    }
174
54
                    if constexpr (NeedMax) {
175
54
                        _max = std::max(_max, *(data + i));
176
54
                    }
177
54
                }
178
160
            }
179
53
        }
180
53
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
3
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
3
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
3
        } else {
168
3
            const T* data = (T*)column->get_raw_data().data;
169
39
            for (size_t i = start; i < size; i++) {
170
36
                if (!nullmap[i]) {
171
36
                    if constexpr (NeedMin) {
172
36
                        _min = std::min(_min, *(data + i));
173
36
                    }
174
36
                    if constexpr (NeedMax) {
175
36
                        _max = std::max(_max, *(data + i));
176
36
                    }
177
36
                }
178
36
            }
179
3
        }
180
3
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
2
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
2
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
2
        } else {
168
2
            const T* data = (T*)column->get_raw_data().data;
169
24
            for (size_t i = start; i < size; i++) {
170
22
                if (!nullmap[i]) {
171
20
                    if constexpr (NeedMin) {
172
20
                        _min = std::min(_min, *(data + i));
173
20
                    }
174
20
                    if constexpr (NeedMax) {
175
20
                        _max = std::max(_max, *(data + i));
176
20
                    }
177
20
                }
178
22
            }
179
2
        }
180
2
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
2
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
2
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
2
        } else {
168
2
            const T* data = (T*)column->get_raw_data().data;
169
24
            for (size_t i = start; i < size; i++) {
170
22
                if (!nullmap[i]) {
171
20
                    if constexpr (NeedMin) {
172
20
                        _min = std::min(_min, *(data + i));
173
20
                    }
174
20
                    if constexpr (NeedMax) {
175
20
                        _max = std::max(_max, *(data + i));
176
20
                    }
177
20
                }
178
22
            }
179
2
        }
180
2
    }
181
182
    T _max = type_limit<T>::min();
183
    T _min = type_limit<T>::max();
184
185
    bool _min_value_set = false;
186
};
187
188
template <class T>
189
using MinNumFunc = MinMaxNumFunc<T, false, true>;
190
191
template <class T>
192
using MaxNumFunc = MinMaxNumFunc<T, true, false>;
193
194
} // namespace doris