Coverage Report

Created: 2026-10-24 14:21

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
31.4k
    MinMaxFuncBase(bool null_aware) : FilterBase(null_aware) {}
33
    virtual void insert_fixed_len(const ColumnPtr& column, size_t start) = 0;
34
    virtual void* get_max() = 0;
35
    virtual void* get_min() = 0;
36
    // assign minmax data
37
    virtual Status assign(void* min_data, void* max_data) = 0;
38
    // merge from other minmax_func
39
    virtual Status merge(MinMaxFuncBase* minmax_func) = 0;
40
    // Deep copy. The returned object shares nothing with this one.
41
    virtual MinMaxFuncBase* clone() const = 0;
42
32.0k
    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
31.6k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIhLb1ELb1EEC2Eb
Line
Count
Source
51
4
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EEC2Eb
Line
Count
Source
51
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIaLb1ELb1EEC2Eb
Line
Count
Source
51
3.63k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIsLb1ELb1EEC2Eb
Line
Count
Source
51
2.38k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIiLb1ELb1EEC2Eb
Line
Count
Source
51
17.1k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIlLb1ELb1EEC2Eb
Line
Count
Source
51
3.65k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncInLb1ELb1EEC2Eb
Line
Count
Source
51
146
    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
77
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EEC2Eb
Line
Count
Source
51
72
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
51
669
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
51
2.55k
    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
802
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EEC2Eb
Line
Count
Source
51
298
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EEC2Eb
Line
Count
Source
51
52
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EEC2Eb
Line
Count
Source
51
97
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EEC2Eb
Line
Count
Source
51
26
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIjLb1ELb1EEC2Eb
Line
Count
Source
51
20
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIoLb1ELb1EEC2Eb
Line
Count
Source
51
36
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
52
821
    ~MinMaxNumFunc() override = default;
53
54
11.8k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
11.8k
        if (is_column_nullable(*column)) {
56
9.42k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
9.42k
            const auto& col = nullable->get_nested_column_ptr();
58
9.42k
            const auto& nullmap = nullable->get_null_map_data();
59
9.42k
            if (nullable->has_null()) {
60
8.15k
                _update_batch(col, nullmap, start);
61
8.15k
                _contain_null = true;
62
8.15k
            } else {
63
1.27k
                _update_batch(col, start);
64
1.27k
            }
65
9.42k
        } else {
66
2.44k
            _update_batch(column, start);
67
2.44k
        }
68
11.8k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE16insert_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
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
1
        } else {
66
0
            _update_batch(column, start);
67
0
        }
68
1
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_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
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
2.15k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
2.15k
        if (is_column_nullable(*column)) {
56
2.13k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
2.13k
            const auto& col = nullable->get_nested_column_ptr();
58
2.13k
            const auto& nullmap = nullable->get_null_map_data();
59
2.13k
            if (nullable->has_null()) {
60
1.59k
                _update_batch(col, nullmap, start);
61
1.59k
                _contain_null = true;
62
1.59k
            } else {
63
531
                _update_batch(col, start);
64
531
            }
65
2.13k
        } else {
66
26
            _update_batch(column, start);
67
26
        }
68
2.15k
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
1.22k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
1.22k
        if (is_column_nullable(*column)) {
56
1.22k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
1.22k
            const auto& col = nullable->get_nested_column_ptr();
58
1.22k
            const auto& nullmap = nullable->get_null_map_data();
59
1.22k
            if (nullable->has_null()) {
60
1.22k
                _update_batch(col, nullmap, start);
61
1.22k
                _contain_null = true;
62
1.22k
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
1.22k
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
1.22k
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
5.95k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
5.95k
        if (is_column_nullable(*column)) {
56
4.30k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
4.30k
            const auto& col = nullable->get_nested_column_ptr();
58
4.30k
            const auto& nullmap = nullable->get_null_map_data();
59
4.30k
            if (nullable->has_null()) {
60
3.61k
                _update_batch(col, nullmap, start);
61
3.61k
                _contain_null = true;
62
3.61k
            } else {
63
689
                _update_batch(col, start);
64
689
            }
65
4.30k
        } else {
66
1.64k
            _update_batch(column, start);
67
1.64k
        }
68
5.95k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
1.18k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
1.18k
        if (is_column_nullable(*column)) {
56
762
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
762
            const auto& col = nullable->get_nested_column_ptr();
58
762
            const auto& nullmap = nullable->get_null_map_data();
59
762
            if (nullable->has_null()) {
60
745
                _update_batch(col, nullmap, start);
61
745
                _contain_null = true;
62
745
            } else {
63
17
                _update_batch(col, start);
64
17
            }
65
762
        } else {
66
427
            _update_batch(column, start);
67
427
        }
68
1.18k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
58
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
58
        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
57
        } else {
66
57
            _update_batch(column, start);
67
57
        }
68
58
    }
_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
42
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
42
        if (is_column_nullable(*column)) {
56
41
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
41
            const auto& col = nullable->get_nested_column_ptr();
58
41
            const auto& nullmap = nullable->get_null_map_data();
59
41
            if (nullable->has_null()) {
60
35
                _update_batch(col, nullmap, start);
61
35
                _contain_null = true;
62
35
            } else {
63
6
                _update_batch(col, start);
64
6
            }
65
41
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
42
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
55
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
55
        if (is_column_nullable(*column)) {
56
53
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
53
            const auto& col = nullable->get_nested_column_ptr();
58
53
            const auto& nullmap = nullable->get_null_map_data();
59
54
            if (nullable->has_null()) {
60
54
                _update_batch(col, nullmap, start);
61
54
                _contain_null = true;
62
18.4E
            } else {
63
18.4E
                _update_batch(col, start);
64
18.4E
            }
65
53
        } else {
66
2
            _update_batch(column, start);
67
2
        }
68
55
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
54
296
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
296
        if (is_column_nullable(*column)) {
56
136
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
136
            const auto& col = nullable->get_nested_column_ptr();
58
136
            const auto& nullmap = nullable->get_null_map_data();
59
136
            if (nullable->has_null()) {
60
134
                _update_batch(col, nullmap, start);
61
134
                _contain_null = true;
62
134
            } else {
63
2
                _update_batch(col, start);
64
2
            }
65
160
        } else {
66
160
            _update_batch(column, start);
67
160
        }
68
296
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
54
386
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
386
        if (is_column_nullable(*column)) {
56
361
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
361
            const auto& col = nullable->get_nested_column_ptr();
58
361
            const auto& nullmap = nullable->get_null_map_data();
59
361
            if (nullable->has_null()) {
60
360
                _update_batch(col, nullmap, start);
61
360
                _contain_null = true;
62
360
            } else {
63
1
                _update_batch(col, start);
64
1
            }
65
361
        } else {
66
25
            _update_batch(column, start);
67
25
        }
68
386
    }
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
268
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
268
        if (is_column_nullable(*column)) {
56
193
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
193
            const auto& col = nullable->get_nested_column_ptr();
58
193
            const auto& nullmap = nullable->get_null_map_data();
59
193
            if (nullable->has_null()) {
60
178
                _update_batch(col, nullmap, start);
61
178
                _contain_null = true;
62
178
            } else {
63
15
                _update_batch(col, start);
64
15
            }
65
193
        } else {
66
75
            _update_batch(column, start);
67
75
        }
68
268
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
54
162
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
162
        if (is_column_nullable(*column)) {
56
161
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
161
            const auto& col = nullable->get_nested_column_ptr();
58
161
            const auto& nullmap = nullable->get_null_map_data();
59
161
            if (nullable->has_null()) {
60
161
                _update_batch(col, nullmap, start);
61
161
                _contain_null = true;
62
161
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
161
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
162
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
54
15
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
15
        if (is_column_nullable(*column)) {
56
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
8
        } else {
66
8
            _update_batch(column, start);
67
8
        }
68
15
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
25
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
25
        if (is_column_nullable(*column)) {
56
16
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
16
            const auto& col = nullable->get_nested_column_ptr();
58
16
            const auto& nullmap = nullable->get_null_map_data();
59
16
            if (nullable->has_null()) {
60
5
                _update_batch(col, nullmap, start);
61
5
                _contain_null = true;
62
11
            } else {
63
11
                _update_batch(col, start);
64
11
            }
65
16
        } else {
66
9
            _update_batch(column, start);
67
9
        }
68
25
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EEm
Line
Count
Source
54
4
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
4
        if (is_column_nullable(*column)) {
56
3
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
3
            const auto& col = nullable->get_nested_column_ptr();
58
3
            const auto& nullmap = nullable->get_null_map_data();
59
3
            if (nullable->has_null()) {
60
3
                _update_batch(col, nullmap, start);
61
3
                _contain_null = true;
62
3
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
3
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
4
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
9
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
9
        if (is_column_nullable(*column)) {
56
8
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
8
            const auto& col = nullable->get_nested_column_ptr();
58
8
            const auto& nullmap = nullable->get_null_map_data();
59
8
            if (nullable->has_null()) {
60
8
                _update_batch(col, nullmap, start);
61
8
                _contain_null = true;
62
8
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
8
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
9
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
19
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
19
        if (is_column_nullable(*column)) {
56
18
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
18
            const auto& col = nullable->get_nested_column_ptr();
58
18
            const auto& nullmap = nullable->get_null_map_data();
59
18
            if (nullable->has_null()) {
60
18
                _update_batch(col, nullmap, start);
61
18
                _contain_null = true;
62
18
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
18
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
19
    }
69
70
17.6k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
17.6k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
17.6k
        if constexpr (NeedMin) {
73
17.6k
            if constexpr (IsStringValue) {
74
304
                if (other_minmax->_min < _min || !_min_value_set) {
75
39
                    _min = other_minmax->_min;
76
39
                    _min_value_set = true;
77
39
                }
78
17.3k
            } else if (other_minmax->_min < _min) {
79
1.16k
                _min = other_minmax->_min;
80
1.16k
            }
81
17.6k
        }
82
17.6k
        if constexpr (NeedMax) {
83
17.6k
            if (other_minmax->_max > _max) {
84
1.23k
                _max = other_minmax->_max;
85
1.23k
            }
86
17.6k
        }
87
88
17.6k
        _contain_null |= minmax_func->contain_null();
89
17.6k
        return Status::OK();
90
17.6k
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIhLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
2.26k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
2.26k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
2.26k
        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.26k
            } else if (other_minmax->_min < _min) {
79
124
                _min = other_minmax->_min;
80
124
            }
81
2.26k
        }
82
2.26k
        if constexpr (NeedMax) {
83
2.26k
            if (other_minmax->_max > _max) {
84
144
                _max = other_minmax->_max;
85
144
            }
86
2.26k
        }
87
88
2.26k
        _contain_null |= minmax_func->contain_null();
89
2.26k
        return Status::OK();
90
2.26k
    }
_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
48
                _min = other_minmax->_min;
80
48
            }
81
1.23k
        }
82
1.23k
        if constexpr (NeedMax) {
83
1.23k
            if (other_minmax->_max > _max) {
84
49
                _max = other_minmax->_max;
85
49
            }
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
9.39k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
9.39k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
9.39k
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
9.39k
            } else if (other_minmax->_min < _min) {
79
692
                _min = other_minmax->_min;
80
692
            }
81
9.39k
        }
82
9.39k
        if constexpr (NeedMax) {
83
9.39k
            if (other_minmax->_max > _max) {
84
672
                _max = other_minmax->_max;
85
672
            }
86
9.39k
        }
87
88
9.39k
        _contain_null |= minmax_func->contain_null();
89
9.39k
        return Status::OK();
90
9.39k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
1.45k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
1.45k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
1.45k
        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.45k
            } else if (other_minmax->_min < _min) {
79
96
                _min = other_minmax->_min;
80
96
            }
81
1.45k
        }
82
1.45k
        if constexpr (NeedMax) {
83
1.45k
            if (other_minmax->_max > _max) {
84
121
                _max = other_minmax->_max;
85
121
            }
86
1.45k
        }
87
88
1.45k
        _contain_null |= minmax_func->contain_null();
89
1.45k
        return Status::OK();
90
1.45k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
67
    Status merge(MinMaxFuncBase* minmax_func) override {
71
67
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
67
        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
67
            } else if (other_minmax->_min < _min) {
79
6
                _min = other_minmax->_min;
80
6
            }
81
67
        }
82
67
        if constexpr (NeedMax) {
83
67
            if (other_minmax->_max > _max) {
84
6
                _max = other_minmax->_max;
85
6
            }
86
67
        }
87
88
67
        _contain_null |= minmax_func->contain_null();
89
67
        return Status::OK();
90
67
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
35
    Status merge(MinMaxFuncBase* minmax_func) override {
71
35
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
35
        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
35
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
35
        }
82
35
        if constexpr (NeedMax) {
83
35
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
35
        }
87
88
35
        _contain_null |= minmax_func->contain_null();
89
35
        return Status::OK();
90
35
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
49
    Status merge(MinMaxFuncBase* minmax_func) override {
71
49
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
49
        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
49
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
49
        }
82
49
        if constexpr (NeedMax) {
83
49
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
49
        }
87
88
49
        _contain_null |= minmax_func->contain_null();
89
49
        return Status::OK();
90
49
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
383
    Status merge(MinMaxFuncBase* minmax_func) override {
71
383
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
383
        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
383
            } else if (other_minmax->_min < _min) {
79
50
                _min = other_minmax->_min;
80
50
            }
81
383
        }
82
383
        if constexpr (NeedMax) {
83
383
            if (other_minmax->_max > _max) {
84
58
                _max = other_minmax->_max;
85
58
            }
86
383
        }
87
88
383
        _contain_null |= minmax_func->contain_null();
89
383
        return Status::OK();
90
383
    }
_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
125
                _min = other_minmax->_min;
80
125
            }
81
2.20k
        }
82
2.20k
        if constexpr (NeedMax) {
83
2.20k
            if (other_minmax->_max > _max) {
84
131
                _max = other_minmax->_max;
85
131
            }
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
304
    Status merge(MinMaxFuncBase* minmax_func) override {
71
304
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
304
        if constexpr (NeedMin) {
73
304
            if constexpr (IsStringValue) {
74
304
                if (other_minmax->_min < _min || !_min_value_set) {
75
39
                    _min = other_minmax->_min;
76
39
                    _min_value_set = true;
77
39
                }
78
            } else if (other_minmax->_min < _min) {
79
                _min = other_minmax->_min;
80
            }
81
304
        }
82
304
        if constexpr (NeedMax) {
83
304
            if (other_minmax->_max > _max) {
84
31
                _max = other_minmax->_max;
85
31
            }
86
304
        }
87
88
304
        _contain_null |= minmax_func->contain_null();
89
304
        return Status::OK();
90
304
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
211
    Status merge(MinMaxFuncBase* minmax_func) override {
71
211
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
211
        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
211
            } else if (other_minmax->_min < _min) {
79
15
                _min = other_minmax->_min;
80
15
            }
81
211
        }
82
211
        if constexpr (NeedMax) {
83
211
            if (other_minmax->_max > _max) {
84
15
                _max = other_minmax->_max;
85
15
            }
86
211
        }
87
88
211
        _contain_null |= minmax_func->contain_null();
89
211
        return Status::OK();
90
211
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
4
    Status merge(MinMaxFuncBase* minmax_func) override {
71
4
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
4
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
4
            } else if (other_minmax->_min < _min) {
79
3
                _min = other_minmax->_min;
80
3
            }
81
4
        }
82
4
        if constexpr (NeedMax) {
83
4
            if (other_minmax->_max > _max) {
84
3
                _max = other_minmax->_max;
85
3
            }
86
4
        }
87
88
4
        _contain_null |= minmax_func->contain_null();
89
4
        return Status::OK();
90
4
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
24
    Status merge(MinMaxFuncBase* minmax_func) override {
71
24
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
24
        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
24
            } else if (other_minmax->_min < _min) {
79
4
                _min = other_minmax->_min;
80
4
            }
81
24
        }
82
24
        if constexpr (NeedMax) {
83
24
            if (other_minmax->_max > _max) {
84
6
                _max = other_minmax->_max;
85
6
            }
86
24
        }
87
88
24
        _contain_null |= minmax_func->contain_null();
89
24
        return Status::OK();
90
24
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
6
    Status merge(MinMaxFuncBase* minmax_func) override {
71
6
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
6
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
6
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
6
        }
82
6
        if constexpr (NeedMax) {
83
6
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
6
        }
87
88
6
        _contain_null |= minmax_func->contain_null();
89
6
        return Status::OK();
90
6
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
13
    Status merge(MinMaxFuncBase* minmax_func) override {
71
13
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
13
        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
13
            } else if (other_minmax->_min < _min) {
79
1
                _min = other_minmax->_min;
80
1
            }
81
13
        }
82
13
        if constexpr (NeedMax) {
83
13
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
13
        }
87
88
13
        _contain_null |= minmax_func->contain_null();
89
13
        return Status::OK();
90
13
    }
91
92
1.17k
    MinMaxFuncBase* clone() const override {
93
1.17k
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
1.17k
        cloned->_max = _max;
95
1.17k
        cloned->_min = _min;
96
1.17k
        cloned->_min_value_set = _min_value_set;
97
1.17k
        cloned->_contain_null = _contain_null;
98
1.17k
        return cloned;
99
1.17k
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncIhLb1ELb1EE5cloneEv
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncIaLb1ELb1EE5cloneEv
Line
Count
Source
92
97
    MinMaxFuncBase* clone() const override {
93
97
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
97
        cloned->_max = _max;
95
97
        cloned->_min = _min;
96
97
        cloned->_min_value_set = _min_value_set;
97
97
        cloned->_contain_null = _contain_null;
98
97
        return cloned;
99
97
    }
_ZNK5doris13MinMaxNumFuncIsLb1ELb1EE5cloneEv
Line
Count
Source
92
63
    MinMaxFuncBase* clone() const override {
93
63
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
63
        cloned->_max = _max;
95
63
        cloned->_min = _min;
96
63
        cloned->_min_value_set = _min_value_set;
97
63
        cloned->_contain_null = _contain_null;
98
63
        return cloned;
99
63
    }
_ZNK5doris13MinMaxNumFuncIiLb1ELb1EE5cloneEv
Line
Count
Source
92
756
    MinMaxFuncBase* clone() const override {
93
756
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
756
        cloned->_max = _max;
95
756
        cloned->_min = _min;
96
756
        cloned->_min_value_set = _min_value_set;
97
756
        cloned->_contain_null = _contain_null;
98
756
        return cloned;
99
756
    }
_ZNK5doris13MinMaxNumFuncIlLb1ELb1EE5cloneEv
Line
Count
Source
92
142
    MinMaxFuncBase* clone() const override {
93
142
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
142
        cloned->_max = _max;
95
142
        cloned->_min = _min;
96
142
        cloned->_min_value_set = _min_value_set;
97
142
        cloned->_contain_null = _contain_null;
98
142
        return cloned;
99
142
    }
_ZNK5doris13MinMaxNumFuncInLb1ELb1EE5cloneEv
Line
Count
Source
92
9
    MinMaxFuncBase* clone() const override {
93
9
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
9
        cloned->_max = _max;
95
9
        cloned->_min = _min;
96
9
        cloned->_min_value_set = _min_value_set;
97
9
        cloned->_contain_null = _contain_null;
98
9
        return cloned;
99
9
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncIfLb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncIdLb1ELb1EE5cloneEv
Line
Count
Source
92
9
    MinMaxFuncBase* clone() const override {
93
9
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
9
        cloned->_max = _max;
95
9
        cloned->_min = _min;
96
9
        cloned->_min_value_set = _min_value_set;
97
9
        cloned->_contain_null = _contain_null;
98
9
        return cloned;
99
9
    }
_ZNK5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5cloneEv
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_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5cloneEv
Line
Count
Source
92
30
    MinMaxFuncBase* clone() const override {
93
30
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
30
        cloned->_max = _max;
95
30
        cloned->_min = _min;
96
30
        cloned->_min_value_set = _min_value_set;
97
30
        cloned->_contain_null = _contain_null;
98
30
        return cloned;
99
30
    }
_ZNK5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5cloneEv
Line
Count
Source
92
19
    MinMaxFuncBase* clone() const override {
93
19
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
19
        cloned->_max = _max;
95
19
        cloned->_min = _min;
96
19
        cloned->_min_value_set = _min_value_set;
97
19
        cloned->_contain_null = _contain_null;
98
19
        return cloned;
99
19
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE5cloneEv
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5cloneEv
Line
Count
Source
92
22
    MinMaxFuncBase* clone() const override {
93
22
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
22
        cloned->_max = _max;
95
22
        cloned->_min = _min;
96
22
        cloned->_min_value_set = _min_value_set;
97
22
        cloned->_contain_null = _contain_null;
98
22
        return cloned;
99
22
    }
_ZNK5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5cloneEv
Line
Count
Source
92
16
    MinMaxFuncBase* clone() const override {
93
16
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
16
        cloned->_max = _max;
95
16
        cloned->_min = _min;
96
16
        cloned->_min_value_set = _min_value_set;
97
16
        cloned->_contain_null = _contain_null;
98
16
        return cloned;
99
16
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5cloneEv
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
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncIjLb1ELb1EE5cloneEv
Line
Count
Source
92
2
    MinMaxFuncBase* clone() const override {
93
2
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
2
        cloned->_max = _max;
95
2
        cloned->_min = _min;
96
2
        cloned->_min_value_set = _min_value_set;
97
2
        cloned->_contain_null = _contain_null;
98
2
        return cloned;
99
2
    }
_ZNK5doris13MinMaxNumFuncIoLb1ELb1EE5cloneEv
Line
Count
Source
92
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
    }
100
101
6.21k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_maxEv
Line
Count
Source
101
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_maxEv
Line
Count
Source
101
624
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_maxEv
Line
Count
Source
101
449
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_maxEv
Line
Count
Source
101
3.19k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_maxEv
Line
Count
Source
101
1.17k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_maxEv
Line
Count
Source
101
35
    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
17
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
12
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
125
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
178
    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
260
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_maxEv
Line
Count
Source
101
43
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_maxEv
Line
Count
Source
101
26
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_maxEv
Line
Count
Source
101
39
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
14
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_maxEv
Line
Count
Source
101
9
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_maxEv
Line
Count
Source
101
14
    void* get_max() override { return &_max; }
102
103
6.21k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_minEv
Line
Count
Source
103
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_minEv
Line
Count
Source
103
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_minEv
Line
Count
Source
103
607
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_minEv
Line
Count
Source
103
452
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_minEv
Line
Count
Source
103
3.18k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_minEv
Line
Count
Source
103
1.19k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_minEv
Line
Count
Source
103
32
    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
10
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_minEv
Line
Count
Source
103
13
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
103
125
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
103
178
    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
269
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_minEv
Line
Count
Source
103
44
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_minEv
Line
Count
Source
103
26
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_minEv
Line
Count
Source
103
40
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_minEv
Line
Count
Source
103
14
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_minEv
Line
Count
Source
103
10
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_minEv
Line
Count
Source
103
14
    void* get_min() override { return &_min; }
104
105
2.12k
    Status assign(void* min_data, void* max_data) override {
106
2.12k
        if constexpr (IsStringValue) {
107
81
            _min_value_set = true;
108
81
        }
109
2.12k
        _min = *(T*)min_data;
110
2.12k
        _max = *(T*)max_data;
111
2.12k
        return Status::OK();
112
2.12k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
3
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
3
        _min = *(T*)min_data;
110
3
        _max = *(T*)max_data;
111
3
        return Status::OK();
112
3
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE6assignEPvS3_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
181
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
181
        _min = *(T*)min_data;
110
181
        _max = *(T*)max_data;
111
181
        return Status::OK();
112
181
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
177
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
177
        _min = *(T*)min_data;
110
177
        _max = *(T*)max_data;
111
177
        return Status::OK();
112
177
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
1.24k
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1.24k
        _min = *(T*)min_data;
110
1.24k
        _max = *(T*)max_data;
111
1.24k
        return Status::OK();
112
1.24k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
155
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
155
        _min = *(T*)min_data;
110
155
        _max = *(T*)max_data;
111
155
        return Status::OK();
112
155
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE6assignEPvS2_
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
    }
_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
83
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
83
        _min = *(T*)min_data;
110
83
        _max = *(T*)max_data;
111
83
        return Status::OK();
112
83
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
105
133
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
133
        _min = *(T*)min_data;
110
133
        _max = *(T*)max_data;
111
133
        return Status::OK();
112
133
    }
_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
81
    Status assign(void* min_data, void* max_data) override {
106
81
        if constexpr (IsStringValue) {
107
81
            _min_value_set = true;
108
81
        }
109
81
        _min = *(T*)min_data;
110
81
        _max = *(T*)max_data;
111
81
        return Status::OK();
112
81
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE6assignEPvS4_
Line
Count
Source
105
21
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
21
        _min = *(T*)min_data;
110
21
        _max = *(T*)max_data;
111
21
        return Status::OK();
112
21
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE6assignEPvS4_
Line
Count
Source
105
5
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
5
        _min = *(T*)min_data;
110
5
        _max = *(T*)max_data;
111
5
        return Status::OK();
112
5
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE6assignEPvS3_
Line
Count
Source
105
9
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
9
        _min = *(T*)min_data;
110
9
        _max = *(T*)max_data;
111
9
        return Status::OK();
112
9
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE6assignEPvS7_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
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
3.10k
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
2
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
480
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
568
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
1.53k
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
173
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
10
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
4
    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
83
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
132
    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
82
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
20
    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
8
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
2
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
115
116
private:
117
3.10k
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
3.10k
        if constexpr (NeedMin) {
119
3.10k
            f(filter->mutable_min_val(), _min);
120
3.10k
        }
121
3.10k
        if constexpr (NeedMax) {
122
3.10k
            f(filter->mutable_max_val(), _max);
123
3.10k
        }
124
3.10k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7_set_pbIZNS_13get_convertorIhEEDavEUlPNS_12PColumnValueERKhE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
2
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
2
        if constexpr (NeedMin) {
119
2
            f(filter->mutable_min_val(), _min);
120
2
        }
121
2
        if constexpr (NeedMax) {
122
2
            f(filter->mutable_max_val(), _max);
123
2
        }
124
2
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7_set_pbIZNS_13get_convertorIaEEDavEUlPNS_12PColumnValueERKaE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
479
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
479
        if constexpr (NeedMin) {
119
479
            f(filter->mutable_min_val(), _min);
120
479
        }
121
479
        if constexpr (NeedMax) {
122
479
            f(filter->mutable_max_val(), _max);
123
479
        }
124
479
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7_set_pbIZNS_13get_convertorIsEEDavEUlPNS_12PColumnValueERKsE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
568
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
568
        if constexpr (NeedMin) {
119
568
            f(filter->mutable_min_val(), _min);
120
568
        }
121
568
        if constexpr (NeedMax) {
122
568
            f(filter->mutable_max_val(), _max);
123
568
        }
124
568
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7_set_pbIZNS_13get_convertorIiEEDavEUlPNS_12PColumnValueERKiE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
1.53k
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
1.53k
        if constexpr (NeedMin) {
119
1.53k
            f(filter->mutable_min_val(), _min);
120
1.53k
        }
121
1.53k
        if constexpr (NeedMax) {
122
1.53k
            f(filter->mutable_max_val(), _max);
123
1.53k
        }
124
1.53k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7_set_pbIZNS_13get_convertorIlEEDavEUlPNS_12PColumnValueERKlE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
173
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
173
        if constexpr (NeedMin) {
119
173
            f(filter->mutable_min_val(), _min);
120
173
        }
121
173
        if constexpr (NeedMax) {
122
173
            f(filter->mutable_max_val(), _max);
123
173
        }
124
173
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7_set_pbIZNS_13get_convertorInEEDavEUlPNS_12PColumnValueERKnE_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
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE7_set_pbIZNS_13get_convertorIfEEDavEUlPNS_12PColumnValueERKfE_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7_set_pbIZNS_13get_convertorIdEEDavEUlPNS_12PColumnValueERKdE_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_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
83
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
83
        if constexpr (NeedMin) {
119
83
            f(filter->mutable_min_val(), _min);
120
83
        }
121
83
        if constexpr (NeedMax) {
122
83
            f(filter->mutable_max_val(), _max);
123
83
        }
124
83
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
132
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
132
        if constexpr (NeedMin) {
119
132
            f(filter->mutable_min_val(), _min);
120
132
        }
121
132
        if constexpr (NeedMax) {
122
132
            f(filter->mutable_max_val(), _max);
123
132
        }
124
132
    }
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
81
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
81
        if constexpr (NeedMin) {
119
81
            f(filter->mutable_min_val(), _min);
120
81
        }
121
81
        if constexpr (NeedMax) {
122
81
            f(filter->mutable_max_val(), _max);
123
81
        }
124
81
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7_set_pbIZNS_13get_convertorIS2_EEDavEUlPNS_12PColumnValueERKS2_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
20
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
20
        if constexpr (NeedMin) {
119
20
            f(filter->mutable_min_val(), _min);
120
20
        }
121
20
        if constexpr (NeedMax) {
122
20
            f(filter->mutable_max_val(), _max);
123
20
        }
124
20
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7_set_pbIZNS_13get_convertorIS2_EEDavEUlPNS_12PColumnValueERKS2_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
4
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
4
        if constexpr (NeedMin) {
119
4
            f(filter->mutable_min_val(), _min);
120
4
        }
121
4
        if constexpr (NeedMax) {
122
4
            f(filter->mutable_max_val(), _max);
123
4
        }
124
4
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
8
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
8
        if constexpr (NeedMin) {
119
8
            f(filter->mutable_min_val(), _min);
120
8
        }
121
8
        if constexpr (NeedMax) {
122
8
            f(filter->mutable_max_val(), _max);
123
8
        }
124
8
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS5_EEDavEUlPNS_12PColumnValueERKS5_E_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE7_set_pbIZNS_13get_convertorIjEEDavEUlPNS_12PColumnValueERKjE_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7_set_pbIZNS_13get_convertorIoEEDavEUlPNS_12PColumnValueERKoE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
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
267
                              size_t start, size_t size) {
128
3.19k
        for (size_t i = start; i < size; i++) {
129
2.92k
            if (nullmap == nullptr || !nullmap[i]) {
130
2.91k
                if constexpr (NeedMin) {
131
2.91k
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
132
402
                        _min = column_string.get_data_at(i).to_string();
133
402
                        _min_value_set = true;
134
402
                    }
135
2.91k
                }
136
2.91k
                if constexpr (NeedMax) {
137
2.91k
                    if (column_string.get_data_at(i) > StringRef(_max)) {
138
714
                        _max = column_string.get_data_at(i).to_string();
139
714
                    }
140
2.91k
                }
141
2.91k
            }
142
2.92k
        }
143
267
    }
_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
266
                              size_t start, size_t size) {
128
3.18k
        for (size_t i = start; i < size; i++) {
129
2.92k
            if (nullmap == nullptr || !nullmap[i]) {
130
2.91k
                if constexpr (NeedMin) {
131
2.91k
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
132
401
                        _min = column_string.get_data_at(i).to_string();
133
401
                        _min_value_set = true;
134
401
                    }
135
2.91k
                }
136
2.91k
                if constexpr (NeedMax) {
137
2.91k
                    if (column_string.get_data_at(i) > StringRef(_max)) {
138
706
                        _max = column_string.get_data_at(i).to_string();
139
706
                    }
140
2.91k
                }
141
2.91k
            }
142
2.92k
        }
143
266
    }
144
145
3.71k
    void _update_batch(const ColumnPtr& column, size_t start) {
146
3.71k
        const auto size = column->size();
147
3.71k
        if constexpr (std::is_same_v<T, std::string>) {
148
90
            if (column->is_column_string64()) {
149
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
1
                                     size);
151
89
            } else {
152
89
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
89
                                     size);
154
89
            }
155
3.62k
        } else {
156
3.62k
            const T* data = (T*)column->get_raw_data().data;
157
5.24M
            for (size_t i = start; i < size; i++) {
158
5.23M
                if constexpr (NeedMin) {
159
5.23M
                    _min = std::min(_min, *(data + i));
160
5.23M
                }
161
5.23M
                if constexpr (NeedMax) {
162
5.23M
                    _max = std::max(_max, *(data + i));
163
5.23M
                }
164
5.23M
            }
165
3.62k
        }
166
3.71k
    }
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
557
    void _update_batch(const ColumnPtr& column, size_t start) {
146
557
        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
557
        } else {
156
557
            const T* data = (T*)column->get_raw_data().data;
157
1.72k
            for (size_t i = start; i < size; i++) {
158
1.16k
                if constexpr (NeedMin) {
159
1.16k
                    _min = std::min(_min, *(data + i));
160
1.16k
                }
161
1.16k
                if constexpr (NeedMax) {
162
1.16k
                    _max = std::max(_max, *(data + i));
163
1.16k
                }
164
1.16k
            }
165
557
        }
166
557
    }
_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.33k
    void _update_batch(const ColumnPtr& column, size_t start) {
146
2.33k
        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.33k
        } else {
156
2.33k
            const T* data = (T*)column->get_raw_data().data;
157
5.23M
            for (size_t i = start; i < size; i++) {
158
5.23M
                if constexpr (NeedMin) {
159
5.23M
                    _min = std::min(_min, *(data + i));
160
5.23M
                }
161
5.23M
                if constexpr (NeedMax) {
162
5.23M
                    _max = std::max(_max, *(data + i));
163
5.23M
                }
164
5.23M
            }
165
2.33k
        }
166
2.33k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
446
    void _update_batch(const ColumnPtr& column, size_t start) {
146
446
        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
446
        } else {
156
446
            const T* data = (T*)column->get_raw_data().data;
157
1.46k
            for (size_t i = start; i < size; i++) {
158
1.01k
                if constexpr (NeedMin) {
159
1.01k
                    _min = std::min(_min, *(data + i));
160
1.01k
                }
161
1.01k
                if constexpr (NeedMax) {
162
1.01k
                    _max = std::max(_max, *(data + i));
163
1.01k
                }
164
1.01k
            }
165
446
        }
166
446
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
57
    void _update_batch(const ColumnPtr& column, size_t start) {
146
57
        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
57
        } else {
156
57
            const T* data = (T*)column->get_raw_data().data;
157
155
            for (size_t i = start; i < size; i++) {
158
98
                if constexpr (NeedMin) {
159
98
                    _min = std::min(_min, *(data + i));
160
98
                }
161
98
                if constexpr (NeedMax) {
162
98
                    _max = std::max(_max, *(data + i));
163
98
                }
164
98
            }
165
57
        }
166
57
    }
_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
7
    void _update_batch(const ColumnPtr& column, size_t start) {
146
7
        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
7
        } else {
156
7
            const T* data = (T*)column->get_raw_data().data;
157
16
            for (size_t i = start; i < size; i++) {
158
9
                if constexpr (NeedMin) {
159
9
                    _min = std::min(_min, *(data + i));
160
9
                }
161
9
                if constexpr (NeedMax) {
162
9
                    _max = std::max(_max, *(data + i));
163
9
                }
164
9
            }
165
7
        }
166
7
    }
_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
161
    void _update_batch(const ColumnPtr& column, size_t start) {
146
161
        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
161
        } else {
156
161
            const T* data = (T*)column->get_raw_data().data;
157
699
            for (size_t i = start; i < size; i++) {
158
538
                if constexpr (NeedMin) {
159
538
                    _min = std::min(_min, *(data + i));
160
538
                }
161
538
                if constexpr (NeedMax) {
162
538
                    _max = std::max(_max, *(data + i));
163
538
                }
164
538
            }
165
161
        }
166
161
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
145
26
    void _update_batch(const ColumnPtr& column, size_t start) {
146
26
        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
26
        } else {
156
26
            const T* data = (T*)column->get_raw_data().data;
157
99
            for (size_t i = start; i < size; i++) {
158
73
                if constexpr (NeedMin) {
159
73
                    _min = std::min(_min, *(data + i));
160
73
                }
161
73
                if constexpr (NeedMax) {
162
73
                    _max = std::max(_max, *(data + i));
163
73
                }
164
73
            }
165
26
        }
166
26
    }
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
90
    void _update_batch(const ColumnPtr& column, size_t start) {
146
90
        const auto size = column->size();
147
90
        if constexpr (std::is_same_v<T, std::string>) {
148
90
            if (column->is_column_string64()) {
149
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
1
                                     size);
151
89
            } else {
152
89
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
89
                                     size);
154
89
            }
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
90
    }
_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
8
    void _update_batch(const ColumnPtr& column, size_t start) {
146
8
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
8
        } else {
156
8
            const T* data = (T*)column->get_raw_data().data;
157
26
            for (size_t i = start; i < size; i++) {
158
18
                if constexpr (NeedMin) {
159
18
                    _min = std::min(_min, *(data + i));
160
18
                }
161
18
                if constexpr (NeedMax) {
162
18
                    _max = std::max(_max, *(data + i));
163
18
                }
164
18
            }
165
8
        }
166
8
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
145
19
    void _update_batch(const ColumnPtr& column, size_t start) {
146
19
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
19
        } else {
156
19
            const T* data = (T*)column->get_raw_data().data;
157
49
            for (size_t i = start; i < size; i++) {
158
30
                if constexpr (NeedMin) {
159
30
                    _min = std::min(_min, *(data + i));
160
30
                }
161
30
                if constexpr (NeedMax) {
162
30
                    _max = std::max(_max, *(data + i));
163
30
                }
164
30
            }
165
19
        }
166
19
    }
_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
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
    }
167
168
8.13k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
8.13k
        const auto size = column->size();
170
8.13k
        if constexpr (std::is_same_v<T, std::string>) {
171
178
            if (column->is_column_string64()) {
172
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
0
                                     start, size);
174
178
            } else {
175
178
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
178
                                     start, size);
177
178
            }
178
7.95k
        } else {
179
7.95k
            const T* data = (T*)column->get_raw_data().data;
180
717k
            for (size_t i = start; i < size; i++) {
181
709k
                if (!nullmap[i]) {
182
708k
                    if constexpr (NeedMin) {
183
708k
                        _min = std::min(_min, *(data + i));
184
708k
                    }
185
708k
                    if constexpr (NeedMax) {
186
708k
                        _max = std::max(_max, *(data + i));
187
708k
                    }
188
708k
                }
189
709k
            }
190
7.95k
        }
191
8.13k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE13_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: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
1.59k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
1.59k
        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.59k
        } else {
179
1.59k
            const T* data = (T*)column->get_raw_data().data;
180
6.04k
            for (size_t i = start; i < size; i++) {
181
4.44k
                if (!nullmap[i]) {
182
4.40k
                    if constexpr (NeedMin) {
183
4.40k
                        _min = std::min(_min, *(data + i));
184
4.40k
                    }
185
4.40k
                    if constexpr (NeedMax) {
186
4.40k
                        _max = std::max(_max, *(data + i));
187
4.40k
                    }
188
4.40k
                }
189
4.44k
            }
190
1.59k
        }
191
1.59k
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
1.22k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
1.22k
        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.22k
        } else {
179
1.22k
            const T* data = (T*)column->get_raw_data().data;
180
6.76k
            for (size_t i = start; i < size; i++) {
181
5.53k
                if (!nullmap[i]) {
182
5.02k
                    if constexpr (NeedMin) {
183
5.02k
                        _min = std::min(_min, *(data + i));
184
5.02k
                    }
185
5.02k
                    if constexpr (NeedMax) {
186
5.02k
                        _max = std::max(_max, *(data + i));
187
5.02k
                    }
188
5.02k
                }
189
5.53k
            }
190
1.22k
        }
191
1.22k
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
3.60k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
3.60k
        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.60k
        } else {
179
3.60k
            const T* data = (T*)column->get_raw_data().data;
180
698k
            for (size_t i = start; i < size; i++) {
181
694k
                if (!nullmap[i]) {
182
694k
                    if constexpr (NeedMin) {
183
694k
                        _min = std::min(_min, *(data + i));
184
694k
                    }
185
694k
                    if constexpr (NeedMax) {
186
694k
                        _max = std::max(_max, *(data + i));
187
694k
                    }
188
694k
                }
189
694k
            }
190
3.60k
        }
191
3.60k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
742
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
742
        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
742
        } else {
179
742
            const T* data = (T*)column->get_raw_data().data;
180
3.48k
            for (size_t i = start; i < size; i++) {
181
2.74k
                if (!nullmap[i]) {
182
2.34k
                    if constexpr (NeedMin) {
183
2.34k
                        _min = std::min(_min, *(data + i));
184
2.34k
                    }
185
2.34k
                    if constexpr (NeedMax) {
186
2.34k
                        _max = std::max(_max, *(data + i));
187
2.34k
                    }
188
2.34k
                }
189
2.74k
            }
190
742
        }
191
742
    }
_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
35
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
35
        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
35
        } else {
179
35
            const T* data = (T*)column->get_raw_data().data;
180
118
            for (size_t i = start; i < size; i++) {
181
83
                if (!nullmap[i]) {
182
64
                    if constexpr (NeedMin) {
183
64
                        _min = std::min(_min, *(data + i));
184
64
                    }
185
64
                    if constexpr (NeedMax) {
186
64
                        _max = std::max(_max, *(data + i));
187
64
                    }
188
64
                }
189
83
            }
190
35
        }
191
35
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
53
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
53
        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
53
        } else {
179
53
            const T* data = (T*)column->get_raw_data().data;
180
453
            for (size_t i = start; i < size; i++) {
181
400
                if (!nullmap[i]) {
182
394
                    if constexpr (NeedMin) {
183
394
                        _min = std::min(_min, *(data + i));
184
394
                    }
185
394
                    if constexpr (NeedMax) {
186
394
                        _max = std::max(_max, *(data + i));
187
394
                    }
188
394
                }
189
400
            }
190
53
        }
191
53
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
134
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
134
        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
134
        } else {
179
134
            const T* data = (T*)column->get_raw_data().data;
180
547
            for (size_t i = start; i < size; i++) {
181
413
                if (!nullmap[i]) {
182
364
                    if constexpr (NeedMin) {
183
364
                        _min = std::min(_min, *(data + i));
184
364
                    }
185
364
                    if constexpr (NeedMax) {
186
364
                        _max = std::max(_max, *(data + i));
187
364
                    }
188
364
                }
189
413
            }
190
134
        }
191
134
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
360
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
360
        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
360
        } else {
179
360
            const T* data = (T*)column->get_raw_data().data;
180
937
            for (size_t i = start; i < size; i++) {
181
577
                if (!nullmap[i]) {
182
527
                    if constexpr (NeedMin) {
183
527
                        _min = std::min(_min, *(data + i));
184
527
                    }
185
527
                    if constexpr (NeedMax) {
186
527
                        _max = std::max(_max, *(data + i));
187
527
                    }
188
527
                }
189
577
            }
190
360
        }
191
360
    }
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
178
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
178
        const auto size = column->size();
170
178
        if constexpr (std::is_same_v<T, std::string>) {
171
178
            if (column->is_column_string64()) {
172
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
0
                                     start, size);
174
178
            } else {
175
178
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
178
                                     start, size);
177
178
            }
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
178
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
161
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
161
        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
161
        } else {
179
161
            const T* data = (T*)column->get_raw_data().data;
180
542
            for (size_t i = start; i < size; i++) {
181
381
                if (!nullmap[i]) {
182
285
                    if constexpr (NeedMin) {
183
285
                        _min = std::min(_min, *(data + i));
184
285
                    }
185
285
                    if constexpr (NeedMax) {
186
285
                        _max = std::max(_max, *(data + i));
187
285
                    }
188
285
                }
189
381
            }
190
161
        }
191
161
    }
_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
18
            for (size_t i = start; i < size; i++) {
181
11
                if (!nullmap[i]) {
182
10
                    if constexpr (NeedMin) {
183
10
                        _min = std::min(_min, *(data + i));
184
10
                    }
185
10
                    if constexpr (NeedMax) {
186
10
                        _max = std::max(_max, *(data + i));
187
10
                    }
188
10
                }
189
11
            }
190
7
        }
191
7
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
5
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
5
        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
5
        } else {
179
5
            const T* data = (T*)column->get_raw_data().data;
180
13
            for (size_t i = start; i < size; i++) {
181
8
                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
8
            }
190
5
        }
191
5
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
3
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
3
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
3
        } else {
179
3
            const T* data = (T*)column->get_raw_data().data;
180
39
            for (size_t i = start; i < size; i++) {
181
36
                if (!nullmap[i]) {
182
36
                    if constexpr (NeedMin) {
183
36
                        _min = std::min(_min, *(data + i));
184
36
                    }
185
36
                    if constexpr (NeedMax) {
186
36
                        _max = std::max(_max, *(data + i));
187
36
                    }
188
36
                }
189
36
            }
190
3
        }
191
3
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
8
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
8
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
8
        } else {
179
8
            const T* data = (T*)column->get_raw_data().data;
180
90
            for (size_t i = start; i < size; i++) {
181
82
                if (!nullmap[i]) {
182
75
                    if constexpr (NeedMin) {
183
75
                        _min = std::min(_min, *(data + i));
184
75
                    }
185
75
                    if constexpr (NeedMax) {
186
75
                        _max = std::max(_max, *(data + i));
187
75
                    }
188
75
                }
189
82
            }
190
8
        }
191
8
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
18
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
18
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
18
        } else {
179
18
            const T* data = (T*)column->get_raw_data().data;
180
643
            for (size_t i = start; i < size; i++) {
181
625
                if (!nullmap[i]) {
182
583
                    if constexpr (NeedMin) {
183
583
                        _min = std::min(_min, *(data + i));
184
583
                    }
185
583
                    if constexpr (NeedMax) {
186
583
                        _max = std::max(_max, *(data + i));
187
583
                    }
188
583
                }
189
625
            }
190
18
        }
191
18
    }
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