Coverage Report

Created: 2026-11-04 19:32

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
be/src/exprs/minmax_predicate.h
Line
Count
Source
1
// Licensed to the Apache Software Foundation (ASF) under one
2
// or more contributor license agreements.  See the NOTICE file
3
// distributed with this work for additional information
4
// regarding copyright ownership.  The ASF licenses this file
5
// to you under the Apache License, Version 2.0 (the
6
// "License"); you may not use this file except in compliance
7
// with the License.  You may obtain a copy of the License at
8
//
9
//   http://www.apache.org/licenses/LICENSE-2.0
10
//
11
// Unless required by applicable law or agreed to in writing,
12
// software distributed under the License is distributed on an
13
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
// KIND, either express or implied.  See the License for the
15
// specific language governing permissions and limitations
16
// under the License.
17
18
#pragma once
19
20
#include <gen_cpp/internal_service.pb.h>
21
22
#include "core/column/column_nullable.h"
23
#include "core/column/column_string.h"
24
#include "core/type_limit.h"
25
#include "exprs/filter_base.h"
26
27
namespace doris {
28
29
// only used in Runtime Filter
30
class MinMaxFuncBase : public FilterBase {
31
public:
32
28.9k
    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
29.3k
    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
29.0k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIhLb1ELb1EEC2Eb
Line
Count
Source
51
17
    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
3.73k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIsLb1ELb1EEC2Eb
Line
Count
Source
51
2.37k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIiLb1ELb1EEC2Eb
Line
Count
Source
51
14.3k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIlLb1ELb1EEC2Eb
Line
Count
Source
51
3.82k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncInLb1ELb1EEC2Eb
Line
Count
Source
51
165
    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
30
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EEC2Eb
Line
Count
Source
51
93
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
51
797
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
51
2.54k
    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
436
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EEC2Eb
Line
Count
Source
51
291
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EEC2Eb
Line
Count
Source
51
85
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EEC2Eb
Line
Count
Source
51
178
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EEC2Eb
Line
Count
Source
51
80
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIjLb1ELb1EEC2Eb
Line
Count
Source
51
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIoLb1ELb1EEC2Eb
Line
Count
Source
51
49
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
52
440
    ~MinMaxNumFunc() override = default;
53
54
9.66k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
9.66k
        if (is_column_nullable(*column)) {
56
7.59k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
7.59k
            const auto& col = nullable->get_nested_column_ptr();
58
7.59k
            const auto& nullmap = nullable->get_null_map_data();
59
7.59k
            if (nullable->has_null()) {
60
6.28k
                _update_batch(col, nullmap, start);
61
6.28k
                _contain_null = true;
62
6.28k
            } else {
63
1.30k
                _update_batch(col, start);
64
1.30k
            }
65
7.59k
        } else {
66
2.07k
            _update_batch(column, start);
67
2.07k
        }
68
9.66k
    }
_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
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
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
2.14k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
2.14k
        if (is_column_nullable(*column)) {
56
2.14k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
2.14k
            const auto& col = nullable->get_nested_column_ptr();
58
2.14k
            const auto& nullmap = nullable->get_null_map_data();
59
2.14k
            if (nullable->has_null()) {
60
1.62k
                _update_batch(col, nullmap, start);
61
1.62k
                _contain_null = true;
62
1.62k
            } else {
63
525
                _update_batch(col, start);
64
525
            }
65
2.14k
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
2.14k
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
1.21k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
1.21k
        if (is_column_nullable(*column)) {
56
1.21k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
1.21k
            const auto& col = nullable->get_nested_column_ptr();
58
1.21k
            const auto& nullmap = nullable->get_null_map_data();
59
1.21k
            if (nullable->has_null()) {
60
1.21k
                _update_batch(col, nullmap, start);
61
1.21k
                _contain_null = true;
62
18.4E
            } else {
63
18.4E
                _update_batch(col, start);
64
18.4E
            }
65
1.21k
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
1.21k
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
4.02k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
4.02k
        if (is_column_nullable(*column)) {
56
2.47k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
2.47k
            const auto& col = nullable->get_nested_column_ptr();
58
2.47k
            const auto& nullmap = nullable->get_null_map_data();
59
2.47k
            if (nullable->has_null()) {
60
1.80k
                _update_batch(col, nullmap, start);
61
1.80k
                _contain_null = true;
62
1.80k
            } else {
63
669
                _update_batch(col, start);
64
669
            }
65
2.47k
        } else {
66
1.55k
            _update_batch(column, start);
67
1.55k
        }
68
4.02k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
891
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
891
        if (is_column_nullable(*column)) {
56
750
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
750
            const auto& col = nullable->get_nested_column_ptr();
58
750
            const auto& nullmap = nullable->get_null_map_data();
59
750
            if (nullable->has_null()) {
60
700
                _update_batch(col, nullmap, start);
61
700
                _contain_null = true;
62
700
            } else {
63
50
                _update_batch(col, start);
64
50
            }
65
750
        } else {
66
141
            _update_batch(column, start);
67
141
        }
68
891
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
53
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
53
        if (is_column_nullable(*column)) {
56
1
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
1
            const auto& col = nullable->get_nested_column_ptr();
58
1
            const auto& nullmap = nullable->get_null_map_data();
59
1
            if (nullable->has_null()) {
60
1
                _update_batch(col, nullmap, start);
61
1
                _contain_null = true;
62
1
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
52
        } else {
66
52
            _update_batch(column, start);
67
52
        }
68
53
    }
_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
20
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
20
        if (is_column_nullable(*column)) {
56
19
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
19
            const auto& col = nullable->get_nested_column_ptr();
58
19
            const auto& nullmap = nullable->get_null_map_data();
59
19
            if (nullable->has_null()) {
60
17
                _update_batch(col, nullmap, start);
61
17
                _contain_null = true;
62
17
            } else {
63
2
                _update_batch(col, start);
64
2
            }
65
19
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
20
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
24
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
24
        if (is_column_nullable(*column)) {
56
22
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
22
            const auto& col = nullable->get_nested_column_ptr();
58
22
            const auto& nullmap = nullable->get_null_map_data();
59
22
            if (nullable->has_null()) {
60
22
                _update_batch(col, nullmap, start);
61
22
                _contain_null = true;
62
22
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
22
        } else {
66
2
            _update_batch(column, start);
67
2
        }
68
24
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
54
322
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
322
        if (is_column_nullable(*column)) {
56
138
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
138
            const auto& col = nullable->get_nested_column_ptr();
58
138
            const auto& nullmap = nullable->get_null_map_data();
59
138
            if (nullable->has_null()) {
60
137
                _update_batch(col, nullmap, start);
61
137
                _contain_null = true;
62
137
            } else {
63
1
                _update_batch(col, start);
64
1
            }
65
184
        } else {
66
184
            _update_batch(column, start);
67
184
        }
68
322
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
54
412
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
412
        if (is_column_nullable(*column)) {
56
386
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
386
            const auto& col = nullable->get_nested_column_ptr();
58
386
            const auto& nullmap = nullable->get_null_map_data();
59
386
            if (nullable->has_null()) {
60
383
                _update_batch(col, nullmap, start);
61
383
                _contain_null = true;
62
383
            } else {
63
3
                _update_batch(col, start);
64
3
            }
65
386
        } else {
66
26
            _update_batch(column, start);
67
26
        }
68
412
    }
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
213
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
213
        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
120
                _update_batch(col, nullmap, start);
61
120
                _contain_null = true;
62
120
            } else {
63
51
                _update_batch(col, start);
64
51
            }
65
171
        } else {
66
42
            _update_batch(column, start);
67
42
        }
68
213
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
54
172
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
172
        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
171
                _update_batch(col, nullmap, start);
61
171
                _contain_null = true;
62
171
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
171
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
172
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
54
30
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
30
        if (is_column_nullable(*column)) {
56
7
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
7
            const auto& col = nullable->get_nested_column_ptr();
58
7
            const auto& nullmap = nullable->get_null_map_data();
59
7
            if (nullable->has_null()) {
60
7
                _update_batch(col, nullmap, start);
61
7
                _contain_null = true;
62
7
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
23
        } else {
66
23
            _update_batch(column, start);
67
23
        }
68
30
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
43
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
43
        if (is_column_nullable(*column)) {
56
12
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
12
            const auto& col = nullable->get_nested_column_ptr();
58
12
            const auto& nullmap = nullable->get_null_map_data();
59
12
            if (nullable->has_null()) {
60
4
                _update_batch(col, nullmap, start);
61
4
                _contain_null = true;
62
8
            } else {
63
8
                _update_batch(col, start);
64
8
            }
65
31
        } else {
66
31
            _update_batch(column, start);
67
31
        }
68
43
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EEm
Line
Count
Source
54
61
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
61
        if (is_column_nullable(*column)) {
56
60
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
60
            const auto& col = nullable->get_nested_column_ptr();
58
60
            const auto& nullmap = nullable->get_null_map_data();
59
60
            if (nullable->has_null()) {
60
60
                _update_batch(col, nullmap, start);
61
60
                _contain_null = true;
62
60
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
60
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
61
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE16insert_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
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
28
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
28
        if (is_column_nullable(*column)) {
56
15
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
15
            const auto& col = nullable->get_nested_column_ptr();
58
15
            const auto& nullmap = nullable->get_null_map_data();
59
15
            if (nullable->has_null()) {
60
15
                _update_batch(col, nullmap, start);
61
15
                _contain_null = true;
62
15
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
15
        } else {
66
13
            _update_batch(column, start);
67
13
        }
68
28
    }
69
70
16.8k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
16.8k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
16.8k
        if constexpr (NeedMin) {
73
16.8k
            if constexpr (IsStringValue) {
74
255
                if (other_minmax->_min < _min || !_min_value_set) {
75
38
                    _min = other_minmax->_min;
76
38
                    _min_value_set = true;
77
38
                }
78
16.5k
            } else if (other_minmax->_min < _min) {
79
1.03k
                _min = other_minmax->_min;
80
1.03k
            }
81
16.8k
        }
82
16.8k
        if constexpr (NeedMax) {
83
16.8k
            if (other_minmax->_max > _max) {
84
1.07k
                _max = other_minmax->_max;
85
1.07k
            }
86
16.8k
        }
87
88
16.8k
        _contain_null |= minmax_func->contain_null();
89
16.8k
        return Status::OK();
90
16.8k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
10
    Status merge(MinMaxFuncBase* minmax_func) override {
71
10
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
10
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
10
            } else if (other_minmax->_min < _min) {
79
2
                _min = other_minmax->_min;
80
2
            }
81
10
        }
82
10
        if constexpr (NeedMax) {
83
10
            if (other_minmax->_max > _max) {
84
1
                _max = other_minmax->_max;
85
1
            }
86
10
        }
87
88
10
        _contain_null |= minmax_func->contain_null();
89
10
        return Status::OK();
90
10
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
10
    Status merge(MinMaxFuncBase* minmax_func) override {
71
10
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
10
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
10
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
10
        }
82
10
        if constexpr (NeedMax) {
83
10
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
10
        }
87
88
10
        _contain_null |= minmax_func->contain_null();
89
10
        return Status::OK();
90
10
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
2.30k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
2.30k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
2.30k
        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
2.30k
            } else if (other_minmax->_min < _min) {
79
103
                _min = other_minmax->_min;
80
103
            }
81
2.30k
        }
82
2.30k
        if constexpr (NeedMax) {
83
2.30k
            if (other_minmax->_max > _max) {
84
125
                _max = other_minmax->_max;
85
125
            }
86
2.30k
        }
87
88
2.30k
        _contain_null |= minmax_func->contain_null();
89
2.30k
        return Status::OK();
90
2.30k
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
1.23k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
1.23k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
1.23k
        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.23k
            } else if (other_minmax->_min < _min) {
79
38
                _min = other_minmax->_min;
80
38
            }
81
1.23k
        }
82
1.23k
        if constexpr (NeedMax) {
83
1.23k
            if (other_minmax->_max > _max) {
84
36
                _max = other_minmax->_max;
85
36
            }
86
1.23k
        }
87
88
1.23k
        _contain_null |= minmax_func->contain_null();
89
1.23k
        return Status::OK();
90
1.23k
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
8.46k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
8.46k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
8.46k
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
8.46k
            } else if (other_minmax->_min < _min) {
79
582
                _min = other_minmax->_min;
80
582
            }
81
8.46k
        }
82
8.46k
        if constexpr (NeedMax) {
83
8.46k
            if (other_minmax->_max > _max) {
84
565
                _max = other_minmax->_max;
85
565
            }
86
8.46k
        }
87
88
8.46k
        _contain_null |= minmax_func->contain_null();
89
8.46k
        return Status::OK();
90
8.46k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
1.29k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
1.29k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
1.29k
        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.29k
            } else if (other_minmax->_min < _min) {
79
104
                _min = other_minmax->_min;
80
104
            }
81
1.29k
        }
82
1.29k
        if constexpr (NeedMax) {
83
1.29k
            if (other_minmax->_max > _max) {
84
117
                _max = other_minmax->_max;
85
117
            }
86
1.29k
        }
87
88
1.29k
        _contain_null |= minmax_func->contain_null();
89
1.29k
        return Status::OK();
90
1.29k
    }
_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
12
                _min = other_minmax->_min;
80
12
            }
81
87
        }
82
87
        if constexpr (NeedMax) {
83
87
            if (other_minmax->_max > _max) {
84
10
                _max = other_minmax->_max;
85
10
            }
86
87
        }
87
88
87
        _contain_null |= minmax_func->contain_null();
89
87
        return Status::OK();
90
87
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
16
    Status merge(MinMaxFuncBase* minmax_func) override {
71
16
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
16
        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
16
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
16
        }
82
16
        if constexpr (NeedMax) {
83
16
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
16
        }
87
88
16
        _contain_null |= minmax_func->contain_null();
89
16
        return Status::OK();
90
16
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
59
    Status merge(MinMaxFuncBase* minmax_func) override {
71
59
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
59
        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
59
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
59
        }
82
59
        if constexpr (NeedMax) {
83
59
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
59
        }
87
88
59
        _contain_null |= minmax_func->contain_null();
89
59
        return Status::OK();
90
59
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
461
    Status merge(MinMaxFuncBase* minmax_func) override {
71
461
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
461
        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
461
            } else if (other_minmax->_min < _min) {
79
54
                _min = other_minmax->_min;
80
54
            }
81
461
        }
82
461
        if constexpr (NeedMax) {
83
461
            if (other_minmax->_max > _max) {
84
58
                _max = other_minmax->_max;
85
58
            }
86
461
        }
87
88
461
        _contain_null |= minmax_func->contain_null();
89
461
        return Status::OK();
90
461
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
2.20k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
2.20k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
2.20k
        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
2.20k
            } else if (other_minmax->_min < _min) {
79
119
                _min = other_minmax->_min;
80
119
            }
81
2.20k
        }
82
2.20k
        if constexpr (NeedMax) {
83
2.20k
            if (other_minmax->_max > _max) {
84
130
                _max = other_minmax->_max;
85
130
            }
86
2.20k
        }
87
88
2.20k
        _contain_null |= minmax_func->contain_null();
89
2.20k
        return Status::OK();
90
2.20k
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
255
    Status merge(MinMaxFuncBase* minmax_func) override {
71
255
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
255
        if constexpr (NeedMin) {
73
255
            if constexpr (IsStringValue) {
74
255
                if (other_minmax->_min < _min || !_min_value_set) {
75
38
                    _min = other_minmax->_min;
76
38
                    _min_value_set = true;
77
38
                }
78
            } else if (other_minmax->_min < _min) {
79
                _min = other_minmax->_min;
80
            }
81
255
        }
82
255
        if constexpr (NeedMax) {
83
255
            if (other_minmax->_max > _max) {
84
20
                _max = other_minmax->_max;
85
20
            }
86
255
        }
87
88
255
        _contain_null |= minmax_func->contain_null();
89
255
        return Status::OK();
90
255
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
216
    Status merge(MinMaxFuncBase* minmax_func) override {
71
216
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
216
        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
216
            } else if (other_minmax->_min < _min) {
79
5
                _min = other_minmax->_min;
80
5
            }
81
216
        }
82
216
        if constexpr (NeedMax) {
83
216
            if (other_minmax->_max > _max) {
84
5
                _max = other_minmax->_max;
85
5
            }
86
216
        }
87
88
216
        _contain_null |= minmax_func->contain_null();
89
216
        return Status::OK();
90
216
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
31
    Status merge(MinMaxFuncBase* minmax_func) override {
71
31
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
31
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
31
            } else if (other_minmax->_min < _min) {
79
3
                _min = other_minmax->_min;
80
3
            }
81
31
        }
82
31
        if constexpr (NeedMax) {
83
31
            if (other_minmax->_max > _max) {
84
3
                _max = other_minmax->_max;
85
3
            }
86
31
        }
87
88
31
        _contain_null |= minmax_func->contain_null();
89
31
        return Status::OK();
90
31
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
91
    Status merge(MinMaxFuncBase* minmax_func) override {
71
91
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
91
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
91
            } else if (other_minmax->_min < _min) {
79
8
                _min = other_minmax->_min;
80
8
            }
81
91
        }
82
91
        if constexpr (NeedMax) {
83
91
            if (other_minmax->_max > _max) {
84
4
                _max = other_minmax->_max;
85
4
            }
86
91
        }
87
88
91
        _contain_null |= minmax_func->contain_null();
89
91
        return Status::OK();
90
91
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
45
    Status merge(MinMaxFuncBase* minmax_func) override {
71
45
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
45
        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
45
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
45
        }
82
45
        if constexpr (NeedMax) {
83
45
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
45
        }
87
88
45
        _contain_null |= minmax_func->contain_null();
89
45
        return Status::OK();
90
45
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
17
    Status merge(MinMaxFuncBase* minmax_func) override {
71
17
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
17
        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
17
            } else if (other_minmax->_min < _min) {
79
1
                _min = other_minmax->_min;
80
1
            }
81
17
        }
82
17
        if constexpr (NeedMax) {
83
17
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
17
        }
87
88
17
        _contain_null |= minmax_func->contain_null();
89
17
        return Status::OK();
90
17
    }
91
92
838
    MinMaxFuncBase* clone() const override {
93
838
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
838
        cloned->_max = _max;
95
838
        cloned->_min = _min;
96
838
        cloned->_min_value_set = _min_value_set;
97
838
        cloned->_contain_null = _contain_null;
98
838
        return cloned;
99
838
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncIhLb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5cloneEv
Line
Count
Source
92
2
    MinMaxFuncBase* clone() const override {
93
2
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
2
        cloned->_max = _max;
95
2
        cloned->_min = _min;
96
2
        cloned->_min_value_set = _min_value_set;
97
2
        cloned->_contain_null = _contain_null;
98
2
        return cloned;
99
2
    }
_ZNK5doris13MinMaxNumFuncIaLb1ELb1EE5cloneEv
Line
Count
Source
92
88
    MinMaxFuncBase* clone() const override {
93
88
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
88
        cloned->_max = _max;
95
88
        cloned->_min = _min;
96
88
        cloned->_min_value_set = _min_value_set;
97
88
        cloned->_contain_null = _contain_null;
98
88
        return cloned;
99
88
    }
_ZNK5doris13MinMaxNumFuncIsLb1ELb1EE5cloneEv
Line
Count
Source
92
53
    MinMaxFuncBase* clone() const override {
93
53
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
53
        cloned->_max = _max;
95
53
        cloned->_min = _min;
96
53
        cloned->_min_value_set = _min_value_set;
97
53
        cloned->_contain_null = _contain_null;
98
53
        return cloned;
99
53
    }
_ZNK5doris13MinMaxNumFuncIiLb1ELb1EE5cloneEv
Line
Count
Source
92
490
    MinMaxFuncBase* clone() const override {
93
490
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
490
        cloned->_max = _max;
95
490
        cloned->_min = _min;
96
490
        cloned->_min_value_set = _min_value_set;
97
490
        cloned->_contain_null = _contain_null;
98
490
        return cloned;
99
490
    }
_ZNK5doris13MinMaxNumFuncIlLb1ELb1EE5cloneEv
Line
Count
Source
92
98
    MinMaxFuncBase* clone() const override {
93
98
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
98
        cloned->_max = _max;
95
98
        cloned->_min = _min;
96
98
        cloned->_min_value_set = _min_value_set;
97
98
        cloned->_contain_null = _contain_null;
98
98
        return cloned;
99
98
    }
_ZNK5doris13MinMaxNumFuncInLb1ELb1EE5cloneEv
Line
Count
Source
92
12
    MinMaxFuncBase* clone() const override {
93
12
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
12
        cloned->_max = _max;
95
12
        cloned->_min = _min;
96
12
        cloned->_min_value_set = _min_value_set;
97
12
        cloned->_contain_null = _contain_null;
98
12
        return cloned;
99
12
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncIfLb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncIdLb1ELb1EE5cloneEv
Line
Count
Source
92
2
    MinMaxFuncBase* clone() const override {
93
2
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
2
        cloned->_max = _max;
95
2
        cloned->_min = _min;
96
2
        cloned->_min_value_set = _min_value_set;
97
2
        cloned->_contain_null = _contain_null;
98
2
        return cloned;
99
2
    }
_ZNK5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5cloneEv
Line
Count
Source
92
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
    }
_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
10
    MinMaxFuncBase* clone() const override {
93
10
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
10
        cloned->_max = _max;
95
10
        cloned->_min = _min;
96
10
        cloned->_min_value_set = _min_value_set;
97
10
        cloned->_contain_null = _contain_null;
98
10
        return cloned;
99
10
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE5cloneEv
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5cloneEv
Line
Count
Source
92
14
    MinMaxFuncBase* clone() const override {
93
14
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
14
        cloned->_max = _max;
95
14
        cloned->_min = _min;
96
14
        cloned->_min_value_set = _min_value_set;
97
14
        cloned->_contain_null = _contain_null;
98
14
        return cloned;
99
14
    }
_ZNK5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5cloneEv
Line
Count
Source
92
15
    MinMaxFuncBase* clone() const override {
93
15
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
15
        cloned->_max = _max;
95
15
        cloned->_min = _min;
96
15
        cloned->_min_value_set = _min_value_set;
97
15
        cloned->_contain_null = _contain_null;
98
15
        return cloned;
99
15
    }
_ZNK5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5cloneEv
Line
Count
Source
92
5
    MinMaxFuncBase* clone() const override {
93
5
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
5
        cloned->_max = _max;
95
5
        cloned->_min = _min;
96
5
        cloned->_min_value_set = _min_value_set;
97
5
        cloned->_contain_null = _contain_null;
98
5
        return cloned;
99
5
    }
_ZNK5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5cloneEv
Line
Count
Source
92
6
    MinMaxFuncBase* clone() const override {
93
6
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
6
        cloned->_max = _max;
95
6
        cloned->_min = _min;
96
6
        cloned->_min_value_set = _min_value_set;
97
6
        cloned->_contain_null = _contain_null;
98
6
        return cloned;
99
6
    }
_ZNK5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5cloneEv
Line
Count
Source
92
3
    MinMaxFuncBase* clone() const override {
93
3
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
3
        cloned->_max = _max;
95
3
        cloned->_min = _min;
96
3
        cloned->_min_value_set = _min_value_set;
97
3
        cloned->_contain_null = _contain_null;
98
3
        return cloned;
99
3
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncIjLb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncIoLb1ELb1EE5cloneEv
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
    }
100
101
5.53k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_maxEv
Line
Count
Source
101
3
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
4
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_maxEv
Line
Count
Source
101
625
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_maxEv
Line
Count
Source
101
425
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_maxEv
Line
Count
Source
101
2.63k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_maxEv
Line
Count
Source
101
1.27k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_maxEv
Line
Count
Source
101
29
    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
5
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
18
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
140
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
162
    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
64
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_maxEv
Line
Count
Source
101
35
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_maxEv
Line
Count
Source
101
40
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_maxEv
Line
Count
Source
101
44
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
17
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_maxEv
Line
Count
Source
101
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_maxEv
Line
Count
Source
101
13
    void* get_max() override { return &_max; }
102
103
5.54k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_minEv
Line
Count
Source
103
3
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_minEv
Line
Count
Source
103
4
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_minEv
Line
Count
Source
103
604
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_minEv
Line
Count
Source
103
425
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_minEv
Line
Count
Source
103
2.65k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_minEv
Line
Count
Source
103
1.28k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_minEv
Line
Count
Source
103
29
    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
7
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_minEv
Line
Count
Source
103
18
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
103
138
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
103
162
    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
56
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_minEv
Line
Count
Source
103
35
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_minEv
Line
Count
Source
103
40
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_minEv
Line
Count
Source
103
44
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_minEv
Line
Count
Source
103
17
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_minEv
Line
Count
Source
103
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_minEv
Line
Count
Source
103
13
    void* get_min() override { return &_min; }
104
105
1.71k
    Status assign(void* min_data, void* max_data) override {
106
1.71k
        if constexpr (IsStringValue) {
107
51
            _min_value_set = true;
108
51
        }
109
1.71k
        _min = *(T*)min_data;
110
1.71k
        _max = *(T*)max_data;
111
1.71k
        return Status::OK();
112
1.71k
    }
_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
199
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
199
        _min = *(T*)min_data;
110
199
        _max = *(T*)max_data;
111
199
        return Status::OK();
112
199
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
180
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
180
        _min = *(T*)min_data;
110
180
        _max = *(T*)max_data;
111
180
        return Status::OK();
112
180
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
869
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
869
        _min = *(T*)min_data;
110
869
        _max = *(T*)max_data;
111
869
        return Status::OK();
112
869
    }
_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
17
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
17
        _min = *(T*)min_data;
110
17
        _max = *(T*)max_data;
111
17
        return Status::OK();
112
17
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
3
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
3
        _min = *(T*)min_data;
110
3
        _max = *(T*)max_data;
111
3
        return Status::OK();
112
3
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE6assignEPvS3_
Line
Count
Source
105
2
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
2
        _min = *(T*)min_data;
110
2
        _max = *(T*)max_data;
111
2
        return Status::OK();
112
2
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
105
85
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
85
        _min = *(T*)min_data;
110
85
        _max = *(T*)max_data;
111
85
        return Status::OK();
112
85
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
105
123
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
123
        _min = *(T*)min_data;
110
123
        _max = *(T*)max_data;
111
123
        return Status::OK();
112
123
    }
_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
51
    Status assign(void* min_data, void* max_data) override {
106
51
        if constexpr (IsStringValue) {
107
51
            _min_value_set = true;
108
51
        }
109
51
        _min = *(T*)min_data;
110
51
        _max = *(T*)max_data;
111
51
        return Status::OK();
112
51
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE6assignEPvS4_
Line
Count
Source
105
11
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
11
        _min = *(T*)min_data;
110
11
        _max = *(T*)max_data;
111
11
        return Status::OK();
112
11
    }
_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
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
    }
_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
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
    }
113
114
2.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
483
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
556
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
1.15k
    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
16
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
3
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
84
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
122
    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
54
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
10
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_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
12
    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
2
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
115
116
private:
117
2.65k
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
2.65k
        if constexpr (NeedMin) {
119
2.65k
            f(filter->mutable_min_val(), _min);
120
2.65k
        }
121
2.65k
        if constexpr (NeedMax) {
122
2.65k
            f(filter->mutable_max_val(), _max);
123
2.65k
        }
124
2.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
483
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
483
        if constexpr (NeedMin) {
119
483
            f(filter->mutable_min_val(), _min);
120
483
        }
121
483
        if constexpr (NeedMax) {
122
483
            f(filter->mutable_max_val(), _max);
123
483
        }
124
483
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7_set_pbIZNS_13get_convertorIsEEDavEUlPNS_12PColumnValueERKsE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
556
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
556
        if constexpr (NeedMin) {
119
556
            f(filter->mutable_min_val(), _min);
120
556
        }
121
556
        if constexpr (NeedMax) {
122
556
            f(filter->mutable_max_val(), _max);
123
556
        }
124
556
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7_set_pbIZNS_13get_convertorIiEEDavEUlPNS_12PColumnValueERKiE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
1.15k
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
1.15k
        if constexpr (NeedMin) {
119
1.15k
            f(filter->mutable_min_val(), _min);
120
1.15k
        }
121
1.15k
        if constexpr (NeedMax) {
122
1.15k
            f(filter->mutable_max_val(), _max);
123
1.15k
        }
124
1.15k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7_set_pbIZNS_13get_convertorIlEEDavEUlPNS_12PColumnValueERKlE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
148
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
148
        if constexpr (NeedMin) {
119
148
            f(filter->mutable_min_val(), _min);
120
148
        }
121
148
        if constexpr (NeedMax) {
122
148
            f(filter->mutable_max_val(), _max);
123
148
        }
124
148
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7_set_pbIZNS_13get_convertorInEEDavEUlPNS_12PColumnValueERKnE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
16
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
16
        if constexpr (NeedMin) {
119
16
            f(filter->mutable_min_val(), _min);
120
16
        }
121
16
        if constexpr (NeedMax) {
122
16
            f(filter->mutable_max_val(), _max);
123
16
        }
124
16
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE7_set_pbIZNS_13get_convertorIfEEDavEUlPNS_12PColumnValueERKfE_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7_set_pbIZNS_13get_convertorIdEEDavEUlPNS_12PColumnValueERKdE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
3
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
3
        if constexpr (NeedMin) {
119
3
            f(filter->mutable_min_val(), _min);
120
3
        }
121
3
        if constexpr (NeedMax) {
122
3
            f(filter->mutable_max_val(), _max);
123
3
        }
124
3
    }
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
84
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
84
        if constexpr (NeedMin) {
119
84
            f(filter->mutable_min_val(), _min);
120
84
        }
121
84
        if constexpr (NeedMax) {
122
84
            f(filter->mutable_max_val(), _max);
123
84
        }
124
84
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
122
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
122
        if constexpr (NeedMin) {
119
122
            f(filter->mutable_min_val(), _min);
120
122
        }
121
122
        if constexpr (NeedMax) {
122
122
            f(filter->mutable_max_val(), _max);
123
122
        }
124
122
    }
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
54
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
54
        if constexpr (NeedMin) {
119
54
            f(filter->mutable_min_val(), _min);
120
54
        }
121
54
        if constexpr (NeedMax) {
122
54
            f(filter->mutable_max_val(), _max);
123
54
        }
124
54
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7_set_pbIZNS_13get_convertorIS2_EEDavEUlPNS_12PColumnValueERKS2_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
10
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
10
        if constexpr (NeedMin) {
119
10
            f(filter->mutable_min_val(), _min);
120
10
        }
121
10
        if constexpr (NeedMax) {
122
10
            f(filter->mutable_max_val(), _max);
123
10
        }
124
10
    }
_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
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: _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
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
    }
125
126
    void _update_batch_string(const auto& column_string, const uint8_t* __restrict nullmap,
127
213
                              size_t start, size_t size) {
128
4.03k
        for (size_t i = start; i < size; i++) {
129
3.82k
            if (nullmap == nullptr || !nullmap[i]) {
130
3.81k
                if constexpr (NeedMin) {
131
3.81k
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
132
246
                        _min = column_string.get_data_at(i).to_string();
133
246
                        _min_value_set = true;
134
246
                    }
135
3.81k
                }
136
3.81k
                if constexpr (NeedMax) {
137
3.81k
                    if (column_string.get_data_at(i) > StringRef(_max)) {
138
708
                        _max = column_string.get_data_at(i).to_string();
139
708
                    }
140
3.81k
                }
141
3.81k
            }
142
3.82k
        }
143
213
    }
_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
212
                              size_t start, size_t size) {
128
4.02k
        for (size_t i = start; i < size; i++) {
129
3.81k
            if (nullmap == nullptr || !nullmap[i]) {
130
3.80k
                if constexpr (NeedMin) {
131
3.80k
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
132
245
                        _min = column_string.get_data_at(i).to_string();
133
245
                        _min_value_set = true;
134
245
                    }
135
3.80k
                }
136
3.80k
                if constexpr (NeedMax) {
137
3.80k
                    if (column_string.get_data_at(i) > StringRef(_max)) {
138
700
                        _max = column_string.get_data_at(i).to_string();
139
700
                    }
140
3.80k
                }
141
3.80k
            }
142
3.81k
        }
143
212
    }
144
145
3.37k
    void _update_batch(const ColumnPtr& column, size_t start) {
146
3.37k
        const auto size = column->size();
147
3.37k
        if constexpr (std::is_same_v<T, std::string>) {
148
93
            if (column->is_column_string64()) {
149
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
1
                                     size);
151
92
            } else {
152
92
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
92
                                     size);
154
92
            }
155
3.28k
        } else {
156
3.28k
            const T* data = (T*)column->get_raw_data().data;
157
10.8M
            for (size_t i = start; i < size; i++) {
158
10.8M
                if constexpr (NeedMin) {
159
10.8M
                    _min = std::min(_min, *(data + i));
160
10.8M
                }
161
10.8M
                if constexpr (NeedMax) {
162
10.8M
                    _max = std::max(_max, *(data + i));
163
10.8M
                }
164
10.8M
            }
165
3.28k
        }
166
3.37k
    }
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
521
    void _update_batch(const ColumnPtr& column, size_t start) {
146
521
        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
521
        } else {
156
521
            const T* data = (T*)column->get_raw_data().data;
157
1.57k
            for (size_t i = start; i < size; i++) {
158
1.05k
                if constexpr (NeedMin) {
159
1.05k
                    _min = std::min(_min, *(data + i));
160
1.05k
                }
161
1.05k
                if constexpr (NeedMax) {
162
1.05k
                    _max = std::max(_max, *(data + i));
163
1.05k
                }
164
1.05k
            }
165
521
        }
166
521
    }
_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
2.21k
    void _update_batch(const ColumnPtr& column, size_t start) {
146
2.21k
        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.21k
        } else {
156
2.21k
            const T* data = (T*)column->get_raw_data().data;
157
10.8M
            for (size_t i = start; i < size; i++) {
158
10.8M
                if constexpr (NeedMin) {
159
10.8M
                    _min = std::min(_min, *(data + i));
160
10.8M
                }
161
10.8M
                if constexpr (NeedMax) {
162
10.8M
                    _max = std::max(_max, *(data + i));
163
10.8M
                }
164
10.8M
            }
165
2.21k
        }
166
2.21k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
190
    void _update_batch(const ColumnPtr& column, size_t start) {
146
190
        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
190
        } else {
156
190
            const T* data = (T*)column->get_raw_data().data;
157
760
            for (size_t i = start; i < size; i++) {
158
570
                if constexpr (NeedMin) {
159
570
                    _min = std::min(_min, *(data + i));
160
570
                }
161
570
                if constexpr (NeedMax) {
162
570
                    _max = std::max(_max, *(data + i));
163
570
                }
164
570
            }
165
190
        }
166
190
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
52
    void _update_batch(const ColumnPtr& column, size_t start) {
146
52
        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
52
        } else {
156
52
            const T* data = (T*)column->get_raw_data().data;
157
115
            for (size_t i = start; i < size; i++) {
158
63
                if constexpr (NeedMin) {
159
63
                    _min = std::min(_min, *(data + i));
160
63
                }
161
63
                if constexpr (NeedMax) {
162
63
                    _max = std::max(_max, *(data + i));
163
63
                }
164
63
            }
165
52
        }
166
52
    }
_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
3
    void _update_batch(const ColumnPtr& column, size_t start) {
146
3
        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
3
        } else {
156
3
            const T* data = (T*)column->get_raw_data().data;
157
8
            for (size_t i = start; i < size; i++) {
158
5
                if constexpr (NeedMin) {
159
5
                    _min = std::min(_min, *(data + i));
160
5
                }
161
5
                if constexpr (NeedMax) {
162
5
                    _max = std::max(_max, *(data + i));
163
5
                }
164
5
            }
165
3
        }
166
3
    }
_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
185
    void _update_batch(const ColumnPtr& column, size_t start) {
146
185
        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
185
        } else {
156
185
            const T* data = (T*)column->get_raw_data().data;
157
3.82k
            for (size_t i = start; i < size; i++) {
158
3.64k
                if constexpr (NeedMin) {
159
3.64k
                    _min = std::min(_min, *(data + i));
160
3.64k
                }
161
3.64k
                if constexpr (NeedMax) {
162
3.64k
                    _max = std::max(_max, *(data + i));
163
3.64k
                }
164
3.64k
            }
165
185
        }
166
185
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
145
29
    void _update_batch(const ColumnPtr& column, size_t start) {
146
29
        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
29
        } else {
156
29
            const T* data = (T*)column->get_raw_data().data;
157
114
            for (size_t i = start; i < size; i++) {
158
85
                if constexpr (NeedMin) {
159
85
                    _min = std::min(_min, *(data + i));
160
85
                }
161
85
                if constexpr (NeedMax) {
162
85
                    _max = std::max(_max, *(data + i));
163
85
                }
164
85
            }
165
29
        }
166
29
    }
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
93
    void _update_batch(const ColumnPtr& column, size_t start) {
146
93
        const auto size = column->size();
147
93
        if constexpr (std::is_same_v<T, std::string>) {
148
93
            if (column->is_column_string64()) {
149
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
1
                                     size);
151
92
            } else {
152
92
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
92
                                     size);
154
92
            }
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
93
    }
_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
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
86
            for (size_t i = start; i < size; i++) {
158
63
                if constexpr (NeedMin) {
159
63
                    _min = std::min(_min, *(data + i));
160
63
                }
161
63
                if constexpr (NeedMax) {
162
63
                    _max = std::max(_max, *(data + i));
163
63
                }
164
63
            }
165
23
        }
166
23
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
145
39
    void _update_batch(const ColumnPtr& column, size_t start) {
146
39
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
39
        } else {
156
39
            const T* data = (T*)column->get_raw_data().data;
157
116
            for (size_t i = start; i < size; i++) {
158
77
                if constexpr (NeedMin) {
159
77
                    _min = std::min(_min, *(data + i));
160
77
                }
161
77
                if constexpr (NeedMax) {
162
77
                    _max = std::max(_max, *(data + i));
163
77
                }
164
77
            }
165
39
        }
166
39
    }
_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
13
    void _update_batch(const ColumnPtr& column, size_t start) {
146
13
        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
13
        } else {
156
13
            const T* data = (T*)column->get_raw_data().data;
157
40
            for (size_t i = start; i < size; i++) {
158
27
                if constexpr (NeedMin) {
159
27
                    _min = std::min(_min, *(data + i));
160
27
                }
161
27
                if constexpr (NeedMax) {
162
27
                    _max = std::max(_max, *(data + i));
163
27
                }
164
27
            }
165
13
        }
166
13
    }
167
168
6.27k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
6.27k
        const auto size = column->size();
170
6.27k
        if constexpr (std::is_same_v<T, std::string>) {
171
120
            if (column->is_column_string64()) {
172
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
0
                                     start, size);
174
120
            } else {
175
120
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
120
                                     start, size);
177
120
            }
178
6.15k
        } else {
179
6.15k
            const T* data = (T*)column->get_raw_data().data;
180
2.21M
            for (size_t i = start; i < size; i++) {
181
2.22M
                if (!nullmap[i]) {
182
2.22M
                    if constexpr (NeedMin) {
183
2.22M
                        _min = std::min(_min, *(data + i));
184
2.22M
                    }
185
2.22M
                    if constexpr (NeedMax) {
186
2.22M
                        _max = std::max(_max, *(data + i));
187
2.22M
                    }
188
2.22M
                }
189
2.21M
            }
190
6.15k
        }
191
6.27k
    }
_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
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
8
            for (size_t i = start; i < size; i++) {
181
6
                if (!nullmap[i]) {
182
6
                    if constexpr (NeedMin) {
183
6
                        _min = std::min(_min, *(data + i));
184
6
                    }
185
6
                    if constexpr (NeedMax) {
186
6
                        _max = std::max(_max, *(data + i));
187
6
                    }
188
6
                }
189
6
            }
190
2
        }
191
2
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
1.62k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
1.62k
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
1.62k
        } else {
179
1.62k
            const T* data = (T*)column->get_raw_data().data;
180
6.08k
            for (size_t i = start; i < size; i++) {
181
4.46k
                if (!nullmap[i]) {
182
4.42k
                    if constexpr (NeedMin) {
183
4.42k
                        _min = std::min(_min, *(data + i));
184
4.42k
                    }
185
4.42k
                    if constexpr (NeedMax) {
186
4.42k
                        _max = std::max(_max, *(data + i));
187
4.42k
                    }
188
4.42k
                }
189
4.46k
            }
190
1.62k
        }
191
1.62k
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
1.21k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
1.21k
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
1.21k
        } else {
179
1.21k
            const T* data = (T*)column->get_raw_data().data;
180
6.69k
            for (size_t i = start; i < size; i++) {
181
5.47k
                if (!nullmap[i]) {
182
4.99k
                    if constexpr (NeedMin) {
183
4.99k
                        _min = std::min(_min, *(data + i));
184
4.99k
                    }
185
4.99k
                    if constexpr (NeedMax) {
186
4.99k
                        _max = std::max(_max, *(data + i));
187
4.99k
                    }
188
4.99k
                }
189
5.47k
            }
190
1.21k
        }
191
1.21k
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
1.79k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
1.79k
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
1.79k
        } else {
179
1.79k
            const T* data = (T*)column->get_raw_data().data;
180
1.99M
            for (size_t i = start; i < size; i++) {
181
2.00M
                if (!nullmap[i]) {
182
2.00M
                    if constexpr (NeedMin) {
183
2.00M
                        _min = std::min(_min, *(data + i));
184
2.00M
                    }
185
2.00M
                    if constexpr (NeedMax) {
186
2.00M
                        _max = std::max(_max, *(data + i));
187
2.00M
                    }
188
2.00M
                }
189
1.99M
            }
190
1.79k
        }
191
1.79k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
698
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
698
        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
698
        } else {
179
698
            const T* data = (T*)column->get_raw_data().data;
180
203k
            for (size_t i = start; i < size; i++) {
181
202k
                if (!nullmap[i]) {
182
202k
                    if constexpr (NeedMin) {
183
202k
                        _min = std::min(_min, *(data + i));
184
202k
                    }
185
202k
                    if constexpr (NeedMax) {
186
202k
                        _max = std::max(_max, *(data + i));
187
202k
                    }
188
202k
                }
189
202k
            }
190
698
        }
191
698
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
1
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
1
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
1
        } else {
179
1
            const T* data = (T*)column->get_raw_data().data;
180
2
            for (size_t i = start; i < size; i++) {
181
1
                if (!nullmap[i]) {
182
1
                    if constexpr (NeedMin) {
183
1
                        _min = std::min(_min, *(data + i));
184
1
                    }
185
1
                    if constexpr (NeedMax) {
186
1
                        _max = std::max(_max, *(data + i));
187
1
                    }
188
1
                }
189
1
            }
190
1
        }
191
1
    }
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
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
85
            for (size_t i = start; i < size; i++) {
181
68
                if (!nullmap[i]) {
182
68
                    if constexpr (NeedMin) {
183
68
                        _min = std::min(_min, *(data + i));
184
68
                    }
185
68
                    if constexpr (NeedMax) {
186
68
                        _max = std::max(_max, *(data + i));
187
68
                    }
188
68
                }
189
68
            }
190
17
        }
191
17
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
22
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
22
        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
22
        } else {
179
22
            const T* data = (T*)column->get_raw_data().data;
180
202
            for (size_t i = start; i < size; i++) {
181
180
                if (!nullmap[i]) {
182
180
                    if constexpr (NeedMin) {
183
180
                        _min = std::min(_min, *(data + i));
184
180
                    }
185
180
                    if constexpr (NeedMax) {
186
180
                        _max = std::max(_max, *(data + i));
187
180
                    }
188
180
                }
189
180
            }
190
22
        }
191
22
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
136
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
136
        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
136
        } else {
179
136
            const T* data = (T*)column->get_raw_data().data;
180
1.12k
            for (size_t i = start; i < size; i++) {
181
993
                if (!nullmap[i]) {
182
912
                    if constexpr (NeedMin) {
183
912
                        _min = std::min(_min, *(data + i));
184
912
                    }
185
912
                    if constexpr (NeedMax) {
186
912
                        _max = std::max(_max, *(data + i));
187
912
                    }
188
912
                }
189
993
            }
190
136
        }
191
136
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
383
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
383
        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
383
        } else {
179
383
            const T* data = (T*)column->get_raw_data().data;
180
1.02k
            for (size_t i = start; i < size; i++) {
181
637
                if (!nullmap[i]) {
182
586
                    if constexpr (NeedMin) {
183
586
                        _min = std::min(_min, *(data + i));
184
586
                    }
185
586
                    if constexpr (NeedMax) {
186
586
                        _max = std::max(_max, *(data + i));
187
586
                    }
188
586
                }
189
637
            }
190
383
        }
191
383
    }
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
120
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
120
        const auto size = column->size();
170
120
        if constexpr (std::is_same_v<T, std::string>) {
171
120
            if (column->is_column_string64()) {
172
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
0
                                     start, size);
174
120
            } else {
175
120
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
120
                                     start, size);
177
120
            }
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
120
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
171
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
171
        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
171
        } else {
179
171
            const T* data = (T*)column->get_raw_data().data;
180
632
            for (size_t i = start; i < size; i++) {
181
461
                if (!nullmap[i]) {
182
292
                    if constexpr (NeedMin) {
183
292
                        _min = std::min(_min, *(data + i));
184
292
                    }
185
292
                    if constexpr (NeedMax) {
186
292
                        _max = std::max(_max, *(data + i));
187
292
                    }
188
292
                }
189
461
            }
190
171
        }
191
171
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
7
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
7
        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
7
        } else {
179
7
            const T* data = (T*)column->get_raw_data().data;
180
33
            for (size_t i = start; i < size; i++) {
181
26
                if (!nullmap[i]) {
182
22
                    if constexpr (NeedMin) {
183
22
                        _min = std::min(_min, *(data + i));
184
22
                    }
185
22
                    if constexpr (NeedMax) {
186
22
                        _max = std::max(_max, *(data + i));
187
22
                    }
188
22
                }
189
26
            }
190
7
        }
191
7
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
4
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
4
        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
4
        } else {
179
4
            const T* data = (T*)column->get_raw_data().data;
180
17
            for (size_t i = start; i < size; i++) {
181
13
                if (!nullmap[i]) {
182
6
                    if constexpr (NeedMin) {
183
6
                        _min = std::min(_min, *(data + i));
184
6
                    }
185
6
                    if constexpr (NeedMax) {
186
6
                        _max = std::max(_max, *(data + i));
187
6
                    }
188
6
                }
189
13
            }
190
4
        }
191
4
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
60
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
60
        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
60
        } else {
179
60
            const T* data = (T*)column->get_raw_data().data;
180
419
            for (size_t i = start; i < size; i++) {
181
359
                if (!nullmap[i]) {
182
357
                    if constexpr (NeedMin) {
183
357
                        _min = std::min(_min, *(data + i));
184
357
                    }
185
357
                    if constexpr (NeedMax) {
186
357
                        _max = std::max(_max, *(data + i));
187
357
                    }
188
357
                }
189
359
            }
190
60
        }
191
60
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
15
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
15
        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
15
        } else {
179
15
            const T* data = (T*)column->get_raw_data().data;
180
552
            for (size_t i = start; i < size; i++) {
181
537
                if (!nullmap[i]) {
182
505
                    if constexpr (NeedMin) {
183
505
                        _min = std::min(_min, *(data + i));
184
505
                    }
185
505
                    if constexpr (NeedMax) {
186
505
                        _max = std::max(_max, *(data + i));
187
505
                    }
188
505
                }
189
537
            }
190
15
        }
191
15
    }
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