Coverage Report

Created: 2026-11-02 10:42

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
17.6k
    MinMaxFuncBase(bool null_aware) : FilterBase(null_aware) {}
33
    virtual void insert_fixed_len(const ColumnPtr& column, size_t start) = 0;
34
    virtual void* get_max() = 0;
35
    virtual void* get_min() = 0;
36
    // assign minmax data
37
    virtual Status assign(void* min_data, void* max_data) = 0;
38
    // merge from other minmax_func
39
    virtual Status merge(MinMaxFuncBase* minmax_func) = 0;
40
    // Deep copy. The returned object shares nothing with this one.
41
    virtual MinMaxFuncBase* clone() const = 0;
42
17.8k
    virtual ~MinMaxFuncBase() = default;
43
44
    virtual void to_pb(PMinMaxFilter* filter) = 0;
45
};
46
47
template <class T, bool NeedMax = true, bool NeedMin = true>
48
class MinMaxNumFunc : public MinMaxFuncBase {
49
public:
50
    static constexpr bool IsStringValue = std::is_same_v<T, std::string>;
51
17.7k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIhLb1ELb1EEC2Eb
Line
Count
Source
51
16
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EEC2Eb
Line
Count
Source
51
18
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIaLb1ELb1EEC2Eb
Line
Count
Source
51
405
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIsLb1ELb1EEC2Eb
Line
Count
Source
51
389
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIiLb1ELb1EEC2Eb
Line
Count
Source
51
11.3k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIlLb1ELb1EEC2Eb
Line
Count
Source
51
3.70k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncInLb1ELb1EEC2Eb
Line
Count
Source
51
145
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIfLb1ELb1EEC2Eb
Line
Count
Source
51
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIdLb1ELb1EEC2Eb
Line
Count
Source
51
6
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EEC2Eb
Line
Count
Source
51
4
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
51
544
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
51
153
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EEC2Eb
Line
Count
Source
51
1
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EEC2Eb
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EEC2Eb
Line
Count
Source
51
461
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EEC2Eb
Line
Count
Source
51
45
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EEC2Eb
Line
Count
Source
51
173
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EEC2Eb
Line
Count
Source
51
147
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EEC2Eb
Line
Count
Source
51
26
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIjLb1ELb1EEC2Eb
Line
Count
Source
51
20
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIoLb1ELb1EEC2Eb
Line
Count
Source
51
61
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
52
463
    ~MinMaxNumFunc() override = default;
53
54
6.17k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
6.17k
        if (is_column_nullable(*column)) {
56
4.05k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
4.05k
            const auto& col = nullable->get_nested_column_ptr();
58
4.05k
            const auto& nullmap = nullable->get_null_map_data();
59
4.05k
            if (nullable->has_null()) {
60
3.71k
                _update_batch(col, nullmap, start);
61
3.71k
                _contain_null = true;
62
3.71k
            } else {
63
346
                _update_batch(col, start);
64
346
            }
65
4.05k
        } else {
66
2.11k
            _update_batch(column, start);
67
2.11k
        }
68
6.17k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
3
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
3
        if (is_column_nullable(*column)) {
56
3
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
3
            const auto& col = nullable->get_nested_column_ptr();
58
3
            const auto& nullmap = nullable->get_null_map_data();
59
3
            if (nullable->has_null()) {
60
3
                _update_batch(col, nullmap, start);
61
3
                _contain_null = true;
62
3
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
3
        } else {
66
0
            _update_batch(column, start);
67
0
        }
68
3
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
9
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
9
        if (is_column_nullable(*column)) {
56
8
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
8
            const auto& col = nullable->get_nested_column_ptr();
58
8
            const auto& nullmap = nullable->get_null_map_data();
59
8
            if (nullable->has_null()) {
60
8
                _update_batch(col, nullmap, start);
61
8
                _contain_null = true;
62
8
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
8
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
9
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
170
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
170
        if (is_column_nullable(*column)) {
56
169
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
169
            const auto& col = nullable->get_nested_column_ptr();
58
169
            const auto& nullmap = nullable->get_null_map_data();
59
169
            if (nullable->has_null()) {
60
147
                _update_batch(col, nullmap, start);
61
147
                _contain_null = true;
62
147
            } else {
63
22
                _update_batch(col, start);
64
22
            }
65
169
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
170
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
173
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
173
        if (is_column_nullable(*column)) {
56
171
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
171
            const auto& col = nullable->get_nested_column_ptr();
58
171
            const auto& nullmap = nullable->get_null_map_data();
59
171
            if (nullable->has_null()) {
60
170
                _update_batch(col, nullmap, start);
61
170
                _contain_null = true;
62
170
            } else {
63
1
                _update_batch(col, start);
64
1
            }
65
171
        } else {
66
2
            _update_batch(column, start);
67
2
        }
68
173
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
4.25k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
4.25k
        if (is_column_nullable(*column)) {
56
2.62k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
2.62k
            const auto& col = nullable->get_nested_column_ptr();
58
2.62k
            const auto& nullmap = nullable->get_null_map_data();
59
2.62k
            if (nullable->has_null()) {
60
2.40k
                _update_batch(col, nullmap, start);
61
2.40k
                _contain_null = true;
62
2.40k
            } else {
63
219
                _update_batch(col, start);
64
219
            }
65
2.62k
        } else {
66
1.63k
            _update_batch(column, start);
67
1.63k
        }
68
4.25k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
901
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
901
        if (is_column_nullable(*column)) {
56
770
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
770
            const auto& col = nullable->get_nested_column_ptr();
58
770
            const auto& nullmap = nullable->get_null_map_data();
59
770
            if (nullable->has_null()) {
60
764
                _update_batch(col, nullmap, start);
61
764
                _contain_null = true;
62
764
            } else {
63
6
                _update_batch(col, start);
64
6
            }
65
770
        } else {
66
131
            _update_batch(column, start);
67
131
        }
68
901
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
40
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
40
        if (is_column_nullable(*column)) {
56
3
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
3
            const auto& col = nullable->get_nested_column_ptr();
58
3
            const auto& nullmap = nullable->get_null_map_data();
59
3
            if (nullable->has_null()) {
60
3
                _update_batch(col, nullmap, start);
61
3
                _contain_null = true;
62
3
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
37
        } else {
66
37
            _update_batch(column, start);
67
37
        }
68
40
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
1
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
1
        if (is_column_nullable(*column)) {
56
0
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
0
            const auto& col = nullable->get_nested_column_ptr();
58
0
            const auto& nullmap = nullable->get_null_map_data();
59
0
            if (nullable->has_null()) {
60
0
                _update_batch(col, nullmap, start);
61
0
                _contain_null = true;
62
0
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
1
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
1
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
3
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
3
        if (is_column_nullable(*column)) {
56
2
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
2
            const auto& col = nullable->get_nested_column_ptr();
58
2
            const auto& nullmap = nullable->get_null_map_data();
59
2
            if (nullable->has_null()) {
60
2
                _update_batch(col, nullmap, start);
61
2
                _contain_null = true;
62
2
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
2
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
3
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
2
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
2
        if (is_column_nullable(*column)) {
56
0
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
0
            const auto& col = nullable->get_nested_column_ptr();
58
0
            const auto& nullmap = nullable->get_null_map_data();
59
0
            if (nullable->has_null()) {
60
0
                _update_batch(col, nullmap, start);
61
0
                _contain_null = true;
62
0
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
2
        } else {
66
2
            _update_batch(column, start);
67
2
        }
68
2
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
54
205
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
205
        if (is_column_nullable(*column)) {
56
27
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
27
            const auto& col = nullable->get_nested_column_ptr();
58
27
            const auto& nullmap = nullable->get_null_map_data();
59
27
            if (nullable->has_null()) {
60
24
                _update_batch(col, nullmap, start);
61
24
                _contain_null = true;
62
24
            } else {
63
3
                _update_batch(col, start);
64
3
            }
65
178
        } else {
66
178
            _update_batch(column, start);
67
178
        }
68
205
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
54
71
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
71
        if (is_column_nullable(*column)) {
56
18
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
18
            const auto& col = nullable->get_nested_column_ptr();
58
18
            const auto& nullmap = nullable->get_null_map_data();
59
18
            if (nullable->has_null()) {
60
18
                _update_batch(col, nullmap, start);
61
18
                _contain_null = true;
62
18
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
53
        } else {
66
53
            _update_batch(column, start);
67
53
        }
68
71
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
54
163
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
163
        if (is_column_nullable(*column)) {
56
131
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
131
            const auto& col = nullable->get_nested_column_ptr();
58
131
            const auto& nullmap = nullable->get_null_map_data();
59
131
            if (nullable->has_null()) {
60
81
                _update_batch(col, nullmap, start);
61
81
                _contain_null = true;
62
81
            } else {
63
50
                _update_batch(col, start);
64
50
            }
65
131
        } else {
66
32
            _update_batch(column, start);
67
32
        }
68
163
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
54
18
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
18
        if (is_column_nullable(*column)) {
56
17
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
17
            const auto& col = nullable->get_nested_column_ptr();
58
17
            const auto& nullmap = nullable->get_null_map_data();
59
17
            if (nullable->has_null()) {
60
17
                _update_batch(col, nullmap, start);
61
17
                _contain_null = true;
62
17
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
17
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
18
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
54
38
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
38
        if (is_column_nullable(*column)) {
56
21
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
21
            const auto& col = nullable->get_nested_column_ptr();
58
21
            const auto& nullmap = nullable->get_null_map_data();
59
21
            if (nullable->has_null()) {
60
21
                _update_batch(col, nullmap, start);
61
21
                _contain_null = true;
62
21
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
21
        } else {
66
17
            _update_batch(column, start);
67
17
        }
68
38
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
70
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
70
        if (is_column_nullable(*column)) {
56
53
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
53
            const auto& col = nullable->get_nested_column_ptr();
58
53
            const auto& nullmap = nullable->get_null_map_data();
59
53
            if (nullable->has_null()) {
60
10
                _update_batch(col, nullmap, start);
61
10
                _contain_null = true;
62
43
            } else {
63
43
                _update_batch(col, start);
64
43
            }
65
53
        } else {
66
17
            _update_batch(column, start);
67
17
        }
68
70
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EEm
Line
Count
Source
54
4
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
4
        if (is_column_nullable(*column)) {
56
3
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
3
            const auto& col = nullable->get_nested_column_ptr();
58
3
            const auto& nullmap = nullable->get_null_map_data();
59
3
            if (nullable->has_null()) {
60
3
                _update_batch(col, nullmap, start);
61
3
                _contain_null = true;
62
3
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
3
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
4
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
15
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
15
        if (is_column_nullable(*column)) {
56
14
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
14
            const auto& col = nullable->get_nested_column_ptr();
58
14
            const auto& nullmap = nullable->get_null_map_data();
59
14
            if (nullable->has_null()) {
60
14
                _update_batch(col, nullmap, start);
61
14
                _contain_null = true;
62
14
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
14
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
15
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
31
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
31
        if (is_column_nullable(*column)) {
56
25
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
25
            const auto& col = nullable->get_nested_column_ptr();
58
25
            const auto& nullmap = nullable->get_null_map_data();
59
25
            if (nullable->has_null()) {
60
23
                _update_batch(col, nullmap, start);
61
23
                _contain_null = true;
62
23
            } else {
63
2
                _update_batch(col, start);
64
2
            }
65
25
        } else {
66
6
            _update_batch(column, start);
67
6
        }
68
31
    }
69
70
7.36k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
7.36k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
7.36k
        if constexpr (NeedMin) {
73
7.36k
            if constexpr (IsStringValue) {
74
166
                if (other_minmax->_min < _min || !_min_value_set) {
75
35
                    _min = other_minmax->_min;
76
35
                    _min_value_set = true;
77
35
                }
78
7.19k
            } else if (other_minmax->_min < _min) {
79
997
                _min = other_minmax->_min;
80
997
            }
81
7.36k
        }
82
7.36k
        if constexpr (NeedMax) {
83
7.36k
            if (other_minmax->_max > _max) {
84
845
                _max = other_minmax->_max;
85
845
            }
86
7.36k
        }
87
88
7.36k
        _contain_null |= minmax_func->contain_null();
89
7.36k
        return Status::OK();
90
7.36k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
7
    Status merge(MinMaxFuncBase* minmax_func) override {
71
7
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
7
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
7
            } else if (other_minmax->_min < _min) {
79
2
                _min = other_minmax->_min;
80
2
            }
81
7
        }
82
7
        if constexpr (NeedMax) {
83
7
            if (other_minmax->_max > _max) {
84
1
                _max = other_minmax->_max;
85
1
            }
86
7
        }
87
88
7
        _contain_null |= minmax_func->contain_null();
89
7
        return Status::OK();
90
7
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
89
    Status merge(MinMaxFuncBase* minmax_func) override {
71
89
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
89
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
89
            } else if (other_minmax->_min < _min) {
79
3
                _min = other_minmax->_min;
80
3
            }
81
89
        }
82
89
        if constexpr (NeedMax) {
83
89
            if (other_minmax->_max > _max) {
84
3
                _max = other_minmax->_max;
85
3
            }
86
89
        }
87
88
89
        _contain_null |= minmax_func->contain_null();
89
89
        return Status::OK();
90
89
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
141
    Status merge(MinMaxFuncBase* minmax_func) override {
71
141
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
141
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
141
            } else if (other_minmax->_min < _min) {
79
9
                _min = other_minmax->_min;
80
9
            }
81
141
        }
82
141
        if constexpr (NeedMax) {
83
141
            if (other_minmax->_max > _max) {
84
7
                _max = other_minmax->_max;
85
7
            }
86
141
        }
87
88
141
        _contain_null |= minmax_func->contain_null();
89
141
        return Status::OK();
90
141
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
5.02k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
5.02k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
5.02k
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
5.02k
            } else if (other_minmax->_min < _min) {
79
787
                _min = other_minmax->_min;
80
787
            }
81
5.02k
        }
82
5.02k
        if constexpr (NeedMax) {
83
5.02k
            if (other_minmax->_max > _max) {
84
619
                _max = other_minmax->_max;
85
619
            }
86
5.02k
        }
87
88
5.02k
        _contain_null |= minmax_func->contain_null();
89
5.02k
        return Status::OK();
90
5.02k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
1.38k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
1.38k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
1.38k
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
1.38k
            } else if (other_minmax->_min < _min) {
79
134
                _min = other_minmax->_min;
80
134
            }
81
1.38k
        }
82
1.38k
        if constexpr (NeedMax) {
83
1.38k
            if (other_minmax->_max > _max) {
84
133
                _max = other_minmax->_max;
85
133
            }
86
1.38k
        }
87
88
1.38k
        _contain_null |= minmax_func->contain_null();
89
1.38k
        return Status::OK();
90
1.38k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
87
    Status merge(MinMaxFuncBase* minmax_func) override {
71
87
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
87
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
87
            } else if (other_minmax->_min < _min) {
79
6
                _min = other_minmax->_min;
80
6
            }
81
87
        }
82
87
        if constexpr (NeedMax) {
83
87
            if (other_minmax->_max > _max) {
84
6
                _max = other_minmax->_max;
85
6
            }
86
87
        }
87
88
87
        _contain_null |= minmax_func->contain_null();
89
87
        return Status::OK();
90
87
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIdLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
271
    Status merge(MinMaxFuncBase* minmax_func) override {
71
271
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
271
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
271
            } else if (other_minmax->_min < _min) {
79
44
                _min = other_minmax->_min;
80
44
            }
81
271
        }
82
271
        if constexpr (NeedMax) {
83
271
            if (other_minmax->_max > _max) {
84
43
                _max = other_minmax->_max;
85
43
            }
86
271
        }
87
88
271
        _contain_null |= minmax_func->contain_null();
89
271
        return Status::OK();
90
271
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
68
    Status merge(MinMaxFuncBase* minmax_func) override {
71
68
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
68
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
68
            } else if (other_minmax->_min < _min) {
79
2
                _min = other_minmax->_min;
80
2
            }
81
68
        }
82
68
        if constexpr (NeedMax) {
83
68
            if (other_minmax->_max > _max) {
84
2
                _max = other_minmax->_max;
85
2
            }
86
68
        }
87
88
68
        _contain_null |= minmax_func->contain_null();
89
68
        return Status::OK();
90
68
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
166
    Status merge(MinMaxFuncBase* minmax_func) override {
71
166
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
166
        if constexpr (NeedMin) {
73
166
            if constexpr (IsStringValue) {
74
166
                if (other_minmax->_min < _min || !_min_value_set) {
75
35
                    _min = other_minmax->_min;
76
35
                    _min_value_set = true;
77
35
                }
78
            } else if (other_minmax->_min < _min) {
79
                _min = other_minmax->_min;
80
            }
81
166
        }
82
166
        if constexpr (NeedMax) {
83
166
            if (other_minmax->_max > _max) {
84
18
                _max = other_minmax->_max;
85
18
            }
86
166
        }
87
88
166
        _contain_null |= minmax_func->contain_null();
89
166
        return Status::OK();
90
166
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
3
    Status merge(MinMaxFuncBase* minmax_func) override {
71
3
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
3
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
3
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
3
        }
82
3
        if constexpr (NeedMax) {
83
3
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
3
        }
87
88
3
        _contain_null |= minmax_func->contain_null();
89
3
        return Status::OK();
90
3
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
34
    Status merge(MinMaxFuncBase* minmax_func) override {
71
34
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
34
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
34
            } else if (other_minmax->_min < _min) {
79
2
                _min = other_minmax->_min;
80
2
            }
81
34
        }
82
34
        if constexpr (NeedMax) {
83
34
            if (other_minmax->_max > _max) {
84
6
                _max = other_minmax->_max;
85
6
            }
86
34
        }
87
88
34
        _contain_null |= minmax_func->contain_null();
89
34
        return Status::OK();
90
34
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
56
    Status merge(MinMaxFuncBase* minmax_func) override {
71
56
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
56
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
56
            } else if (other_minmax->_min < _min) {
79
3
                _min = other_minmax->_min;
80
3
            }
81
56
        }
82
56
        if constexpr (NeedMax) {
83
56
            if (other_minmax->_max > _max) {
84
3
                _max = other_minmax->_max;
85
3
            }
86
56
        }
87
88
56
        _contain_null |= minmax_func->contain_null();
89
56
        return Status::OK();
90
56
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
12
    Status merge(MinMaxFuncBase* minmax_func) override {
71
12
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
12
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
12
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
12
        }
82
12
        if constexpr (NeedMax) {
83
12
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
12
        }
87
88
12
        _contain_null |= minmax_func->contain_null();
89
12
        return Status::OK();
90
12
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
23
    Status merge(MinMaxFuncBase* minmax_func) override {
71
23
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
23
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
23
            } else if (other_minmax->_min < _min) {
79
5
                _min = other_minmax->_min;
80
5
            }
81
23
        }
82
23
        if constexpr (NeedMax) {
83
23
            if (other_minmax->_max > _max) {
84
4
                _max = other_minmax->_max;
85
4
            }
86
23
        }
87
88
23
        _contain_null |= minmax_func->contain_null();
89
23
        return Status::OK();
90
23
    }
91
92
731
    MinMaxFuncBase* clone() const override {
93
731
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
731
        cloned->_max = _max;
95
731
        cloned->_min = _min;
96
731
        cloned->_min_value_set = _min_value_set;
97
731
        cloned->_contain_null = _contain_null;
98
731
        return cloned;
99
731
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncIhLb1ELb1EE5cloneEv
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncIaLb1ELb1EE5cloneEv
Line
Count
Source
92
15
    MinMaxFuncBase* clone() const override {
93
15
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
15
        cloned->_max = _max;
95
15
        cloned->_min = _min;
96
15
        cloned->_min_value_set = _min_value_set;
97
15
        cloned->_contain_null = _contain_null;
98
15
        return cloned;
99
15
    }
_ZNK5doris13MinMaxNumFuncIsLb1ELb1EE5cloneEv
Line
Count
Source
92
19
    MinMaxFuncBase* clone() const override {
93
19
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
19
        cloned->_max = _max;
95
19
        cloned->_min = _min;
96
19
        cloned->_min_value_set = _min_value_set;
97
19
        cloned->_contain_null = _contain_null;
98
19
        return cloned;
99
19
    }
_ZNK5doris13MinMaxNumFuncIiLb1ELb1EE5cloneEv
Line
Count
Source
92
438
    MinMaxFuncBase* clone() const override {
93
438
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
438
        cloned->_max = _max;
95
438
        cloned->_min = _min;
96
438
        cloned->_min_value_set = _min_value_set;
97
438
        cloned->_contain_null = _contain_null;
98
438
        return cloned;
99
438
    }
_ZNK5doris13MinMaxNumFuncIlLb1ELb1EE5cloneEv
Line
Count
Source
92
149
    MinMaxFuncBase* clone() const override {
93
149
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
149
        cloned->_max = _max;
95
149
        cloned->_min = _min;
96
149
        cloned->_min_value_set = _min_value_set;
97
149
        cloned->_contain_null = _contain_null;
98
149
        return cloned;
99
149
    }
_ZNK5doris13MinMaxNumFuncInLb1ELb1EE5cloneEv
Line
Count
Source
92
8
    MinMaxFuncBase* clone() const override {
93
8
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
8
        cloned->_max = _max;
95
8
        cloned->_min = _min;
96
8
        cloned->_min_value_set = _min_value_set;
97
8
        cloned->_contain_null = _contain_null;
98
8
        return cloned;
99
8
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncIfLb1ELb1EE5cloneEv
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncIdLb1ELb1EE5cloneEv
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5cloneEv
Line
Count
Source
92
24
    MinMaxFuncBase* clone() const override {
93
24
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
24
        cloned->_max = _max;
95
24
        cloned->_min = _min;
96
24
        cloned->_min_value_set = _min_value_set;
97
24
        cloned->_contain_null = _contain_null;
98
24
        return cloned;
99
24
    }
_ZNK5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5cloneEv
Line
Count
Source
92
13
    MinMaxFuncBase* clone() const override {
93
13
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
13
        cloned->_max = _max;
95
13
        cloned->_min = _min;
96
13
        cloned->_min_value_set = _min_value_set;
97
13
        cloned->_contain_null = _contain_null;
98
13
        return cloned;
99
13
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE5cloneEv
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5cloneEv
Line
Count
Source
92
30
    MinMaxFuncBase* clone() const override {
93
30
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
30
        cloned->_max = _max;
95
30
        cloned->_min = _min;
96
30
        cloned->_min_value_set = _min_value_set;
97
30
        cloned->_contain_null = _contain_null;
98
30
        return cloned;
99
30
    }
_ZNK5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5cloneEv
Line
Count
Source
92
3
    MinMaxFuncBase* clone() const override {
93
3
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
3
        cloned->_max = _max;
95
3
        cloned->_min = _min;
96
3
        cloned->_min_value_set = _min_value_set;
97
3
        cloned->_contain_null = _contain_null;
98
3
        return cloned;
99
3
    }
_ZNK5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5cloneEv
Line
Count
Source
92
21
    MinMaxFuncBase* clone() const override {
93
21
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
21
        cloned->_max = _max;
95
21
        cloned->_min = _min;
96
21
        cloned->_min_value_set = _min_value_set;
97
21
        cloned->_contain_null = _contain_null;
98
21
        return cloned;
99
21
    }
_ZNK5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5cloneEv
Line
Count
Source
92
7
    MinMaxFuncBase* clone() const override {
93
7
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
7
        cloned->_max = _max;
95
7
        cloned->_min = _min;
96
7
        cloned->_min_value_set = _min_value_set;
97
7
        cloned->_contain_null = _contain_null;
98
7
        return cloned;
99
7
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncIjLb1ELb1EE5cloneEv
Line
Count
Source
92
2
    MinMaxFuncBase* clone() const override {
93
2
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
2
        cloned->_max = _max;
95
2
        cloned->_min = _min;
96
2
        cloned->_min_value_set = _min_value_set;
97
2
        cloned->_contain_null = _contain_null;
98
2
        return cloned;
99
2
    }
_ZNK5doris13MinMaxNumFuncIoLb1ELb1EE5cloneEv
Line
Count
Source
92
2
    MinMaxFuncBase* clone() const override {
93
2
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
2
        cloned->_max = _max;
95
2
        cloned->_min = _min;
96
2
        cloned->_min_value_set = _min_value_set;
97
2
        cloned->_contain_null = _contain_null;
98
2
        return cloned;
99
2
    }
100
101
4.66k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_maxEv
Line
Count
Source
101
5
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
10
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_maxEv
Line
Count
Source
101
123
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_maxEv
Line
Count
Source
101
82
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_maxEv
Line
Count
Source
101
2.90k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_maxEv
Line
Count
Source
101
1.07k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_maxEv
Line
Count
Source
101
23
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE7get_maxEv
Line
Count
Source
101
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7get_maxEv
Line
Count
Source
101
4
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
4
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
117
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
46
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
1
    void* get_max() override { return &_max; }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_maxEv
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
102
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_maxEv
Line
Count
Source
101
22
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_maxEv
Line
Count
Source
101
73
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_maxEv
Line
Count
Source
101
43
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
14
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_maxEv
Line
Count
Source
101
4
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_maxEv
Line
Count
Source
101
18
    void* get_max() override { return &_max; }
102
103
4.69k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_minEv
Line
Count
Source
103
5
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_minEv
Line
Count
Source
103
10
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_minEv
Line
Count
Source
103
119
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_minEv
Line
Count
Source
103
82
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_minEv
Line
Count
Source
103
2.90k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_minEv
Line
Count
Source
103
1.10k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_minEv
Line
Count
Source
103
20
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE7get_minEv
Line
Count
Source
103
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7get_minEv
Line
Count
Source
103
4
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_minEv
Line
Count
Source
103
4
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
103
118
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
103
50
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE7get_minEv
Line
Count
Source
103
1
    void* get_min() override { return &_min; }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_minEv
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_minEv
Line
Count
Source
103
99
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_minEv
Line
Count
Source
103
22
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_minEv
Line
Count
Source
103
73
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_minEv
Line
Count
Source
103
46
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_minEv
Line
Count
Source
103
14
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_minEv
Line
Count
Source
103
4
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_minEv
Line
Count
Source
103
18
    void* get_min() override { return &_min; }
104
105
1.39k
    Status assign(void* min_data, void* max_data) override {
106
1.39k
        if constexpr (IsStringValue) {
107
39
            _min_value_set = true;
108
39
        }
109
1.39k
        _min = *(T*)min_data;
110
1.39k
        _max = *(T*)max_data;
111
1.39k
        return Status::OK();
112
1.39k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
5
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
5
        _min = *(T*)min_data;
110
5
        _max = *(T*)max_data;
111
5
        return Status::OK();
112
5
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE6assignEPvS3_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
23
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
23
        _min = *(T*)min_data;
110
23
        _max = *(T*)max_data;
111
23
        return Status::OK();
112
23
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
53
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
53
        _min = *(T*)min_data;
110
53
        _max = *(T*)max_data;
111
53
        return Status::OK();
112
53
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
1.02k
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1.02k
        _min = *(T*)min_data;
110
1.02k
        _max = *(T*)max_data;
111
1.02k
        return Status::OK();
112
1.02k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
143
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
143
        _min = *(T*)min_data;
110
143
        _max = *(T*)max_data;
111
143
        return Status::OK();
112
143
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
13
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
13
        _min = *(T*)min_data;
110
13
        _max = *(T*)max_data;
111
13
        return Status::OK();
112
13
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE6assignEPvS3_
Line
Count
Source
105
2
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
2
        _min = *(T*)min_data;
110
2
        _max = *(T*)max_data;
111
2
        return Status::OK();
112
2
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
105
59
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
59
        _min = *(T*)min_data;
110
59
        _max = *(T*)max_data;
111
59
        return Status::OK();
112
59
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
105
3
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
3
        _min = *(T*)min_data;
110
3
        _max = *(T*)max_data;
111
3
        return Status::OK();
112
3
    }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE6assignEPvS3_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE6assignEPvS3_
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE6assignEPvS8_
Line
Count
Source
105
39
    Status assign(void* min_data, void* max_data) override {
106
39
        if constexpr (IsStringValue) {
107
39
            _min_value_set = true;
108
39
        }
109
39
        _min = *(T*)min_data;
110
39
        _max = *(T*)max_data;
111
39
        return Status::OK();
112
39
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE6assignEPvS4_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE6assignEPvS4_
Line
Count
Source
105
5
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
5
        _min = *(T*)min_data;
110
5
        _max = *(T*)max_data;
111
5
        return Status::OK();
112
5
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE6assignEPvS3_
Line
Count
Source
105
9
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
9
        _min = *(T*)min_data;
110
9
        _max = *(T*)max_data;
111
9
        return Status::OK();
112
9
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE6assignEPvS7_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
7
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
7
        _min = *(T*)min_data;
110
7
        _max = *(T*)max_data;
111
7
        return Status::OK();
112
7
    }
113
114
1.65k
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
4
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
32
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
62
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
1.27k
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
148
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
12
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIdLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
58
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
2
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
36
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
4
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
8
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
6
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
115
116
private:
117
1.65k
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
1.65k
        if constexpr (NeedMin) {
119
1.65k
            f(filter->mutable_min_val(), _min);
120
1.65k
        }
121
1.65k
        if constexpr (NeedMax) {
122
1.65k
            f(filter->mutable_max_val(), _max);
123
1.65k
        }
124
1.65k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7_set_pbIZNS_13get_convertorIhEEDavEUlPNS_12PColumnValueERKhE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
4
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
4
        if constexpr (NeedMin) {
119
4
            f(filter->mutable_min_val(), _min);
120
4
        }
121
4
        if constexpr (NeedMax) {
122
4
            f(filter->mutable_max_val(), _max);
123
4
        }
124
4
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7_set_pbIZNS_13get_convertorIaEEDavEUlPNS_12PColumnValueERKaE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
32
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
32
        if constexpr (NeedMin) {
119
32
            f(filter->mutable_min_val(), _min);
120
32
        }
121
32
        if constexpr (NeedMax) {
122
32
            f(filter->mutable_max_val(), _max);
123
32
        }
124
32
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7_set_pbIZNS_13get_convertorIsEEDavEUlPNS_12PColumnValueERKsE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
62
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
62
        if constexpr (NeedMin) {
119
62
            f(filter->mutable_min_val(), _min);
120
62
        }
121
62
        if constexpr (NeedMax) {
122
62
            f(filter->mutable_max_val(), _max);
123
62
        }
124
62
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7_set_pbIZNS_13get_convertorIiEEDavEUlPNS_12PColumnValueERKiE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
1.27k
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
1.27k
        if constexpr (NeedMin) {
119
1.27k
            f(filter->mutable_min_val(), _min);
120
1.27k
        }
121
1.27k
        if constexpr (NeedMax) {
122
1.27k
            f(filter->mutable_max_val(), _max);
123
1.27k
        }
124
1.27k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7_set_pbIZNS_13get_convertorIlEEDavEUlPNS_12PColumnValueERKlE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
147
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
147
        if constexpr (NeedMin) {
119
147
            f(filter->mutable_min_val(), _min);
120
147
        }
121
147
        if constexpr (NeedMax) {
122
147
            f(filter->mutable_max_val(), _max);
123
147
        }
124
147
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7_set_pbIZNS_13get_convertorInEEDavEUlPNS_12PColumnValueERKnE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
12
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
12
        if constexpr (NeedMin) {
119
12
            f(filter->mutable_min_val(), _min);
120
12
        }
121
12
        if constexpr (NeedMax) {
122
12
            f(filter->mutable_max_val(), _max);
123
12
        }
124
12
    }
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
117
58
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
58
        if constexpr (NeedMin) {
119
58
            f(filter->mutable_min_val(), _min);
120
58
        }
121
58
        if constexpr (NeedMax) {
122
58
            f(filter->mutable_max_val(), _max);
123
58
        }
124
58
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
2
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
2
        if constexpr (NeedMin) {
119
2
            f(filter->mutable_min_val(), _min);
120
2
        }
121
2
        if constexpr (NeedMax) {
122
2
            f(filter->mutable_max_val(), _max);
123
2
        }
124
2
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS6_EEDavEUlPNS_12PColumnValueERKS6_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
36
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
36
        if constexpr (NeedMin) {
119
36
            f(filter->mutable_min_val(), _min);
120
36
        }
121
36
        if constexpr (NeedMax) {
122
36
            f(filter->mutable_max_val(), _max);
123
36
        }
124
36
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7_set_pbIZNS_13get_convertorIS2_EEDavEUlPNS_12PColumnValueERKS2_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7_set_pbIZNS_13get_convertorIS2_EEDavEUlPNS_12PColumnValueERKS2_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
4
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
4
        if constexpr (NeedMin) {
119
4
            f(filter->mutable_min_val(), _min);
120
4
        }
121
4
        if constexpr (NeedMax) {
122
4
            f(filter->mutable_max_val(), _max);
123
4
        }
124
4
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
8
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
8
        if constexpr (NeedMin) {
119
8
            f(filter->mutable_min_val(), _min);
120
8
        }
121
8
        if constexpr (NeedMax) {
122
8
            f(filter->mutable_max_val(), _max);
123
8
        }
124
8
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS5_EEDavEUlPNS_12PColumnValueERKS5_E_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE7_set_pbIZNS_13get_convertorIjEEDavEUlPNS_12PColumnValueERKjE_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7_set_pbIZNS_13get_convertorIoEEDavEUlPNS_12PColumnValueERKoE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
6
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
6
        if constexpr (NeedMin) {
119
6
            f(filter->mutable_min_val(), _min);
120
6
        }
121
6
        if constexpr (NeedMax) {
122
6
            f(filter->mutable_max_val(), _max);
123
6
        }
124
6
    }
125
126
    void _update_batch_string(const auto& column_string, const uint8_t* __restrict nullmap,
127
162
                              size_t start, size_t size) {
128
1.18k
        for (size_t i = start; i < size; i++) {
129
1.02k
            if (nullmap == nullptr || !nullmap[i]) {
130
983
                if constexpr (NeedMin) {
131
983
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
132
210
                        _min = column_string.get_data_at(i).to_string();
133
210
                        _min_value_set = true;
134
210
                    }
135
983
                }
136
983
                if constexpr (NeedMax) {
137
983
                    if (column_string.get_data_at(i) > StringRef(_max)) {
138
239
                        _max = column_string.get_data_at(i).to_string();
139
239
                    }
140
983
                }
141
983
            }
142
1.02k
        }
143
162
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE20_update_batch_stringINS_9ColumnStrImEEEEvRKT_PKhmm
Line
Count
Source
127
1
                              size_t start, size_t size) {
128
9
        for (size_t i = start; i < size; i++) {
129
8
            if (nullmap == nullptr || !nullmap[i]) {
130
8
                if constexpr (NeedMin) {
131
8
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
132
1
                        _min = column_string.get_data_at(i).to_string();
133
1
                        _min_value_set = true;
134
1
                    }
135
8
                }
136
8
                if constexpr (NeedMax) {
137
8
                    if (column_string.get_data_at(i) > StringRef(_max)) {
138
8
                        _max = column_string.get_data_at(i).to_string();
139
8
                    }
140
8
                }
141
8
            }
142
8
        }
143
1
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE20_update_batch_stringINS_9ColumnStrIjEEEEvRKT_PKhmm
Line
Count
Source
127
161
                              size_t start, size_t size) {
128
1.17k
        for (size_t i = start; i < size; i++) {
129
1.01k
            if (nullmap == nullptr || !nullmap[i]) {
130
975
                if constexpr (NeedMin) {
131
975
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
132
209
                        _min = column_string.get_data_at(i).to_string();
133
209
                        _min_value_set = true;
134
209
                    }
135
975
                }
136
975
                if constexpr (NeedMax) {
137
975
                    if (column_string.get_data_at(i) > StringRef(_max)) {
138
231
                        _max = column_string.get_data_at(i).to_string();
139
231
                    }
140
975
                }
141
975
            }
142
1.01k
        }
143
161
    }
144
145
2.44k
    void _update_batch(const ColumnPtr& column, size_t start) {
146
2.44k
        const auto size = column->size();
147
2.44k
        if constexpr (std::is_same_v<T, std::string>) {
148
82
            if (column->is_column_string64()) {
149
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
1
                                     size);
151
81
            } else {
152
81
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
81
                                     size);
154
81
            }
155
2.36k
        } else {
156
2.36k
            const T* data = (T*)column->get_raw_data().data;
157
3.30M
            for (size_t i = start; i < size; i++) {
158
3.30M
                if constexpr (NeedMin) {
159
3.30M
                    _min = std::min(_min, *(data + i));
160
3.30M
                }
161
3.30M
                if constexpr (NeedMax) {
162
3.30M
                    _max = std::max(_max, *(data + i));
163
3.30M
                }
164
3.30M
            }
165
2.36k
        }
166
2.44k
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIhLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
145
1
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1
        } else {
156
1
            const T* data = (T*)column->get_raw_data().data;
157
4
            for (size_t i = start; i < size; i++) {
158
3
                if constexpr (NeedMin) {
159
3
                    _min = std::min(_min, *(data + i));
160
3
                }
161
3
                if constexpr (NeedMax) {
162
3
                    _max = std::max(_max, *(data + i));
163
3
                }
164
3
            }
165
1
        }
166
1
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
23
    void _update_batch(const ColumnPtr& column, size_t start) {
146
23
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
23
        } else {
156
23
            const T* data = (T*)column->get_raw_data().data;
157
89
            for (size_t i = start; i < size; i++) {
158
66
                if constexpr (NeedMin) {
159
66
                    _min = std::min(_min, *(data + i));
160
66
                }
161
66
                if constexpr (NeedMax) {
162
66
                    _max = std::max(_max, *(data + i));
163
66
                }
164
66
            }
165
23
        }
166
23
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
1
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1
        } else {
156
1
            const T* data = (T*)column->get_raw_data().data;
157
4
            for (size_t i = start; i < size; i++) {
158
3
                if constexpr (NeedMin) {
159
3
                    _min = std::min(_min, *(data + i));
160
3
                }
161
3
                if constexpr (NeedMax) {
162
3
                    _max = std::max(_max, *(data + i));
163
3
                }
164
3
            }
165
1
        }
166
1
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
1.84k
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1.84k
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1.84k
        } else {
156
1.84k
            const T* data = (T*)column->get_raw_data().data;
157
3.29M
            for (size_t i = start; i < size; i++) {
158
3.29M
                if constexpr (NeedMin) {
159
3.29M
                    _min = std::min(_min, *(data + i));
160
3.29M
                }
161
3.29M
                if constexpr (NeedMax) {
162
3.29M
                    _max = std::max(_max, *(data + i));
163
3.29M
                }
164
3.29M
            }
165
1.84k
        }
166
1.84k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
136
    void _update_batch(const ColumnPtr& column, size_t start) {
146
136
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
136
        } else {
156
136
            const T* data = (T*)column->get_raw_data().data;
157
1.09k
            for (size_t i = start; i < size; i++) {
158
954
                if constexpr (NeedMin) {
159
954
                    _min = std::min(_min, *(data + i));
160
954
                }
161
954
                if constexpr (NeedMax) {
162
954
                    _max = std::max(_max, *(data + i));
163
954
                }
164
954
            }
165
136
        }
166
136
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
37
    void _update_batch(const ColumnPtr& column, size_t start) {
146
37
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
37
        } else {
156
37
            const T* data = (T*)column->get_raw_data().data;
157
86
            for (size_t i = start; i < size; i++) {
158
49
                if constexpr (NeedMin) {
159
49
                    _min = std::min(_min, *(data + i));
160
49
                }
161
49
                if constexpr (NeedMax) {
162
49
                    _max = std::max(_max, *(data + i));
163
49
                }
164
49
            }
165
37
        }
166
37
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
1
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1
        } else {
156
1
            const T* data = (T*)column->get_raw_data().data;
157
4
            for (size_t i = start; i < size; i++) {
158
3
                if constexpr (NeedMin) {
159
3
                    _min = std::min(_min, *(data + i));
160
3
                }
161
3
                if constexpr (NeedMax) {
162
3
                    _max = std::max(_max, *(data + i));
163
3
                }
164
3
            }
165
1
        }
166
1
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
1
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1
        } else {
156
1
            const T* data = (T*)column->get_raw_data().data;
157
4
            for (size_t i = start; i < size; i++) {
158
3
                if constexpr (NeedMin) {
159
3
                    _min = std::min(_min, *(data + i));
160
3
                }
161
3
                if constexpr (NeedMax) {
162
3
                    _max = std::max(_max, *(data + i));
163
3
                }
164
3
            }
165
1
        }
166
1
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
145
2
    void _update_batch(const ColumnPtr& column, size_t start) {
146
2
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
2
        } else {
156
2
            const T* data = (T*)column->get_raw_data().data;
157
8
            for (size_t i = start; i < size; i++) {
158
6
                if constexpr (NeedMin) {
159
6
                    _min = std::min(_min, *(data + i));
160
6
                }
161
6
                if constexpr (NeedMax) {
162
6
                    _max = std::max(_max, *(data + i));
163
6
                }
164
6
            }
165
2
        }
166
2
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
145
180
    void _update_batch(const ColumnPtr& column, size_t start) {
146
180
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
180
        } else {
156
180
            const T* data = (T*)column->get_raw_data().data;
157
843
            for (size_t i = start; i < size; i++) {
158
663
                if constexpr (NeedMin) {
159
663
                    _min = std::min(_min, *(data + i));
160
663
                }
161
663
                if constexpr (NeedMax) {
162
663
                    _max = std::max(_max, *(data + i));
163
663
                }
164
663
            }
165
180
        }
166
180
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
145
53
    void _update_batch(const ColumnPtr& column, size_t start) {
146
53
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
53
        } else {
156
53
            const T* data = (T*)column->get_raw_data().data;
157
164
            for (size_t i = start; i < size; i++) {
158
111
                if constexpr (NeedMin) {
159
111
                    _min = std::min(_min, *(data + i));
160
111
                }
161
111
                if constexpr (NeedMax) {
162
111
                    _max = std::max(_max, *(data + i));
163
111
                }
164
111
            }
165
53
        }
166
53
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
145
82
    void _update_batch(const ColumnPtr& column, size_t start) {
146
82
        const auto size = column->size();
147
82
        if constexpr (std::is_same_v<T, std::string>) {
148
82
            if (column->is_column_string64()) {
149
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
1
                                     size);
151
81
            } else {
152
81
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
81
                                     size);
154
81
            }
155
        } else {
156
            const T* data = (T*)column->get_raw_data().data;
157
            for (size_t i = start; i < size; i++) {
158
                if constexpr (NeedMin) {
159
                    _min = std::min(_min, *(data + i));
160
                }
161
                if constexpr (NeedMax) {
162
                    _max = std::max(_max, *(data + i));
163
                }
164
            }
165
        }
166
82
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
145
1
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1
        } else {
156
1
            const T* data = (T*)column->get_raw_data().data;
157
4
            for (size_t i = start; i < size; i++) {
158
3
                if constexpr (NeedMin) {
159
3
                    _min = std::min(_min, *(data + i));
160
3
                }
161
3
                if constexpr (NeedMax) {
162
3
                    _max = std::max(_max, *(data + i));
163
3
                }
164
3
            }
165
1
        }
166
1
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
145
17
    void _update_batch(const ColumnPtr& column, size_t start) {
146
17
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
17
        } else {
156
17
            const T* data = (T*)column->get_raw_data().data;
157
42
            for (size_t i = start; i < size; i++) {
158
25
                if constexpr (NeedMin) {
159
25
                    _min = std::min(_min, *(data + i));
160
25
                }
161
25
                if constexpr (NeedMax) {
162
25
                    _max = std::max(_max, *(data + i));
163
25
                }
164
25
            }
165
17
        }
166
17
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
145
59
    void _update_batch(const ColumnPtr& column, size_t start) {
146
59
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
59
        } else {
156
59
            const T* data = (T*)column->get_raw_data().data;
157
139
            for (size_t i = start; i < size; i++) {
158
80
                if constexpr (NeedMin) {
159
80
                    _min = std::min(_min, *(data + i));
160
80
                }
161
80
                if constexpr (NeedMax) {
162
80
                    _max = std::max(_max, *(data + i));
163
80
                }
164
80
            }
165
59
        }
166
59
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EEm
Line
Count
Source
145
1
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1
        } else {
156
1
            const T* data = (T*)column->get_raw_data().data;
157
4
            for (size_t i = start; i < size; i++) {
158
3
                if constexpr (NeedMin) {
159
3
                    _min = std::min(_min, *(data + i));
160
3
                }
161
3
                if constexpr (NeedMax) {
162
3
                    _max = std::max(_max, *(data + i));
163
3
                }
164
3
            }
165
1
        }
166
1
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
1
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1
        } else {
156
1
            const T* data = (T*)column->get_raw_data().data;
157
4
            for (size_t i = start; i < size; i++) {
158
3
                if constexpr (NeedMin) {
159
3
                    _min = std::min(_min, *(data + i));
160
3
                }
161
3
                if constexpr (NeedMax) {
162
3
                    _max = std::max(_max, *(data + i));
163
3
                }
164
3
            }
165
1
        }
166
1
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
8
    void _update_batch(const ColumnPtr& column, size_t start) {
146
8
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
8
        } else {
156
8
            const T* data = (T*)column->get_raw_data().data;
157
23
            for (size_t i = start; i < size; i++) {
158
15
                if constexpr (NeedMin) {
159
15
                    _min = std::min(_min, *(data + i));
160
15
                }
161
15
                if constexpr (NeedMax) {
162
15
                    _max = std::max(_max, *(data + i));
163
15
                }
164
15
            }
165
8
        }
166
8
    }
167
168
3.70k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
3.70k
        const auto size = column->size();
170
3.70k
        if constexpr (std::is_same_v<T, std::string>) {
171
80
            if (column->is_column_string64()) {
172
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
0
                                     start, size);
174
80
            } else {
175
80
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
80
                                     start, size);
177
80
            }
178
3.62k
        } else {
179
3.62k
            const T* data = (T*)column->get_raw_data().data;
180
764k
            for (size_t i = start; i < size; i++) {
181
761k
                if (!nullmap[i]) {
182
757k
                    if constexpr (NeedMin) {
183
757k
                        _min = std::min(_min, *(data + i));
184
757k
                    }
185
757k
                    if constexpr (NeedMax) {
186
757k
                        _max = std::max(_max, *(data + i));
187
757k
                    }
188
757k
                }
189
761k
            }
190
3.62k
        }
191
3.70k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
3
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
3
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
3
        } else {
179
3
            const T* data = (T*)column->get_raw_data().data;
180
7
            for (size_t i = start; i < size; i++) {
181
4
                if (!nullmap[i]) {
182
3
                    if constexpr (NeedMin) {
183
3
                        _min = std::min(_min, *(data + i));
184
3
                    }
185
3
                    if constexpr (NeedMax) {
186
3
                        _max = std::max(_max, *(data + i));
187
3
                    }
188
3
                }
189
4
            }
190
3
        }
191
3
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
8
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
8
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
8
        } else {
179
8
            const T* data = (T*)column->get_raw_data().data;
180
32
            for (size_t i = start; i < size; i++) {
181
24
                if (!nullmap[i]) {
182
24
                    if constexpr (NeedMin) {
183
24
                        _min = std::min(_min, *(data + i));
184
24
                    }
185
24
                    if constexpr (NeedMax) {
186
24
                        _max = std::max(_max, *(data + i));
187
24
                    }
188
24
                }
189
24
            }
190
8
        }
191
8
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
147
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
147
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
147
        } else {
179
147
            const T* data = (T*)column->get_raw_data().data;
180
490
            for (size_t i = start; i < size; i++) {
181
343
                if (!nullmap[i]) {
182
334
                    if constexpr (NeedMin) {
183
334
                        _min = std::min(_min, *(data + i));
184
334
                    }
185
334
                    if constexpr (NeedMax) {
186
334
                        _max = std::max(_max, *(data + i));
187
334
                    }
188
334
                }
189
343
            }
190
147
        }
191
147
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
172
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
172
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
172
        } else {
179
172
            const T* data = (T*)column->get_raw_data().data;
180
1.33k
            for (size_t i = start; i < size; i++) {
181
1.16k
                if (!nullmap[i]) {
182
1.02k
                    if constexpr (NeedMin) {
183
1.02k
                        _min = std::min(_min, *(data + i));
184
1.02k
                    }
185
1.02k
                    if constexpr (NeedMax) {
186
1.02k
                        _max = std::max(_max, *(data + i));
187
1.02k
                    }
188
1.02k
                }
189
1.16k
            }
190
172
        }
191
172
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
2.40k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
2.40k
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
2.40k
        } else {
179
2.40k
            const T* data = (T*)column->get_raw_data().data;
180
756k
            for (size_t i = start; i < size; i++) {
181
754k
                if (!nullmap[i]) {
182
751k
                    if constexpr (NeedMin) {
183
751k
                        _min = std::min(_min, *(data + i));
184
751k
                    }
185
751k
                    if constexpr (NeedMax) {
186
751k
                        _max = std::max(_max, *(data + i));
187
751k
                    }
188
751k
                }
189
754k
            }
190
2.40k
        }
191
2.40k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
763
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
763
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
763
        } else {
179
763
            const T* data = (T*)column->get_raw_data().data;
180
3.68k
            for (size_t i = start; i < size; i++) {
181
2.92k
                if (!nullmap[i]) {
182
2.53k
                    if constexpr (NeedMin) {
183
2.53k
                        _min = std::min(_min, *(data + i));
184
2.53k
                    }
185
2.53k
                    if constexpr (NeedMax) {
186
2.53k
                        _max = std::max(_max, *(data + i));
187
2.53k
                    }
188
2.53k
                }
189
2.92k
            }
190
763
        }
191
763
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
3
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
3
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
3
        } else {
179
3
            const T* data = (T*)column->get_raw_data().data;
180
6
            for (size_t i = start; i < size; i++) {
181
3
                if (!nullmap[i]) {
182
3
                    if constexpr (NeedMin) {
183
3
                        _min = std::min(_min, *(data + i));
184
3
                    }
185
3
                    if constexpr (NeedMax) {
186
3
                        _max = std::max(_max, *(data + i));
187
3
                    }
188
3
                }
189
3
            }
190
3
        }
191
3
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
2
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
2
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
2
        } else {
179
2
            const T* data = (T*)column->get_raw_data().data;
180
10
            for (size_t i = start; i < size; i++) {
181
8
                if (!nullmap[i]) {
182
8
                    if constexpr (NeedMin) {
183
8
                        _min = std::min(_min, *(data + i));
184
8
                    }
185
8
                    if constexpr (NeedMax) {
186
8
                        _max = std::max(_max, *(data + i));
187
8
                    }
188
8
                }
189
8
            }
190
2
        }
191
2
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
23
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
23
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
23
        } else {
179
23
            const T* data = (T*)column->get_raw_data().data;
180
1.37k
            for (size_t i = start; i < size; i++) {
181
1.35k
                if (!nullmap[i]) {
182
1.16k
                    if constexpr (NeedMin) {
183
1.16k
                        _min = std::min(_min, *(data + i));
184
1.16k
                    }
185
1.16k
                    if constexpr (NeedMax) {
186
1.16k
                        _max = std::max(_max, *(data + i));
187
1.16k
                    }
188
1.16k
                }
189
1.35k
            }
190
23
        }
191
23
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
18
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
18
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
18
        } else {
179
18
            const T* data = (T*)column->get_raw_data().data;
180
48
            for (size_t i = start; i < size; i++) {
181
30
                if (!nullmap[i]) {
182
24
                    if constexpr (NeedMin) {
183
24
                        _min = std::min(_min, *(data + i));
184
24
                    }
185
24
                    if constexpr (NeedMax) {
186
24
                        _max = std::max(_max, *(data + i));
187
24
                    }
188
24
                }
189
30
            }
190
18
        }
191
18
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
80
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
80
        const auto size = column->size();
170
80
        if constexpr (std::is_same_v<T, std::string>) {
171
80
            if (column->is_column_string64()) {
172
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
0
                                     start, size);
174
80
            } else {
175
80
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
80
                                     start, size);
177
80
            }
178
        } else {
179
            const T* data = (T*)column->get_raw_data().data;
180
            for (size_t i = start; i < size; i++) {
181
                if (!nullmap[i]) {
182
                    if constexpr (NeedMin) {
183
                        _min = std::min(_min, *(data + i));
184
                    }
185
                    if constexpr (NeedMax) {
186
                        _max = std::max(_max, *(data + i));
187
                    }
188
                }
189
            }
190
        }
191
80
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
17
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
17
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
17
        } else {
179
17
            const T* data = (T*)column->get_raw_data().data;
180
72
            for (size_t i = start; i < size; i++) {
181
55
                if (!nullmap[i]) {
182
3
                    if constexpr (NeedMin) {
183
3
                        _min = std::min(_min, *(data + i));
184
3
                    }
185
3
                    if constexpr (NeedMax) {
186
3
                        _max = std::max(_max, *(data + i));
187
3
                    }
188
3
                }
189
55
            }
190
17
        }
191
17
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
21
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
21
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
21
        } else {
179
21
            const T* data = (T*)column->get_raw_data().data;
180
46
            for (size_t i = start; i < size; i++) {
181
25
                if (!nullmap[i]) {
182
24
                    if constexpr (NeedMin) {
183
24
                        _min = std::min(_min, *(data + i));
184
24
                    }
185
24
                    if constexpr (NeedMax) {
186
24
                        _max = std::max(_max, *(data + i));
187
24
                    }
188
24
                }
189
25
            }
190
21
        }
191
21
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
10
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
10
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
10
        } else {
179
10
            const T* data = (T*)column->get_raw_data().data;
180
44
            for (size_t i = start; i < size; i++) {
181
34
                if (!nullmap[i]) {
182
24
                    if constexpr (NeedMin) {
183
24
                        _min = std::min(_min, *(data + i));
184
24
                    }
185
24
                    if constexpr (NeedMax) {
186
24
                        _max = std::max(_max, *(data + i));
187
24
                    }
188
24
                }
189
34
            }
190
10
        }
191
10
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
3
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
3
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
3
        } else {
179
3
            const T* data = (T*)column->get_raw_data().data;
180
21
            for (size_t i = start; i < size; i++) {
181
18
                if (!nullmap[i]) {
182
18
                    if constexpr (NeedMin) {
183
18
                        _min = std::min(_min, *(data + i));
184
18
                    }
185
18
                    if constexpr (NeedMax) {
186
18
                        _max = std::max(_max, *(data + i));
187
18
                    }
188
18
                }
189
18
            }
190
3
        }
191
3
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
14
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
14
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
14
        } else {
179
14
            const T* data = (T*)column->get_raw_data().data;
180
168
            for (size_t i = start; i < size; i++) {
181
154
                if (!nullmap[i]) {
182
140
                    if constexpr (NeedMin) {
183
140
                        _min = std::min(_min, *(data + i));
184
140
                    }
185
140
                    if constexpr (NeedMax) {
186
140
                        _max = std::max(_max, *(data + i));
187
140
                    }
188
140
                }
189
154
            }
190
14
        }
191
14
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
23
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
23
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
23
        } else {
179
23
            const T* data = (T*)column->get_raw_data().data;
180
708
            for (size_t i = start; i < size; i++) {
181
685
                if (!nullmap[i]) {
182
637
                    if constexpr (NeedMin) {
183
637
                        _min = std::min(_min, *(data + i));
184
637
                    }
185
637
                    if constexpr (NeedMax) {
186
637
                        _max = std::max(_max, *(data + i));
187
637
                    }
188
637
                }
189
685
            }
190
23
        }
191
23
    }
192
193
    T _max = type_limit<T>::min();
194
    T _min = type_limit<T>::max();
195
196
    bool _min_value_set = false;
197
};
198
199
template <class T>
200
using MinNumFunc = MinMaxNumFunc<T, false, true>;
201
202
template <class T>
203
using MaxNumFunc = MinMaxNumFunc<T, true, false>;
204
205
} // namespace doris