Coverage Report

Created: 2026-06-26 03:55

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
28.5k
    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
28.6k
    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
28.5k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIhLb1ELb1EEC2Eb
Line
Count
Source
49
217
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EEC2Eb
Line
Count
Source
49
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIaLb1ELb1EEC2Eb
Line
Count
Source
49
1.00k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIsLb1ELb1EEC2Eb
Line
Count
Source
49
897
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIiLb1ELb1EEC2Eb
Line
Count
Source
49
15.0k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIlLb1ELb1EEC2Eb
Line
Count
Source
49
3.95k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncInLb1ELb1EEC2Eb
Line
Count
Source
49
224
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIfLb1ELb1EEC2Eb
Line
Count
Source
49
290
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIdLb1ELb1EEC2Eb
Line
Count
Source
49
55
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EEC2Eb
Line
Count
Source
49
38
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
49
890
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
49
3.37k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EEC2Eb
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EEC2Eb
Line
Count
Source
49
1.48k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EEC2Eb
Line
Count
Source
49
105
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EEC2Eb
Line
Count
Source
49
703
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EEC2Eb
Line
Count
Source
49
282
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EEC2Eb
Line
Count
Source
49
30
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIjLb1ELb1EEC2Eb
Line
Count
Source
49
20
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIoLb1ELb1EEC2Eb
Line
Count
Source
49
16
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
50
1.46k
    ~MinMaxNumFunc() override = default;
51
52
8.14k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
8.14k
        if (is_column_nullable(*column)) {
54
5.86k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
5.86k
            const auto& col = nullable->get_nested_column_ptr();
56
5.86k
            const auto& nullmap = nullable->get_null_map_data();
57
5.86k
            if (nullable->has_null()) {
58
4.70k
                _update_batch(col, nullmap, start);
59
4.70k
                _contain_null = true;
60
4.70k
            } else {
61
1.15k
                _update_batch(col, start);
62
1.15k
            }
63
5.86k
        } else {
64
2.27k
            _update_batch(column, start);
65
2.27k
        }
66
8.14k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
24
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
24
        if (is_column_nullable(*column)) {
54
24
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
24
            const auto& col = nullable->get_nested_column_ptr();
56
24
            const auto& nullmap = nullable->get_null_map_data();
57
24
            if (nullable->has_null()) {
58
24
                _update_batch(col, nullmap, start);
59
24
                _contain_null = true;
60
24
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
24
        } else {
64
0
            _update_batch(column, start);
65
0
        }
66
24
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_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
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
457
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
457
        if (is_column_nullable(*column)) {
54
450
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
450
            const auto& col = nullable->get_nested_column_ptr();
56
450
            const auto& nullmap = nullable->get_null_map_data();
57
450
            if (nullable->has_null()) {
58
315
                _update_batch(col, nullmap, start);
59
315
                _contain_null = true;
60
315
            } else {
61
135
                _update_batch(col, start);
62
135
            }
63
450
        } else {
64
7
            _update_batch(column, start);
65
7
        }
66
457
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
254
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
254
        if (is_column_nullable(*column)) {
54
253
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
253
            const auto& col = nullable->get_nested_column_ptr();
56
253
            const auto& nullmap = nullable->get_null_map_data();
57
253
            if (nullable->has_null()) {
58
253
                _update_batch(col, nullmap, start);
59
253
                _contain_null = true;
60
253
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
253
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
254
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
4.73k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
4.73k
        if (is_column_nullable(*column)) {
54
3.03k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
3.03k
            const auto& col = nullable->get_nested_column_ptr();
56
3.03k
            const auto& nullmap = nullable->get_null_map_data();
57
3.03k
            if (nullable->has_null()) {
58
2.19k
                _update_batch(col, nullmap, start);
59
2.19k
                _contain_null = true;
60
2.19k
            } else {
61
843
                _update_batch(col, start);
62
843
            }
63
3.03k
        } else {
64
1.69k
            _update_batch(column, start);
65
1.69k
        }
66
4.73k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
1.21k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
1.21k
        if (is_column_nullable(*column)) {
54
1.08k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
1.08k
            const auto& col = nullable->get_nested_column_ptr();
56
1.08k
            const auto& nullmap = nullable->get_null_map_data();
57
1.08k
            if (nullable->has_null()) {
58
985
                _update_batch(col, nullmap, start);
59
985
                _contain_null = true;
60
985
            } else {
61
100
                _update_batch(col, start);
62
100
            }
63
1.08k
        } else {
64
129
            _update_batch(column, start);
65
129
        }
66
1.21k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
117
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
117
        if (is_column_nullable(*column)) {
54
7
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
7
            const auto& col = nullable->get_nested_column_ptr();
56
7
            const auto& nullmap = nullable->get_null_map_data();
57
7
            if (nullable->has_null()) {
58
7
                _update_batch(col, nullmap, start);
59
7
                _contain_null = true;
60
7
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
110
        } else {
64
110
            _update_batch(column, start);
65
110
        }
66
117
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
33
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
33
        if (is_column_nullable(*column)) {
54
32
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
32
            const auto& col = nullable->get_nested_column_ptr();
56
32
            const auto& nullmap = nullable->get_null_map_data();
57
32
            if (nullable->has_null()) {
58
32
                _update_batch(col, nullmap, start);
59
32
                _contain_null = true;
60
32
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
32
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
33
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
44
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
44
        if (is_column_nullable(*column)) {
54
43
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
43
            const auto& col = nullable->get_nested_column_ptr();
56
43
            const auto& nullmap = nullable->get_null_map_data();
57
43
            if (nullable->has_null()) {
58
37
                _update_batch(col, nullmap, start);
59
37
                _contain_null = true;
60
37
            } else {
61
6
                _update_batch(col, start);
62
6
            }
63
43
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
44
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_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
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
2
            _update_batch(column, start);
65
2
        }
66
4
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
52
237
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
237
        if (is_column_nullable(*column)) {
54
75
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
75
            const auto& col = nullable->get_nested_column_ptr();
56
75
            const auto& nullmap = nullable->get_null_map_data();
57
75
            if (nullable->has_null()) {
58
73
                _update_batch(col, nullmap, start);
59
73
                _contain_null = true;
60
73
            } else {
61
2
                _update_batch(col, start);
62
2
            }
63
162
        } else {
64
162
            _update_batch(column, start);
65
162
        }
66
237
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
52
437
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
437
        if (is_column_nullable(*column)) {
54
398
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
398
            const auto& col = nullable->get_nested_column_ptr();
56
398
            const auto& nullmap = nullable->get_null_map_data();
57
398
            if (nullable->has_null()) {
58
398
                _update_batch(col, nullmap, start);
59
398
                _contain_null = true;
60
398
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
398
        } else {
64
39
            _update_batch(column, start);
65
39
        }
66
437
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
52
311
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
311
        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
241
            if (nullable->has_null()) {
58
188
                _update_batch(col, nullmap, start);
59
188
                _contain_null = true;
60
188
            } else {
61
53
                _update_batch(col, start);
62
53
            }
63
241
        } else {
64
70
            _update_batch(column, start);
65
70
        }
66
311
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
52
39
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
39
        if (is_column_nullable(*column)) {
54
38
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
38
            const auto& col = nullable->get_nested_column_ptr();
56
38
            const auto& nullmap = nullable->get_null_map_data();
57
38
            if (nullable->has_null()) {
58
38
                _update_batch(col, nullmap, start);
59
38
                _contain_null = true;
60
38
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
38
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
39
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
52
96
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
96
        if (is_column_nullable(*column)) {
54
71
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
71
            const auto& col = nullable->get_nested_column_ptr();
56
71
            const auto& nullmap = nullable->get_null_map_data();
57
71
            if (nullable->has_null()) {
58
71
                _update_batch(col, nullmap, start);
59
71
                _contain_null = true;
60
71
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
71
        } else {
64
25
            _update_batch(column, start);
65
25
        }
66
96
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
104
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
104
        if (is_column_nullable(*column)) {
54
77
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
77
            const auto& col = nullable->get_nested_column_ptr();
56
77
            const auto& nullmap = nullable->get_null_map_data();
57
77
            if (nullable->has_null()) {
58
58
                _update_batch(col, nullmap, start);
59
58
                _contain_null = true;
60
58
            } else {
61
19
                _update_batch(col, start);
62
19
            }
63
77
        } else {
64
27
            _update_batch(column, start);
65
27
        }
66
104
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EEm
Line
Count
Source
52
5
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
5
        if (is_column_nullable(*column)) {
54
4
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
4
            const auto& col = nullable->get_nested_column_ptr();
56
4
            const auto& nullmap = nullable->get_null_map_data();
57
4
            if (nullable->has_null()) {
58
4
                _update_batch(col, nullmap, start);
59
4
                _contain_null = true;
60
4
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
4
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
5
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
14
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
14
        if (is_column_nullable(*column)) {
54
13
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
13
            const auto& col = nullable->get_nested_column_ptr();
56
13
            const auto& nullmap = nullable->get_null_map_data();
57
13
            if (nullable->has_null()) {
58
13
                _update_batch(col, nullmap, start);
59
13
                _contain_null = true;
60
13
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
13
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
14
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
13
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
13
        if (is_column_nullable(*column)) {
54
12
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
12
            const auto& col = nullable->get_nested_column_ptr();
56
12
            const auto& nullmap = nullable->get_null_map_data();
57
12
            if (nullable->has_null()) {
58
12
                _update_batch(col, nullmap, start);
59
12
                _contain_null = true;
60
12
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
12
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
13
    }
67
68
14.0k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
14.0k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
14.0k
        if constexpr (NeedMin) {
71
14.0k
            if constexpr (IsStringValue) {
72
732
                if (other_minmax->_min < _min || !_min_value_set) {
73
47
                    _min = other_minmax->_min;
74
47
                    _min_value_set = true;
75
47
                }
76
13.3k
            } else if (other_minmax->_min < _min) {
77
866
                _min = other_minmax->_min;
78
866
            }
79
14.0k
        }
80
14.0k
        if constexpr (NeedMax) {
81
14.0k
            if (other_minmax->_max > _max) {
82
921
                _max = other_minmax->_max;
83
921
            }
84
14.0k
        }
85
86
14.0k
        _contain_null |= minmax_func->contain_null();
87
14.0k
        return Status::OK();
88
14.0k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
168
    Status merge(MinMaxFuncBase* minmax_func) override {
69
168
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
168
        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
168
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
168
        }
80
168
        if constexpr (NeedMax) {
81
168
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
168
        }
85
86
168
        _contain_null |= minmax_func->contain_null();
87
168
        return Status::OK();
88
168
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
86
    Status merge(MinMaxFuncBase* minmax_func) override {
69
86
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
86
        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
86
            } else if (other_minmax->_min < _min) {
77
18
                _min = other_minmax->_min;
78
18
            }
79
86
        }
80
86
        if constexpr (NeedMax) {
81
86
            if (other_minmax->_max > _max) {
82
14
                _max = other_minmax->_max;
83
14
            }
84
86
        }
85
86
86
        _contain_null |= minmax_func->contain_null();
87
86
        return Status::OK();
88
86
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
136
    Status merge(MinMaxFuncBase* minmax_func) override {
69
136
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
136
        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
136
            } else if (other_minmax->_min < _min) {
77
33
                _min = other_minmax->_min;
78
33
            }
79
136
        }
80
136
        if constexpr (NeedMax) {
81
136
            if (other_minmax->_max > _max) {
82
35
                _max = other_minmax->_max;
83
35
            }
84
136
        }
85
86
136
        _contain_null |= minmax_func->contain_null();
87
136
        return Status::OK();
88
136
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
7.61k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
7.61k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
7.61k
        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.61k
            } else if (other_minmax->_min < _min) {
77
552
                _min = other_minmax->_min;
78
552
            }
79
7.61k
        }
80
7.61k
        if constexpr (NeedMax) {
81
7.61k
            if (other_minmax->_max > _max) {
82
574
                _max = other_minmax->_max;
83
574
            }
84
7.61k
        }
85
86
7.61k
        _contain_null |= minmax_func->contain_null();
87
7.61k
        return Status::OK();
88
7.61k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
1.35k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
1.35k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
1.35k
        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.35k
            } else if (other_minmax->_min < _min) {
77
59
                _min = other_minmax->_min;
78
59
            }
79
1.35k
        }
80
1.35k
        if constexpr (NeedMax) {
81
1.35k
            if (other_minmax->_max > _max) {
82
75
                _max = other_minmax->_max;
83
75
            }
84
1.35k
        }
85
86
1.35k
        _contain_null |= minmax_func->contain_null();
87
1.35k
        return Status::OK();
88
1.35k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
84
    Status merge(MinMaxFuncBase* minmax_func) override {
69
84
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
84
        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
84
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
84
        }
80
84
        if constexpr (NeedMax) {
81
84
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
84
        }
85
86
84
        _contain_null |= minmax_func->contain_null();
87
84
        return Status::OK();
88
84
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
224
    Status merge(MinMaxFuncBase* minmax_func) override {
69
224
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
224
        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
224
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
224
        }
80
224
        if constexpr (NeedMax) {
81
224
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
224
        }
85
86
224
        _contain_null |= minmax_func->contain_null();
87
224
        return Status::OK();
88
224
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
37
    Status merge(MinMaxFuncBase* minmax_func) override {
69
37
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
37
        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
37
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
37
        }
80
37
        if constexpr (NeedMax) {
81
37
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
37
        }
85
86
37
        _contain_null |= minmax_func->contain_null();
87
37
        return Status::OK();
88
37
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
30
    Status merge(MinMaxFuncBase* minmax_func) override {
69
30
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
30
        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
30
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
30
        }
80
30
        if constexpr (NeedMax) {
81
30
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
30
        }
85
86
30
        _contain_null |= minmax_func->contain_null();
87
30
        return Status::OK();
88
30
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
484
    Status merge(MinMaxFuncBase* minmax_func) override {
69
484
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
484
        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
484
            } else if (other_minmax->_min < _min) {
77
43
                _min = other_minmax->_min;
78
43
            }
79
484
        }
80
484
        if constexpr (NeedMax) {
81
484
            if (other_minmax->_max > _max) {
82
41
                _max = other_minmax->_max;
83
41
            }
84
484
        }
85
86
484
        _contain_null |= minmax_func->contain_null();
87
484
        return Status::OK();
88
484
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
2.69k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
2.69k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
2.69k
        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.69k
            } else if (other_minmax->_min < _min) {
77
141
                _min = other_minmax->_min;
78
141
            }
79
2.69k
        }
80
2.69k
        if constexpr (NeedMax) {
81
2.69k
            if (other_minmax->_max > _max) {
82
138
                _max = other_minmax->_max;
83
138
            }
84
2.69k
        }
85
86
2.69k
        _contain_null |= minmax_func->contain_null();
87
2.69k
        return Status::OK();
88
2.69k
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
732
    Status merge(MinMaxFuncBase* minmax_func) override {
69
732
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
732
        if constexpr (NeedMin) {
71
732
            if constexpr (IsStringValue) {
72
732
                if (other_minmax->_min < _min || !_min_value_set) {
73
47
                    _min = other_minmax->_min;
74
47
                    _min_value_set = true;
75
47
                }
76
            } else if (other_minmax->_min < _min) {
77
                _min = other_minmax->_min;
78
            }
79
732
        }
80
732
        if constexpr (NeedMax) {
81
732
            if (other_minmax->_max > _max) {
82
24
                _max = other_minmax->_max;
83
24
            }
84
732
        }
85
86
732
        _contain_null |= minmax_func->contain_null();
87
732
        return Status::OK();
88
732
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
11
    Status merge(MinMaxFuncBase* minmax_func) override {
69
11
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
11
        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
11
            } else if (other_minmax->_min < _min) {
77
3
                _min = other_minmax->_min;
78
3
            }
79
11
        }
80
11
        if constexpr (NeedMax) {
81
11
            if (other_minmax->_max > _max) {
82
3
                _max = other_minmax->_max;
83
3
            }
84
11
        }
85
86
11
        _contain_null |= minmax_func->contain_null();
87
11
        return Status::OK();
88
11
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
278
    Status merge(MinMaxFuncBase* minmax_func) override {
69
278
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
278
        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
278
            } else if (other_minmax->_min < _min) {
77
5
                _min = other_minmax->_min;
78
5
            }
79
278
        }
80
278
        if constexpr (NeedMax) {
81
278
            if (other_minmax->_max > _max) {
82
5
                _max = other_minmax->_max;
83
5
            }
84
278
        }
85
86
278
        _contain_null |= minmax_func->contain_null();
87
278
        return Status::OK();
88
278
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
125
    Status merge(MinMaxFuncBase* minmax_func) override {
69
125
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
125
        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
125
            } else if (other_minmax->_min < _min) {
77
12
                _min = other_minmax->_min;
78
12
            }
79
125
        }
80
125
        if constexpr (NeedMax) {
81
125
            if (other_minmax->_max > _max) {
82
12
                _max = other_minmax->_max;
83
12
            }
84
125
        }
85
86
125
        _contain_null |= minmax_func->contain_null();
87
125
        return Status::OK();
88
125
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
10
    Status merge(MinMaxFuncBase* minmax_func) override {
69
10
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
10
        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
10
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
10
        }
80
10
        if constexpr (NeedMax) {
81
10
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
10
        }
85
86
10
        _contain_null |= minmax_func->contain_null();
87
10
        return Status::OK();
88
10
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
10
    Status merge(MinMaxFuncBase* minmax_func) override {
69
10
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
10
        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
10
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
10
        }
80
10
        if constexpr (NeedMax) {
81
10
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
10
        }
85
86
10
        _contain_null |= minmax_func->contain_null();
87
10
        return Status::OK();
88
10
    }
89
90
6.51k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_maxEv
Line
Count
Source
90
25
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_maxEv
Line
Count
Source
90
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_maxEv
Line
Count
Source
90
420
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_maxEv
Line
Count
Source
90
317
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_maxEv
Line
Count
Source
90
3.31k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_maxEv
Line
Count
Source
90
1.28k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_maxEv
Line
Count
Source
90
71
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE7get_maxEv
Line
Count
Source
90
34
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7get_maxEv
Line
Count
Source
90
10
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_maxEv
Line
Count
Source
90
6
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
174
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
157
    void* get_max() override { return &_max; }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_maxEv
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
368
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_maxEv
Line
Count
Source
90
38
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_maxEv
Line
Count
Source
90
213
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_maxEv
Line
Count
Source
90
53
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
16
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_maxEv
Line
Count
Source
90
6
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_maxEv
Line
Count
Source
90
4
    void* get_max() override { return &_max; }
91
92
6.46k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_minEv
Line
Count
Source
92
25
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_minEv
Line
Count
Source
92
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_minEv
Line
Count
Source
92
382
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_minEv
Line
Count
Source
92
318
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_minEv
Line
Count
Source
92
3.30k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_minEv
Line
Count
Source
92
1.29k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_minEv
Line
Count
Source
92
60
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE7get_minEv
Line
Count
Source
92
34
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7get_minEv
Line
Count
Source
92
3
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_minEv
Line
Count
Source
92
6
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
92
174
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
92
157
    void* get_min() override { return &_min; }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_minEv
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_minEv
Line
Count
Source
92
363
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_minEv
Line
Count
Source
92
38
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_minEv
Line
Count
Source
92
215
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_minEv
Line
Count
Source
92
57
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_minEv
Line
Count
Source
92
16
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_minEv
Line
Count
Source
92
6
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_minEv
Line
Count
Source
92
4
    void* get_min() override { return &_min; }
93
94
1.56k
    Status assign(void* min_data, void* max_data) override {
95
1.56k
        if constexpr (IsStringValue) {
96
81
            _min_value_set = true;
97
81
        }
98
1.56k
        _min = *(T*)min_data;
99
1.56k
        _max = *(T*)max_data;
100
1.56k
        return Status::OK();
101
1.56k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE6assignEPvS2_
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
    }
_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
51
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
51
        _min = *(T*)min_data;
99
51
        _max = *(T*)max_data;
100
51
        return Status::OK();
101
51
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
141
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
141
        _min = *(T*)min_data;
99
141
        _max = *(T*)max_data;
100
141
        return Status::OK();
101
141
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
871
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
871
        _min = *(T*)min_data;
99
871
        _max = *(T*)max_data;
100
871
        return Status::OK();
101
871
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
149
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
149
        _min = *(T*)min_data;
99
149
        _max = *(T*)max_data;
100
149
        return Status::OK();
101
149
    }
_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
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
    }
_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
61
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
61
        _min = *(T*)min_data;
99
61
        _max = *(T*)max_data;
100
61
        return Status::OK();
101
61
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
94
143
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
143
        _min = *(T*)min_data;
99
143
        _max = *(T*)max_data;
100
143
        return Status::OK();
101
143
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE6assignEPvS3_
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE6assignEPvS8_
Line
Count
Source
94
81
    Status assign(void* min_data, void* max_data) override {
95
81
        if constexpr (IsStringValue) {
96
81
            _min_value_set = true;
97
81
        }
98
81
        _min = *(T*)min_data;
99
81
        _max = *(T*)max_data;
100
81
        return Status::OK();
101
81
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE6assignEPvS4_
Line
Count
Source
94
11
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
11
        _min = *(T*)min_data;
99
11
        _max = *(T*)max_data;
100
11
        return Status::OK();
101
11
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE6assignEPvS4_
Line
Count
Source
94
11
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
11
        _min = *(T*)min_data;
99
11
        _max = *(T*)max_data;
100
11
        return Status::OK();
101
11
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE6assignEPvS3_
Line
Count
Source
94
31
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
31
        _min = *(T*)min_data;
99
31
        _max = *(T*)max_data;
100
31
        return Status::OK();
101
31
    }
_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.85k
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIhLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
60
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
157
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
1.09k
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
218
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncInLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIdLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
60
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
142
    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
78
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
10
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
10
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
32
    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.85k
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
1.85k
        if constexpr (NeedMin) {
108
1.85k
            f(filter->mutable_min_val(), _min);
109
1.85k
        }
110
1.85k
        if constexpr (NeedMax) {
111
1.85k
            f(filter->mutable_max_val(), _max);
112
1.85k
        }
113
1.85k
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIhLb1ELb1EE7_set_pbIZNS_13get_convertorIhEEDavEUlPNS_12PColumnValueERKhE_EEvPNS_13PMinMaxFilterET_
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
60
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
60
        if constexpr (NeedMin) {
108
60
            f(filter->mutable_min_val(), _min);
109
60
        }
110
60
        if constexpr (NeedMax) {
111
60
            f(filter->mutable_max_val(), _max);
112
60
        }
113
60
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7_set_pbIZNS_13get_convertorIsEEDavEUlPNS_12PColumnValueERKsE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
157
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
157
        if constexpr (NeedMin) {
108
157
            f(filter->mutable_min_val(), _min);
109
157
        }
110
157
        if constexpr (NeedMax) {
111
157
            f(filter->mutable_max_val(), _max);
112
157
        }
113
157
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7_set_pbIZNS_13get_convertorIiEEDavEUlPNS_12PColumnValueERKiE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
1.09k
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
1.09k
        if constexpr (NeedMin) {
108
1.09k
            f(filter->mutable_min_val(), _min);
109
1.09k
        }
110
1.09k
        if constexpr (NeedMax) {
111
1.09k
            f(filter->mutable_max_val(), _max);
112
1.09k
        }
113
1.09k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7_set_pbIZNS_13get_convertorIlEEDavEUlPNS_12PColumnValueERKlE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
218
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
218
        if constexpr (NeedMin) {
108
218
            f(filter->mutable_min_val(), _min);
109
218
        }
110
218
        if constexpr (NeedMax) {
111
218
            f(filter->mutable_max_val(), _max);
112
218
        }
113
218
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncInLb1ELb1EE7_set_pbIZNS_13get_convertorInEEDavEUlPNS_12PColumnValueERKnE_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE7_set_pbIZNS_13get_convertorIfEEDavEUlPNS_12PColumnValueERKfE_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIdLb1ELb1EE7_set_pbIZNS_13get_convertorIdEEDavEUlPNS_12PColumnValueERKdE_EEvPNS_13PMinMaxFilterET_
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
60
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
60
        if constexpr (NeedMin) {
108
60
            f(filter->mutable_min_val(), _min);
109
60
        }
110
60
        if constexpr (NeedMax) {
111
60
            f(filter->mutable_max_val(), _max);
112
60
        }
113
60
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
142
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
142
        if constexpr (NeedMin) {
108
142
            f(filter->mutable_min_val(), _min);
109
142
        }
110
142
        if constexpr (NeedMax) {
111
142
            f(filter->mutable_max_val(), _max);
112
142
        }
113
142
    }
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
78
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
78
        if constexpr (NeedMin) {
108
78
            f(filter->mutable_min_val(), _min);
109
78
        }
110
78
        if constexpr (NeedMax) {
111
78
            f(filter->mutable_max_val(), _max);
112
78
        }
113
78
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7_set_pbIZNS_13get_convertorIS2_EEDavEUlPNS_12PColumnValueERKS2_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
10
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
10
        if constexpr (NeedMin) {
108
10
            f(filter->mutable_min_val(), _min);
109
10
        }
110
10
        if constexpr (NeedMax) {
111
10
            f(filter->mutable_max_val(), _max);
112
10
        }
113
10
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7_set_pbIZNS_13get_convertorIS2_EEDavEUlPNS_12PColumnValueERKS2_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
10
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
10
        if constexpr (NeedMin) {
108
10
            f(filter->mutable_min_val(), _min);
109
10
        }
110
10
        if constexpr (NeedMax) {
111
10
            f(filter->mutable_max_val(), _max);
112
10
        }
113
10
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
32
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
32
        if constexpr (NeedMin) {
108
32
            f(filter->mutable_min_val(), _min);
109
32
        }
110
32
        if constexpr (NeedMax) {
111
32
            f(filter->mutable_max_val(), _max);
112
32
        }
113
32
    }
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
311
                              size_t start, size_t size) {
117
3.41k
        for (size_t i = start; i < size; i++) {
118
3.10k
            if (nullmap == nullptr || !nullmap[i]) {
119
3.02k
                if constexpr (NeedMin) {
120
3.02k
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
121
397
                        _min = column_string.get_data_at(i).to_string();
122
397
                        _min_value_set = true;
123
397
                    }
124
3.02k
                }
125
3.02k
                if constexpr (NeedMax) {
126
3.02k
                    if (column_string.get_data_at(i) > StringRef(_max)) {
127
704
                        _max = column_string.get_data_at(i).to_string();
128
704
                    }
129
3.02k
                }
130
3.02k
            }
131
3.10k
        }
132
311
    }
_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
310
                              size_t start, size_t size) {
117
3.40k
        for (size_t i = start; i < size; i++) {
118
3.09k
            if (nullmap == nullptr || !nullmap[i]) {
119
3.01k
                if constexpr (NeedMin) {
120
3.01k
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
121
396
                        _min = column_string.get_data_at(i).to_string();
122
396
                        _min_value_set = true;
123
396
                    }
124
3.01k
                }
125
3.01k
                if constexpr (NeedMax) {
126
3.01k
                    if (column_string.get_data_at(i) > StringRef(_max)) {
127
696
                        _max = column_string.get_data_at(i).to_string();
128
696
                    }
129
3.01k
                }
130
3.01k
            }
131
3.09k
        }
132
310
    }
133
134
3.42k
    void _update_batch(const ColumnPtr& column, size_t start) {
135
3.42k
        const auto size = column->size();
136
3.42k
        if constexpr (std::is_same_v<T, std::string>) {
137
122
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
1
                                     size);
140
121
            } else {
141
121
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
121
                                     size);
143
121
            }
144
3.30k
        } else {
145
3.30k
            const T* data = (T*)column->get_raw_data().data;
146
1.15M
            for (size_t i = start; i < size; i++) {
147
1.15M
                if constexpr (NeedMin) {
148
1.15M
                    _min = std::min(_min, *(data + i));
149
1.15M
                }
150
1.15M
                if constexpr (NeedMax) {
151
1.15M
                    _max = std::max(_max, *(data + i));
152
1.15M
                }
153
1.15M
            }
154
3.30k
        }
155
3.42k
    }
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
141
    void _update_batch(const ColumnPtr& column, size_t start) {
135
141
        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
141
        } else {
145
141
            const T* data = (T*)column->get_raw_data().data;
146
449
            for (size_t i = start; i < size; i++) {
147
308
                if constexpr (NeedMin) {
148
308
                    _min = std::min(_min, *(data + i));
149
308
                }
150
308
                if constexpr (NeedMax) {
151
308
                    _max = std::max(_max, *(data + i));
152
308
                }
153
308
            }
154
141
        }
155
141
    }
_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
2.53k
    void _update_batch(const ColumnPtr& column, size_t start) {
135
2.53k
        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.53k
        } else {
145
2.53k
            const T* data = (T*)column->get_raw_data().data;
146
1.15M
            for (size_t i = start; i < size; i++) {
147
1.15M
                if constexpr (NeedMin) {
148
1.15M
                    _min = std::min(_min, *(data + i));
149
1.15M
                }
150
1.15M
                if constexpr (NeedMax) {
151
1.15M
                    _max = std::max(_max, *(data + i));
152
1.15M
                }
153
1.15M
            }
154
2.53k
        }
155
2.53k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
230
    void _update_batch(const ColumnPtr& column, size_t start) {
135
230
        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
230
        } else {
145
230
            const T* data = (T*)column->get_raw_data().data;
146
1.85k
            for (size_t i = start; i < size; i++) {
147
1.62k
                if constexpr (NeedMin) {
148
1.62k
                    _min = std::min(_min, *(data + i));
149
1.62k
                }
150
1.62k
                if constexpr (NeedMax) {
151
1.62k
                    _max = std::max(_max, *(data + i));
152
1.62k
                }
153
1.62k
            }
154
230
        }
155
230
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
110
    void _update_batch(const ColumnPtr& column, size_t start) {
135
110
        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
110
        } else {
145
110
            const T* data = (T*)column->get_raw_data().data;
146
344
            for (size_t i = start; i < size; i++) {
147
234
                if constexpr (NeedMin) {
148
234
                    _min = std::min(_min, *(data + i));
149
234
                }
150
234
                if constexpr (NeedMax) {
151
234
                    _max = std::max(_max, *(data + i));
152
234
                }
153
234
            }
154
110
        }
155
110
    }
_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
7
    void _update_batch(const ColumnPtr& column, size_t start) {
135
7
        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
7
        } else {
145
7
            const T* data = (T*)column->get_raw_data().data;
146
16
            for (size_t i = start; i < size; i++) {
147
9
                if constexpr (NeedMin) {
148
9
                    _min = std::min(_min, *(data + i));
149
9
                }
150
9
                if constexpr (NeedMax) {
151
9
                    _max = std::max(_max, *(data + i));
152
9
                }
153
9
            }
154
7
        }
155
7
    }
_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
162
    void _update_batch(const ColumnPtr& column, size_t start) {
135
162
        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
162
        } else {
145
162
            const T* data = (T*)column->get_raw_data().data;
146
532
            for (size_t i = start; i < size; i++) {
147
370
                if constexpr (NeedMin) {
148
370
                    _min = std::min(_min, *(data + i));
149
370
                }
150
370
                if constexpr (NeedMax) {
151
370
                    _max = std::max(_max, *(data + i));
152
370
                }
153
370
            }
154
162
        }
155
162
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
134
39
    void _update_batch(const ColumnPtr& column, size_t start) {
135
39
        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
39
        } else {
145
39
            const T* data = (T*)column->get_raw_data().data;
146
152
            for (size_t i = start; i < size; i++) {
147
113
                if constexpr (NeedMin) {
148
113
                    _min = std::min(_min, *(data + i));
149
113
                }
150
113
                if constexpr (NeedMax) {
151
113
                    _max = std::max(_max, *(data + i));
152
113
                }
153
113
            }
154
39
        }
155
39
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
134
122
    void _update_batch(const ColumnPtr& column, size_t start) {
135
122
        const auto size = column->size();
136
122
        if constexpr (std::is_same_v<T, std::string>) {
137
122
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
1
                                     size);
140
121
            } else {
141
121
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
121
                                     size);
143
121
            }
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
122
    }
_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
25
    void _update_batch(const ColumnPtr& column, size_t start) {
135
25
        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
25
        } else {
145
25
            const T* data = (T*)column->get_raw_data().data;
146
123
            for (size_t i = start; i < size; i++) {
147
98
                if constexpr (NeedMin) {
148
98
                    _min = std::min(_min, *(data + i));
149
98
                }
150
98
                if constexpr (NeedMax) {
151
98
                    _max = std::max(_max, *(data + i));
152
98
                }
153
98
            }
154
25
        }
155
25
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
134
46
    void _update_batch(const ColumnPtr& column, size_t start) {
135
46
        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
46
        } else {
145
46
            const T* data = (T*)column->get_raw_data().data;
146
127
            for (size_t i = start; i < size; i++) {
147
81
                if constexpr (NeedMin) {
148
81
                    _min = std::min(_min, *(data + i));
149
81
                }
150
81
                if constexpr (NeedMax) {
151
81
                    _max = std::max(_max, *(data + i));
152
81
                }
153
81
            }
154
46
        }
155
46
    }
_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
4.70k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
4.70k
        const auto size = column->size();
159
4.70k
        if constexpr (std::is_same_v<T, std::string>) {
160
188
            if (column->is_column_string64()) {
161
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
0
                                     start, size);
163
188
            } else {
164
188
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
188
                                     start, size);
166
188
            }
167
4.51k
        } else {
168
4.51k
            const T* data = (T*)column->get_raw_data().data;
169
1.06M
            for (size_t i = start; i < size; i++) {
170
1.06M
                if (!nullmap[i]) {
171
1.06M
                    if constexpr (NeedMin) {
172
1.06M
                        _min = std::min(_min, *(data + i));
173
1.06M
                    }
174
1.06M
                    if constexpr (NeedMax) {
175
1.06M
                        _max = std::max(_max, *(data + i));
176
1.06M
                    }
177
1.06M
                }
178
1.06M
            }
179
4.51k
        }
180
4.70k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
24
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
24
        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
24
        } else {
168
24
            const T* data = (T*)column->get_raw_data().data;
169
72
            for (size_t i = start; i < size; i++) {
170
48
                if (!nullmap[i]) {
171
32
                    if constexpr (NeedMin) {
172
32
                        _min = std::min(_min, *(data + i));
173
32
                    }
174
32
                    if constexpr (NeedMax) {
175
32
                        _max = std::max(_max, *(data + i));
176
32
                    }
177
32
                }
178
48
            }
179
24
        }
180
24
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
315
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
315
        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
315
        } else {
168
315
            const T* data = (T*)column->get_raw_data().data;
169
1.23k
            for (size_t i = start; i < size; i++) {
170
920
                if (!nullmap[i]) {
171
886
                    if constexpr (NeedMin) {
172
886
                        _min = std::min(_min, *(data + i));
173
886
                    }
174
886
                    if constexpr (NeedMax) {
175
886
                        _max = std::max(_max, *(data + i));
176
886
                    }
177
886
                }
178
920
            }
179
315
        }
180
315
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
253
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
253
        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
253
        } else {
168
253
            const T* data = (T*)column->get_raw_data().data;
169
1.71k
            for (size_t i = start; i < size; i++) {
170
1.45k
                if (!nullmap[i]) {
171
1.30k
                    if constexpr (NeedMin) {
172
1.30k
                        _min = std::min(_min, *(data + i));
173
1.30k
                    }
174
1.30k
                    if constexpr (NeedMax) {
175
1.30k
                        _max = std::max(_max, *(data + i));
176
1.30k
                    }
177
1.30k
                }
178
1.45k
            }
179
253
        }
180
253
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
2.19k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
2.19k
        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.19k
        } else {
168
2.19k
            const T* data = (T*)column->get_raw_data().data;
169
1.05M
            for (size_t i = start; i < size; i++) {
170
1.05M
                if (!nullmap[i]) {
171
1.05M
                    if constexpr (NeedMin) {
172
1.05M
                        _min = std::min(_min, *(data + i));
173
1.05M
                    }
174
1.05M
                    if constexpr (NeedMax) {
175
1.05M
                        _max = std::max(_max, *(data + i));
176
1.05M
                    }
177
1.05M
                }
178
1.05M
            }
179
2.19k
        }
180
2.19k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
984
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
984
        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
984
        } else {
168
984
            const T* data = (T*)column->get_raw_data().data;
169
4.85k
            for (size_t i = start; i < size; i++) {
170
3.86k
                if (!nullmap[i]) {
171
3.52k
                    if constexpr (NeedMin) {
172
3.52k
                        _min = std::min(_min, *(data + i));
173
3.52k
                    }
174
3.52k
                    if constexpr (NeedMax) {
175
3.52k
                        _max = std::max(_max, *(data + i));
176
3.52k
                    }
177
3.52k
                }
178
3.86k
            }
179
984
        }
180
984
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
7
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
7
        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
7
        } else {
168
7
            const T* data = (T*)column->get_raw_data().data;
169
17
            for (size_t i = start; i < size; i++) {
170
10
                if (!nullmap[i]) {
171
10
                    if constexpr (NeedMin) {
172
10
                        _min = std::min(_min, *(data + i));
173
10
                    }
174
10
                    if constexpr (NeedMax) {
175
10
                        _max = std::max(_max, *(data + i));
176
10
                    }
177
10
                }
178
10
            }
179
7
        }
180
7
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
32
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
32
        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
32
        } else {
168
32
            const T* data = (T*)column->get_raw_data().data;
169
80
            for (size_t i = start; i < size; i++) {
170
48
                if (!nullmap[i]) {
171
40
                    if constexpr (NeedMin) {
172
40
                        _min = std::min(_min, *(data + i));
173
40
                    }
174
40
                    if constexpr (NeedMax) {
175
40
                        _max = std::max(_max, *(data + i));
176
40
                    }
177
40
                }
178
48
            }
179
32
        }
180
32
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
37
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
37
        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
37
        } else {
168
37
            const T* data = (T*)column->get_raw_data().data;
169
77
            for (size_t i = start; i < size; i++) {
170
40
                if (!nullmap[i]) {
171
4
                    if constexpr (NeedMin) {
172
4
                        _min = std::min(_min, *(data + i));
173
4
                    }
174
4
                    if constexpr (NeedMax) {
175
4
                        _max = std::max(_max, *(data + i));
176
4
                    }
177
4
                }
178
40
            }
179
37
        }
180
37
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE13_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
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
73
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
73
        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
73
        } else {
168
73
            const T* data = (T*)column->get_raw_data().data;
169
907
            for (size_t i = start; i < size; i++) {
170
834
                if (!nullmap[i]) {
171
794
                    if constexpr (NeedMin) {
172
794
                        _min = std::min(_min, *(data + i));
173
794
                    }
174
794
                    if constexpr (NeedMax) {
175
794
                        _max = std::max(_max, *(data + i));
176
794
                    }
177
794
                }
178
834
            }
179
73
        }
180
73
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
398
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
398
        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
398
        } else {
168
398
            const T* data = (T*)column->get_raw_data().data;
169
931
            for (size_t i = start; i < size; i++) {
170
533
                if (!nullmap[i]) {
171
518
                    if constexpr (NeedMin) {
172
518
                        _min = std::min(_min, *(data + i));
173
518
                    }
174
518
                    if constexpr (NeedMax) {
175
518
                        _max = std::max(_max, *(data + i));
176
518
                    }
177
518
                }
178
533
            }
179
398
        }
180
398
    }
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
188
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
188
        const auto size = column->size();
159
188
        if constexpr (std::is_same_v<T, std::string>) {
160
188
            if (column->is_column_string64()) {
161
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
0
                                     start, size);
163
188
            } else {
164
188
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
188
                                     start, size);
166
188
            }
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
188
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
38
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
38
        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
38
        } else {
168
38
            const T* data = (T*)column->get_raw_data().data;
169
97
            for (size_t i = start; i < size; i++) {
170
59
                if (!nullmap[i]) {
171
53
                    if constexpr (NeedMin) {
172
53
                        _min = std::min(_min, *(data + i));
173
53
                    }
174
53
                    if constexpr (NeedMax) {
175
53
                        _max = std::max(_max, *(data + i));
176
53
                    }
177
53
                }
178
59
            }
179
38
        }
180
38
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
71
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
71
        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
71
        } else {
168
71
            const T* data = (T*)column->get_raw_data().data;
169
184
            for (size_t i = start; i < size; i++) {
170
113
                if (!nullmap[i]) {
171
100
                    if constexpr (NeedMin) {
172
100
                        _min = std::min(_min, *(data + i));
173
100
                    }
174
100
                    if constexpr (NeedMax) {
175
100
                        _max = std::max(_max, *(data + i));
176
100
                    }
177
100
                }
178
113
            }
179
71
        }
180
71
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
58
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
58
        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
58
        } else {
168
58
            const T* data = (T*)column->get_raw_data().data;
169
283
            for (size_t i = start; i < size; i++) {
170
225
                if (!nullmap[i]) {
171
79
                    if constexpr (NeedMin) {
172
79
                        _min = std::min(_min, *(data + i));
173
79
                    }
174
79
                    if constexpr (NeedMax) {
175
79
                        _max = std::max(_max, *(data + i));
176
79
                    }
177
79
                }
178
225
            }
179
58
        }
180
58
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
4
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
4
        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
4
        } else {
168
4
            const T* data = (T*)column->get_raw_data().data;
169
140
            for (size_t i = start; i < size; i++) {
170
136
                if (!nullmap[i]) {
171
136
                    if constexpr (NeedMin) {
172
136
                        _min = std::min(_min, *(data + i));
173
136
                    }
174
136
                    if constexpr (NeedMax) {
175
136
                        _max = std::max(_max, *(data + i));
176
136
                    }
177
136
                }
178
136
            }
179
4
        }
180
4
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
13
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
13
        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
13
        } else {
168
13
            const T* data = (T*)column->get_raw_data().data;
169
245
            for (size_t i = start; i < size; i++) {
170
232
                if (!nullmap[i]) {
171
211
                    if constexpr (NeedMin) {
172
211
                        _min = std::min(_min, *(data + i));
173
211
                    }
174
211
                    if constexpr (NeedMax) {
175
211
                        _max = std::max(_max, *(data + i));
176
211
                    }
177
211
                }
178
232
            }
179
13
        }
180
13
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
12
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
12
        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
12
        } else {
168
12
            const T* data = (T*)column->get_raw_data().data;
169
144
            for (size_t i = start; i < size; i++) {
170
132
                if (!nullmap[i]) {
171
120
                    if constexpr (NeedMin) {
172
120
                        _min = std::min(_min, *(data + i));
173
120
                    }
174
120
                    if constexpr (NeedMax) {
175
120
                        _max = std::max(_max, *(data + i));
176
120
                    }
177
120
                }
178
132
            }
179
12
        }
180
12
    }
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