Coverage Report

Created: 2026-10-16 09:02

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
20.7k
    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
20.8k
    virtual ~MinMaxFuncBase() = default;
43
44
    virtual void to_pb(PMinMaxFilter* filter) = 0;
45
};
46
47
template <class T, bool NeedMax = true, bool NeedMin = true>
48
class MinMaxNumFunc : public MinMaxFuncBase {
49
public:
50
    static constexpr bool IsStringValue = std::is_same_v<T, std::string>;
51
20.7k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIhLb1ELb1EEC2Eb
Line
Count
Source
51
18
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EEC2Eb
Line
Count
Source
51
18
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIaLb1ELb1EEC2Eb
Line
Count
Source
51
1.76k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIsLb1ELb1EEC2Eb
Line
Count
Source
51
1.18k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIiLb1ELb1EEC2Eb
Line
Count
Source
51
11.8k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIlLb1ELb1EEC2Eb
Line
Count
Source
51
3.60k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncInLb1ELb1EEC2Eb
Line
Count
Source
51
179
    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
47
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
51
570
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
51
185
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EEC2Eb
Line
Count
Source
51
9
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EEC2Eb
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EEC2Eb
Line
Count
Source
51
823
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EEC2Eb
Line
Count
Source
51
82
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EEC2Eb
Line
Count
Source
51
182
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EEC2Eb
Line
Count
Source
51
129
    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
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIoLb1ELb1EEC2Eb
Line
Count
Source
51
73
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
52
818
    ~MinMaxNumFunc() override = default;
53
54
7.87k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
7.87k
        if (is_column_nullable(*column)) {
56
5.41k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
5.41k
            const auto& col = nullable->get_nested_column_ptr();
58
5.41k
            const auto& nullmap = nullable->get_null_map_data();
59
5.41k
            if (nullable->has_null()) {
60
4.88k
                _update_batch(col, nullmap, start);
61
4.88k
                _contain_null = true;
62
4.88k
            } else {
63
528
                _update_batch(col, start);
64
528
            }
65
5.41k
        } else {
66
2.46k
            _update_batch(column, start);
67
2.46k
        }
68
7.87k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
2
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
2
        if (is_column_nullable(*column)) {
56
2
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
2
            const auto& col = nullable->get_nested_column_ptr();
58
2
            const auto& nullmap = nullable->get_null_map_data();
59
2
            if (nullable->has_null()) {
60
2
                _update_batch(col, nullmap, start);
61
2
                _contain_null = true;
62
2
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
2
        } else {
66
0
            _update_batch(column, start);
67
0
        }
68
2
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
3
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
3
        if (is_column_nullable(*column)) {
56
2
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
2
            const auto& col = nullable->get_nested_column_ptr();
58
2
            const auto& nullmap = nullable->get_null_map_data();
59
2
            if (nullable->has_null()) {
60
2
                _update_batch(col, nullmap, start);
61
2
                _contain_null = true;
62
2
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
2
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
3
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
958
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
958
        if (is_column_nullable(*column)) {
56
951
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
951
            const auto& col = nullable->get_nested_column_ptr();
58
951
            const auto& nullmap = nullable->get_null_map_data();
59
951
            if (nullable->has_null()) {
60
740
                _update_batch(col, nullmap, start);
61
740
                _contain_null = true;
62
740
            } else {
63
211
                _update_batch(col, start);
64
211
            }
65
951
        } else {
66
7
            _update_batch(column, start);
67
7
        }
68
958
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
513
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
513
        if (is_column_nullable(*column)) {
56
511
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
511
            const auto& col = nullable->get_nested_column_ptr();
58
511
            const auto& nullmap = nullable->get_null_map_data();
59
511
            if (nullable->has_null()) {
60
510
                _update_batch(col, nullmap, start);
61
510
                _contain_null = true;
62
510
            } else {
63
1
                _update_batch(col, start);
64
1
            }
65
511
        } else {
66
2
            _update_batch(column, start);
67
2
        }
68
513
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
4.64k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
4.64k
        if (is_column_nullable(*column)) {
56
2.81k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
2.81k
            const auto& col = nullable->get_nested_column_ptr();
58
2.81k
            const auto& nullmap = nullable->get_null_map_data();
59
2.81k
            if (nullable->has_null()) {
60
2.63k
                _update_batch(col, nullmap, start);
61
2.63k
                _contain_null = true;
62
2.63k
            } else {
63
177
                _update_batch(col, start);
64
177
            }
65
2.81k
        } else {
66
1.83k
            _update_batch(column, start);
67
1.83k
        }
68
4.64k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
830
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
830
        if (is_column_nullable(*column)) {
56
673
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
673
            const auto& col = nullable->get_nested_column_ptr();
58
673
            const auto& nullmap = nullable->get_null_map_data();
59
673
            if (nullable->has_null()) {
60
602
                _update_batch(col, nullmap, start);
61
602
                _contain_null = true;
62
602
            } else {
63
71
                _update_batch(col, start);
64
71
            }
65
673
        } else {
66
157
            _update_batch(column, start);
67
157
        }
68
830
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
88
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
88
        if (is_column_nullable(*column)) {
56
14
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
14
            const auto& col = nullable->get_nested_column_ptr();
58
14
            const auto& nullmap = nullable->get_null_map_data();
59
14
            if (nullable->has_null()) {
60
14
                _update_batch(col, nullmap, start);
61
14
                _contain_null = true;
62
14
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
74
        } else {
66
74
            _update_batch(column, start);
67
74
        }
68
88
    }
_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
53
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
53
        if (is_column_nullable(*column)) {
56
52
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
52
            const auto& col = nullable->get_nested_column_ptr();
58
52
            const auto& nullmap = nullable->get_null_map_data();
59
52
            if (nullable->has_null()) {
60
43
                _update_batch(col, nullmap, start);
61
43
                _contain_null = true;
62
43
            } else {
63
9
                _update_batch(col, start);
64
9
            }
65
52
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
53
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_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
17
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
17
            const auto& col = nullable->get_nested_column_ptr();
58
17
            const auto& nullmap = nullable->get_null_map_data();
59
17
            if (nullable->has_null()) {
60
17
                _update_batch(col, nullmap, start);
61
17
                _contain_null = true;
62
17
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
17
        } else {
66
2
            _update_batch(column, start);
67
2
        }
68
19
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
54
252
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
252
        if (is_column_nullable(*column)) {
56
58
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
58
            const auto& col = nullable->get_nested_column_ptr();
58
58
            const auto& nullmap = nullable->get_null_map_data();
59
58
            if (nullable->has_null()) {
60
56
                _update_batch(col, nullmap, start);
61
56
                _contain_null = true;
62
56
            } else {
63
2
                _update_batch(col, start);
64
2
            }
65
194
        } else {
66
194
            _update_batch(column, start);
67
194
        }
68
252
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
54
85
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
85
        if (is_column_nullable(*column)) {
56
50
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
50
            const auto& col = nullable->get_nested_column_ptr();
58
50
            const auto& nullmap = nullable->get_null_map_data();
59
50
            if (nullable->has_null()) {
60
50
                _update_batch(col, nullmap, start);
61
50
                _contain_null = true;
62
50
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
50
        } else {
66
35
            _update_batch(column, start);
67
35
        }
68
85
    }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE16insert_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
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
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
54
253
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
253
        if (is_column_nullable(*column)) {
56
132
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
132
            const auto& col = nullable->get_nested_column_ptr();
58
132
            const auto& nullmap = nullable->get_null_map_data();
59
132
            if (nullable->has_null()) {
60
117
                _update_batch(col, nullmap, start);
61
117
                _contain_null = true;
62
117
            } else {
63
15
                _update_batch(col, start);
64
15
            }
65
132
        } else {
66
121
            _update_batch(column, start);
67
121
        }
68
253
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
54
48
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
48
        if (is_column_nullable(*column)) {
56
47
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
47
            const auto& col = nullable->get_nested_column_ptr();
58
47
            const auto& nullmap = nullable->get_null_map_data();
59
48
            if (nullable->has_null()) {
60
48
                _update_batch(col, nullmap, start);
61
48
                _contain_null = true;
62
18.4E
            } else {
63
18.4E
                _update_batch(col, start);
64
18.4E
            }
65
47
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
48
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
54
30
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
30
        if (is_column_nullable(*column)) {
56
21
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
21
            const auto& col = nullable->get_nested_column_ptr();
58
21
            const auto& nullmap = nullable->get_null_map_data();
59
21
            if (nullable->has_null()) {
60
21
                _update_batch(col, nullmap, start);
61
21
                _contain_null = true;
62
21
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
21
        } else {
66
9
            _update_batch(column, start);
67
9
        }
68
30
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
61
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
61
        if (is_column_nullable(*column)) {
56
51
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
51
            const auto& col = nullable->get_nested_column_ptr();
58
51
            const auto& nullmap = nullable->get_null_map_data();
59
51
            if (nullable->has_null()) {
60
10
                _update_batch(col, nullmap, start);
61
10
                _contain_null = true;
62
41
            } else {
63
41
                _update_batch(col, start);
64
41
            }
65
51
        } else {
66
10
            _update_batch(column, start);
67
10
        }
68
61
    }
_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
1
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
1
        if (is_column_nullable(*column)) {
56
0
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
0
            const auto& col = nullable->get_nested_column_ptr();
58
0
            const auto& nullmap = nullable->get_null_map_data();
59
0
            if (nullable->has_null()) {
60
0
                _update_batch(col, nullmap, start);
61
0
                _contain_null = true;
62
0
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
1
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
1
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
22
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
22
        if (is_column_nullable(*column)) {
56
11
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
11
            const auto& col = nullable->get_nested_column_ptr();
58
11
            const auto& nullmap = nullable->get_null_map_data();
59
11
            if (nullable->has_null()) {
60
9
                _update_batch(col, nullmap, start);
61
9
                _contain_null = true;
62
9
            } else {
63
2
                _update_batch(col, start);
64
2
            }
65
11
        } else {
66
11
            _update_batch(column, start);
67
11
        }
68
22
    }
69
70
8.04k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
8.04k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
8.04k
        if constexpr (NeedMin) {
73
8.04k
            if constexpr (IsStringValue) {
74
320
                if (other_minmax->_min < _min || !_min_value_set) {
75
24
                    _min = other_minmax->_min;
76
24
                    _min_value_set = true;
77
24
                }
78
7.72k
            } else if (other_minmax->_min < _min) {
79
957
                _min = other_minmax->_min;
80
957
            }
81
8.04k
        }
82
8.04k
        if constexpr (NeedMax) {
83
8.04k
            if (other_minmax->_max > _max) {
84
920
                _max = other_minmax->_max;
85
920
            }
86
8.04k
        }
87
88
8.04k
        _contain_null |= minmax_func->contain_null();
89
8.04k
        return Status::OK();
90
8.04k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
8
    Status merge(MinMaxFuncBase* minmax_func) override {
71
8
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
8
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
8
            } else if (other_minmax->_min < _min) {
79
2
                _min = other_minmax->_min;
80
2
            }
81
8
        }
82
8
        if constexpr (NeedMax) {
83
8
            if (other_minmax->_max > _max) {
84
1
                _max = other_minmax->_max;
85
1
            }
86
8
        }
87
88
8
        _contain_null |= minmax_func->contain_null();
89
8
        return Status::OK();
90
8
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
755
    Status merge(MinMaxFuncBase* minmax_func) override {
71
755
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
755
        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
755
            } else if (other_minmax->_min < _min) {
79
72
                _min = other_minmax->_min;
80
72
            }
81
755
        }
82
755
        if constexpr (NeedMax) {
83
755
            if (other_minmax->_max > _max) {
84
66
                _max = other_minmax->_max;
85
66
            }
86
755
        }
87
88
755
        _contain_null |= minmax_func->contain_null();
89
755
        return Status::OK();
90
755
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
443
    Status merge(MinMaxFuncBase* minmax_func) override {
71
443
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
443
        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
443
            } else if (other_minmax->_min < _min) {
79
36
                _min = other_minmax->_min;
80
36
            }
81
443
        }
82
443
        if constexpr (NeedMax) {
83
443
            if (other_minmax->_max > _max) {
84
28
                _max = other_minmax->_max;
85
28
            }
86
443
        }
87
88
443
        _contain_null |= minmax_func->contain_null();
89
443
        return Status::OK();
90
443
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
4.99k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
4.99k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
4.99k
        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.99k
            } else if (other_minmax->_min < _min) {
79
687
                _min = other_minmax->_min;
80
687
            }
81
4.99k
        }
82
4.99k
        if constexpr (NeedMax) {
83
4.99k
            if (other_minmax->_max > _max) {
84
629
                _max = other_minmax->_max;
85
629
            }
86
4.99k
        }
87
88
4.99k
        _contain_null |= minmax_func->contain_null();
89
4.99k
        return Status::OK();
90
4.99k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
896
    Status merge(MinMaxFuncBase* minmax_func) override {
71
896
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
896
        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
896
            } else if (other_minmax->_min < _min) {
79
98
                _min = other_minmax->_min;
80
98
            }
81
896
        }
82
896
        if constexpr (NeedMax) {
83
896
            if (other_minmax->_max > _max) {
84
105
                _max = other_minmax->_max;
85
105
            }
86
896
        }
87
88
896
        _contain_null |= minmax_func->contain_null();
89
896
        return Status::OK();
90
896
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
87
    Status merge(MinMaxFuncBase* minmax_func) override {
71
87
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
87
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
87
            } else if (other_minmax->_min < _min) {
79
4
                _min = other_minmax->_min;
80
4
            }
81
87
        }
82
87
        if constexpr (NeedMax) {
83
87
            if (other_minmax->_max > _max) {
84
5
                _max = other_minmax->_max;
85
5
            }
86
87
        }
87
88
87
        _contain_null |= minmax_func->contain_null();
89
87
        return Status::OK();
90
87
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
41
    Status merge(MinMaxFuncBase* minmax_func) override {
71
41
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
41
        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
41
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
41
        }
82
41
        if constexpr (NeedMax) {
83
41
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
41
        }
87
88
41
        _contain_null |= minmax_func->contain_null();
89
41
        return Status::OK();
90
41
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
20
    Status merge(MinMaxFuncBase* minmax_func) override {
71
20
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
20
        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
20
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
20
        }
82
20
        if constexpr (NeedMax) {
83
20
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
20
        }
87
88
20
        _contain_null |= minmax_func->contain_null();
89
20
        return Status::OK();
90
20
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
288
    Status merge(MinMaxFuncBase* minmax_func) override {
71
288
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
288
        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
288
            } else if (other_minmax->_min < _min) {
79
44
                _min = other_minmax->_min;
80
44
            }
81
288
        }
82
288
        if constexpr (NeedMax) {
83
288
            if (other_minmax->_max > _max) {
84
40
                _max = other_minmax->_max;
85
40
            }
86
288
        }
87
88
288
        _contain_null |= minmax_func->contain_null();
89
288
        return Status::OK();
90
288
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
47
    Status merge(MinMaxFuncBase* minmax_func) override {
71
47
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
47
        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
47
            } else if (other_minmax->_min < _min) {
79
3
                _min = other_minmax->_min;
80
3
            }
81
47
        }
82
47
        if constexpr (NeedMax) {
83
47
            if (other_minmax->_max > _max) {
84
4
                _max = other_minmax->_max;
85
4
            }
86
47
        }
87
88
47
        _contain_null |= minmax_func->contain_null();
89
47
        return Status::OK();
90
47
    }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
5
    Status merge(MinMaxFuncBase* minmax_func) override {
71
5
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
5
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
5
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
5
        }
82
5
        if constexpr (NeedMax) {
83
5
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
5
        }
87
88
5
        _contain_null |= minmax_func->contain_null();
89
5
        return Status::OK();
90
5
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
320
    Status merge(MinMaxFuncBase* minmax_func) override {
71
320
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
320
        if constexpr (NeedMin) {
73
320
            if constexpr (IsStringValue) {
74
320
                if (other_minmax->_min < _min || !_min_value_set) {
75
24
                    _min = other_minmax->_min;
76
24
                    _min_value_set = true;
77
24
                }
78
            } else if (other_minmax->_min < _min) {
79
                _min = other_minmax->_min;
80
            }
81
320
        }
82
320
        if constexpr (NeedMax) {
83
320
            if (other_minmax->_max > _max) {
84
27
                _max = other_minmax->_max;
85
27
            }
86
320
        }
87
88
320
        _contain_null |= minmax_func->contain_null();
89
320
        return Status::OK();
90
320
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5mergeEPNS_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
1
                _min = other_minmax->_min;
80
1
            }
81
49
        }
82
49
        if constexpr (NeedMax) {
83
49
            if (other_minmax->_max > _max) {
84
6
                _max = other_minmax->_max;
85
6
            }
86
49
        }
87
88
49
        _contain_null |= minmax_func->contain_null();
89
49
        return Status::OK();
90
49
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
56
    Status merge(MinMaxFuncBase* minmax_func) override {
71
56
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
56
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
56
            } else if (other_minmax->_min < _min) {
79
6
                _min = other_minmax->_min;
80
6
            }
81
56
        }
82
56
        if constexpr (NeedMax) {
83
56
            if (other_minmax->_max > _max) {
84
4
                _max = other_minmax->_max;
85
4
            }
86
56
        }
87
88
56
        _contain_null |= minmax_func->contain_null();
89
56
        return Status::OK();
90
56
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
32
    Status merge(MinMaxFuncBase* minmax_func) override {
71
32
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
32
        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
32
            } else if (other_minmax->_min < _min) {
79
4
                _min = other_minmax->_min;
80
4
            }
81
32
        }
82
32
        if constexpr (NeedMax) {
83
32
            if (other_minmax->_max > _max) {
84
5
                _max = other_minmax->_max;
85
5
            }
86
32
        }
87
88
32
        _contain_null |= minmax_func->contain_null();
89
32
        return Status::OK();
90
32
    }
91
92
956
    MinMaxFuncBase* clone() const override {
93
956
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
956
        cloned->_max = _max;
95
956
        cloned->_min = _min;
96
956
        cloned->_min_value_set = _min_value_set;
97
956
        cloned->_contain_null = _contain_null;
98
956
        return cloned;
99
956
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncIhLb1ELb1EE5cloneEv
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncIaLb1ELb1EE5cloneEv
Line
Count
Source
92
84
    MinMaxFuncBase* clone() const override {
93
84
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
84
        cloned->_max = _max;
95
84
        cloned->_min = _min;
96
84
        cloned->_min_value_set = _min_value_set;
97
84
        cloned->_contain_null = _contain_null;
98
84
        return cloned;
99
84
    }
_ZNK5doris13MinMaxNumFuncIsLb1ELb1EE5cloneEv
Line
Count
Source
92
55
    MinMaxFuncBase* clone() const override {
93
55
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
55
        cloned->_max = _max;
95
55
        cloned->_min = _min;
96
55
        cloned->_min_value_set = _min_value_set;
97
55
        cloned->_contain_null = _contain_null;
98
55
        return cloned;
99
55
    }
_ZNK5doris13MinMaxNumFuncIiLb1ELb1EE5cloneEv
Line
Count
Source
92
630
    MinMaxFuncBase* clone() const override {
93
630
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
630
        cloned->_max = _max;
95
630
        cloned->_min = _min;
96
630
        cloned->_min_value_set = _min_value_set;
97
630
        cloned->_contain_null = _contain_null;
98
630
        return cloned;
99
630
    }
_ZNK5doris13MinMaxNumFuncIlLb1ELb1EE5cloneEv
Line
Count
Source
92
87
    MinMaxFuncBase* clone() const override {
93
87
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
87
        cloned->_max = _max;
95
87
        cloned->_min = _min;
96
87
        cloned->_min_value_set = _min_value_set;
97
87
        cloned->_contain_null = _contain_null;
98
87
        return cloned;
99
87
    }
_ZNK5doris13MinMaxNumFuncInLb1ELb1EE5cloneEv
Line
Count
Source
92
14
    MinMaxFuncBase* clone() const override {
93
14
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
14
        cloned->_max = _max;
95
14
        cloned->_min = _min;
96
14
        cloned->_min_value_set = _min_value_set;
97
14
        cloned->_contain_null = _contain_null;
98
14
        return cloned;
99
14
    }
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
24
    MinMaxFuncBase* clone() const override {
93
24
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
24
        cloned->_max = _max;
95
24
        cloned->_min = _min;
96
24
        cloned->_min_value_set = _min_value_set;
97
24
        cloned->_contain_null = _contain_null;
98
24
        return cloned;
99
24
    }
_ZNK5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5cloneEv
Line
Count
Source
92
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_16TimeStampNsValueELb1ELb1EE5cloneEv
Line
Count
Source
92
1
    MinMaxFuncBase* clone() const override {
93
1
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
1
        cloned->_max = _max;
95
1
        cloned->_min = _min;
96
1
        cloned->_min_value_set = _min_value_set;
97
1
        cloned->_contain_null = _contain_null;
98
1
        return cloned;
99
1
    }
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
6
    MinMaxFuncBase* clone() const override {
93
6
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
6
        cloned->_max = _max;
95
6
        cloned->_min = _min;
96
6
        cloned->_min_value_set = _min_value_set;
97
6
        cloned->_contain_null = _contain_null;
98
6
        return cloned;
99
6
    }
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
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncIjLb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncIoLb1ELb1EE5cloneEv
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
    }
100
101
5.54k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_maxEv
Line
Count
Source
101
5
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
10
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_maxEv
Line
Count
Source
101
396
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_maxEv
Line
Count
Source
101
179
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_maxEv
Line
Count
Source
101
2.99k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_maxEv
Line
Count
Source
101
1.29k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_maxEv
Line
Count
Source
101
37
    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
12
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
16
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
103
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
62
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
2
    void* get_max() override { return &_max; }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_maxEv
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
266
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_maxEv
Line
Count
Source
101
8
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_maxEv
Line
Count
Source
101
90
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_maxEv
Line
Count
Source
101
40
    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
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_maxEv
Line
Count
Source
101
16
    void* get_max() override { return &_max; }
102
103
5.55k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_minEv
Line
Count
Source
103
5
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_minEv
Line
Count
Source
103
10
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_minEv
Line
Count
Source
103
379
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_minEv
Line
Count
Source
103
180
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_minEv
Line
Count
Source
103
2.99k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_minEv
Line
Count
Source
103
1.30k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_minEv
Line
Count
Source
103
40
    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
8
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_minEv
Line
Count
Source
103
17
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
103
103
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
103
62
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE7get_minEv
Line
Count
Source
103
2
    void* get_min() override { return &_min; }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_minEv
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_minEv
Line
Count
Source
103
267
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_minEv
Line
Count
Source
103
8
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_minEv
Line
Count
Source
103
90
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_minEv
Line
Count
Source
103
45
    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
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_minEv
Line
Count
Source
103
16
    void* get_min() override { return &_min; }
104
105
1.65k
    Status assign(void* min_data, void* max_data) override {
106
1.65k
        if constexpr (IsStringValue) {
107
65
            _min_value_set = true;
108
65
        }
109
1.65k
        _min = *(T*)min_data;
110
1.65k
        _max = *(T*)max_data;
111
1.65k
        return Status::OK();
112
1.65k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
5
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
5
        _min = *(T*)min_data;
110
5
        _max = *(T*)max_data;
111
5
        return Status::OK();
112
5
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE6assignEPvS3_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
69
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
69
        _min = *(T*)min_data;
110
69
        _max = *(T*)max_data;
111
69
        return Status::OK();
112
69
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE6assignEPvS2_
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
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
1.06k
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1.06k
        _min = *(T*)min_data;
110
1.06k
        _max = *(T*)max_data;
111
1.06k
        return Status::OK();
112
1.06k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
153
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
153
        _min = *(T*)min_data;
110
153
        _max = *(T*)max_data;
111
153
        return Status::OK();
112
153
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE6assignEPvS2_
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
    }
_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
65
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
65
        _min = *(T*)min_data;
110
65
        _max = *(T*)max_data;
111
65
        return Status::OK();
112
65
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
105
11
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
11
        _min = *(T*)min_data;
110
11
        _max = *(T*)max_data;
111
11
        return Status::OK();
112
11
    }
_ZN5doris13MinMaxNumFuncINS_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
65
    Status assign(void* min_data, void* max_data) override {
106
65
        if constexpr (IsStringValue) {
107
65
            _min_value_set = true;
108
65
        }
109
65
        _min = *(T*)min_data;
110
65
        _max = *(T*)max_data;
111
65
        return Status::OK();
112
65
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE6assignEPvS4_
Line
Count
Source
105
7
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
7
        _min = *(T*)min_data;
110
7
        _max = *(T*)max_data;
111
7
        return Status::OK();
112
7
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE6assignEPvS4_
Line
Count
Source
105
5
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
5
        _min = *(T*)min_data;
110
5
        _max = *(T*)max_data;
111
5
        return Status::OK();
112
5
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE6assignEPvS3_
Line
Count
Source
105
9
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
9
        _min = *(T*)min_data;
110
9
        _max = *(T*)max_data;
111
9
        return Status::OK();
112
9
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE6assignEPvS7_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
7
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
7
        _min = *(T*)min_data;
110
7
        _max = *(T*)max_data;
111
7
        return Status::OK();
112
7
    }
113
114
2.14k
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
4
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
163
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
307
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
1.29k
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
206
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
4
    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
64
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
10
    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
67
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
6
    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
6
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
115
116
private:
117
2.14k
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
2.14k
        if constexpr (NeedMin) {
119
2.14k
            f(filter->mutable_min_val(), _min);
120
2.14k
        }
121
2.14k
        if constexpr (NeedMax) {
122
2.14k
            f(filter->mutable_max_val(), _max);
123
2.14k
        }
124
2.14k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7_set_pbIZNS_13get_convertorIhEEDavEUlPNS_12PColumnValueERKhE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
4
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
4
        if constexpr (NeedMin) {
119
4
            f(filter->mutable_min_val(), _min);
120
4
        }
121
4
        if constexpr (NeedMax) {
122
4
            f(filter->mutable_max_val(), _max);
123
4
        }
124
4
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7_set_pbIZNS_13get_convertorIaEEDavEUlPNS_12PColumnValueERKaE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
162
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
162
        if constexpr (NeedMin) {
119
162
            f(filter->mutable_min_val(), _min);
120
162
        }
121
162
        if constexpr (NeedMax) {
122
162
            f(filter->mutable_max_val(), _max);
123
162
        }
124
162
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7_set_pbIZNS_13get_convertorIsEEDavEUlPNS_12PColumnValueERKsE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
307
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
307
        if constexpr (NeedMin) {
119
307
            f(filter->mutable_min_val(), _min);
120
307
        }
121
307
        if constexpr (NeedMax) {
122
307
            f(filter->mutable_max_val(), _max);
123
307
        }
124
307
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7_set_pbIZNS_13get_convertorIiEEDavEUlPNS_12PColumnValueERKiE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
1.29k
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
1.29k
        if constexpr (NeedMin) {
119
1.29k
            f(filter->mutable_min_val(), _min);
120
1.29k
        }
121
1.29k
        if constexpr (NeedMax) {
122
1.29k
            f(filter->mutable_max_val(), _max);
123
1.29k
        }
124
1.29k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7_set_pbIZNS_13get_convertorIlEEDavEUlPNS_12PColumnValueERKlE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
206
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
206
        if constexpr (NeedMin) {
119
206
            f(filter->mutable_min_val(), _min);
120
206
        }
121
206
        if constexpr (NeedMax) {
122
206
            f(filter->mutable_max_val(), _max);
123
206
        }
124
206
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7_set_pbIZNS_13get_convertorInEEDavEUlPNS_12PColumnValueERKnE_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: _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
64
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
64
        if constexpr (NeedMin) {
119
64
            f(filter->mutable_min_val(), _min);
120
64
        }
121
64
        if constexpr (NeedMax) {
122
64
            f(filter->mutable_max_val(), _max);
123
64
        }
124
64
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
10
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
10
        if constexpr (NeedMin) {
119
10
            f(filter->mutable_min_val(), _min);
120
10
        }
121
10
        if constexpr (NeedMax) {
122
10
            f(filter->mutable_max_val(), _max);
123
10
        }
124
10
    }
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
67
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
67
        if constexpr (NeedMin) {
119
67
            f(filter->mutable_min_val(), _min);
120
67
        }
121
67
        if constexpr (NeedMax) {
122
67
            f(filter->mutable_max_val(), _max);
123
67
        }
124
67
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7_set_pbIZNS_13get_convertorIS2_EEDavEUlPNS_12PColumnValueERKS2_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
6
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
6
        if constexpr (NeedMin) {
119
6
            f(filter->mutable_min_val(), _min);
120
6
        }
121
6
        if constexpr (NeedMax) {
122
6
            f(filter->mutable_max_val(), _max);
123
6
        }
124
6
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7_set_pbIZNS_13get_convertorIS2_EEDavEUlPNS_12PColumnValueERKS2_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
4
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
4
        if constexpr (NeedMin) {
119
4
            f(filter->mutable_min_val(), _min);
120
4
        }
121
4
        if constexpr (NeedMax) {
122
4
            f(filter->mutable_max_val(), _max);
123
4
        }
124
4
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
8
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
8
        if constexpr (NeedMin) {
119
8
            f(filter->mutable_min_val(), _min);
120
8
        }
121
8
        if constexpr (NeedMax) {
122
8
            f(filter->mutable_max_val(), _max);
123
8
        }
124
8
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS5_EEDavEUlPNS_12PColumnValueERKS5_E_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE7_set_pbIZNS_13get_convertorIjEEDavEUlPNS_12PColumnValueERKjE_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7_set_pbIZNS_13get_convertorIoEEDavEUlPNS_12PColumnValueERKoE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
6
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
6
        if constexpr (NeedMin) {
119
6
            f(filter->mutable_min_val(), _min);
120
6
        }
121
6
        if constexpr (NeedMax) {
122
6
            f(filter->mutable_max_val(), _max);
123
6
        }
124
6
    }
125
126
    void _update_batch_string(const auto& column_string, const uint8_t* __restrict nullmap,
127
252
                              size_t start, size_t size) {
128
12.6k
        for (size_t i = start; i < size; i++) {
129
12.4k
            if (nullmap == nullptr || !nullmap[i]) {
130
12.4k
                if constexpr (NeedMin) {
131
12.4k
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
132
391
                        _min = column_string.get_data_at(i).to_string();
133
391
                        _min_value_set = true;
134
391
                    }
135
12.4k
                }
136
12.4k
                if constexpr (NeedMax) {
137
12.4k
                    if (column_string.get_data_at(i) > StringRef(_max)) {
138
688
                        _max = column_string.get_data_at(i).to_string();
139
688
                    }
140
12.4k
                }
141
12.4k
            }
142
12.4k
        }
143
252
    }
_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
251
                              size_t start, size_t size) {
128
12.6k
        for (size_t i = start; i < size; i++) {
129
12.4k
            if (nullmap == nullptr || !nullmap[i]) {
130
12.4k
                if constexpr (NeedMin) {
131
12.4k
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
132
390
                        _min = column_string.get_data_at(i).to_string();
133
390
                        _min_value_set = true;
134
390
                    }
135
12.4k
                }
136
12.4k
                if constexpr (NeedMax) {
137
12.4k
                    if (column_string.get_data_at(i) > StringRef(_max)) {
138
680
                        _max = column_string.get_data_at(i).to_string();
139
680
                    }
140
12.4k
                }
141
12.4k
            }
142
12.4k
        }
143
251
    }
144
145
2.98k
    void _update_batch(const ColumnPtr& column, size_t start) {
146
2.98k
        const auto size = column->size();
147
2.98k
        if constexpr (std::is_same_v<T, std::string>) {
148
135
            if (column->is_column_string64()) {
149
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
1
                                     size);
151
134
            } else {
152
134
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
134
                                     size);
154
134
            }
155
2.85k
        } else {
156
2.85k
            const T* data = (T*)column->get_raw_data().data;
157
12.9M
            for (size_t i = start; i < size; i++) {
158
12.9M
                if constexpr (NeedMin) {
159
12.9M
                    _min = std::min(_min, *(data + i));
160
12.9M
                }
161
12.9M
                if constexpr (NeedMax) {
162
12.9M
                    _max = std::max(_max, *(data + i));
163
12.9M
                }
164
12.9M
            }
165
2.85k
        }
166
2.98k
    }
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
220
    void _update_batch(const ColumnPtr& column, size_t start) {
146
220
        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
220
        } else {
156
220
            const T* data = (T*)column->get_raw_data().data;
157
668
            for (size_t i = start; i < size; i++) {
158
448
                if constexpr (NeedMin) {
159
448
                    _min = std::min(_min, *(data + i));
160
448
                }
161
448
                if constexpr (NeedMax) {
162
448
                    _max = std::max(_max, *(data + i));
163
448
                }
164
448
            }
165
220
        }
166
220
    }
_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.00k
    void _update_batch(const ColumnPtr& column, size_t start) {
146
2.00k
        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.00k
        } else {
156
2.00k
            const T* data = (T*)column->get_raw_data().data;
157
12.9M
            for (size_t i = start; i < size; i++) {
158
12.9M
                if constexpr (NeedMin) {
159
12.9M
                    _min = std::min(_min, *(data + i));
160
12.9M
                }
161
12.9M
                if constexpr (NeedMax) {
162
12.9M
                    _max = std::max(_max, *(data + i));
163
12.9M
                }
164
12.9M
            }
165
2.00k
        }
166
2.00k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
229
    void _update_batch(const ColumnPtr& column, size_t start) {
146
229
        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
229
        } else {
156
229
            const T* data = (T*)column->get_raw_data().data;
157
1.60k
            for (size_t i = start; i < size; i++) {
158
1.37k
                if constexpr (NeedMin) {
159
1.37k
                    _min = std::min(_min, *(data + i));
160
1.37k
                }
161
1.37k
                if constexpr (NeedMax) {
162
1.37k
                    _max = std::max(_max, *(data + i));
163
1.37k
                }
164
1.37k
            }
165
229
        }
166
229
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
74
    void _update_batch(const ColumnPtr& column, size_t start) {
146
74
        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
74
        } else {
156
74
            const T* data = (T*)column->get_raw_data().data;
157
197
            for (size_t i = start; i < size; i++) {
158
123
                if constexpr (NeedMin) {
159
123
                    _min = std::min(_min, *(data + i));
160
123
                }
161
123
                if constexpr (NeedMax) {
162
123
                    _max = std::max(_max, *(data + i));
163
123
                }
164
123
            }
165
74
        }
166
74
    }
_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
10
    void _update_batch(const ColumnPtr& column, size_t start) {
146
10
        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
10
        } else {
156
10
            const T* data = (T*)column->get_raw_data().data;
157
22
            for (size_t i = start; i < size; i++) {
158
12
                if constexpr (NeedMin) {
159
12
                    _min = std::min(_min, *(data + i));
160
12
                }
161
12
                if constexpr (NeedMax) {
162
12
                    _max = std::max(_max, *(data + i));
163
12
                }
164
12
            }
165
10
        }
166
10
    }
_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
193
    void _update_batch(const ColumnPtr& column, size_t start) {
146
193
        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
193
        } else {
156
193
            const T* data = (T*)column->get_raw_data().data;
157
760
            for (size_t i = start; i < size; i++) {
158
567
                if constexpr (NeedMin) {
159
567
                    _min = std::min(_min, *(data + i));
160
567
                }
161
567
                if constexpr (NeedMax) {
162
567
                    _max = std::max(_max, *(data + i));
163
567
                }
164
567
            }
165
193
        }
166
193
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
145
35
    void _update_batch(const ColumnPtr& column, size_t start) {
146
35
        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
35
        } else {
156
35
            const T* data = (T*)column->get_raw_data().data;
157
127
            for (size_t i = start; i < size; i++) {
158
92
                if constexpr (NeedMin) {
159
92
                    _min = std::min(_min, *(data + i));
160
92
                }
161
92
                if constexpr (NeedMax) {
162
92
                    _max = std::max(_max, *(data + i));
163
92
                }
164
92
            }
165
35
        }
166
35
    }
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
135
    void _update_batch(const ColumnPtr& column, size_t start) {
146
135
        const auto size = column->size();
147
135
        if constexpr (std::is_same_v<T, std::string>) {
148
135
            if (column->is_column_string64()) {
149
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
1
                                     size);
151
134
            } else {
152
134
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
134
                                     size);
154
134
            }
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
135
    }
_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
9
    void _update_batch(const ColumnPtr& column, size_t start) {
146
9
        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
9
        } else {
156
9
            const T* data = (T*)column->get_raw_data().data;
157
72
            for (size_t i = start; i < size; i++) {
158
63
                if constexpr (NeedMin) {
159
63
                    _min = std::min(_min, *(data + i));
160
63
                }
161
63
                if constexpr (NeedMax) {
162
63
                    _max = std::max(_max, *(data + i));
163
63
                }
164
63
            }
165
9
        }
166
9
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
145
51
    void _update_batch(const ColumnPtr& column, size_t start) {
146
51
        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
51
        } else {
156
51
            const T* data = (T*)column->get_raw_data().data;
157
124
            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
51
        }
166
51
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EEm
Line
Count
Source
145
1
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1
        } else {
156
1
            const T* data = (T*)column->get_raw_data().data;
157
4
            for (size_t i = start; i < size; i++) {
158
3
                if constexpr (NeedMin) {
159
3
                    _min = std::min(_min, *(data + i));
160
3
                }
161
3
                if constexpr (NeedMax) {
162
3
                    _max = std::max(_max, *(data + i));
163
3
                }
164
3
            }
165
1
        }
166
1
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
1
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1
        } else {
156
1
            const T* data = (T*)column->get_raw_data().data;
157
4
            for (size_t i = start; i < size; i++) {
158
3
                if constexpr (NeedMin) {
159
3
                    _min = std::min(_min, *(data + i));
160
3
                }
161
3
                if constexpr (NeedMax) {
162
3
                    _max = std::max(_max, *(data + i));
163
3
                }
164
3
            }
165
1
        }
166
1
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
13
    void _update_batch(const ColumnPtr& column, size_t start) {
146
13
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
13
        } else {
156
13
            const T* data = (T*)column->get_raw_data().data;
157
38
            for (size_t i = start; i < size; i++) {
158
25
                if constexpr (NeedMin) {
159
25
                    _min = std::min(_min, *(data + i));
160
25
                }
161
25
                if constexpr (NeedMax) {
162
25
                    _max = std::max(_max, *(data + i));
163
25
                }
164
25
            }
165
13
        }
166
13
    }
167
168
4.87k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
4.87k
        const auto size = column->size();
170
4.87k
        if constexpr (std::is_same_v<T, std::string>) {
171
117
            if (column->is_column_string64()) {
172
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
0
                                     start, size);
174
117
            } else {
175
117
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
117
                                     start, size);
177
117
            }
178
4.75k
        } else {
179
4.75k
            const T* data = (T*)column->get_raw_data().data;
180
3.34M
            for (size_t i = start; i < size; i++) {
181
3.34M
                if (!nullmap[i]) {
182
3.34M
                    if constexpr (NeedMin) {
183
3.34M
                        _min = std::min(_min, *(data + i));
184
3.34M
                    }
185
3.34M
                    if constexpr (NeedMax) {
186
3.34M
                        _max = std::max(_max, *(data + i));
187
3.34M
                    }
188
3.34M
                }
189
3.34M
            }
190
4.75k
        }
191
4.87k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
2
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
2
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
2
        } else {
179
2
            const T* data = (T*)column->get_raw_data().data;
180
6
            for (size_t i = start; i < size; i++) {
181
4
                if (!nullmap[i]) {
182
3
                    if constexpr (NeedMin) {
183
3
                        _min = std::min(_min, *(data + i));
184
3
                    }
185
3
                    if constexpr (NeedMax) {
186
3
                        _max = std::max(_max, *(data + i));
187
3
                    }
188
3
                }
189
4
            }
190
2
        }
191
2
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
2
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
2
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
2
        } else {
179
2
            const T* data = (T*)column->get_raw_data().data;
180
8
            for (size_t i = start; i < size; i++) {
181
6
                if (!nullmap[i]) {
182
6
                    if constexpr (NeedMin) {
183
6
                        _min = std::min(_min, *(data + i));
184
6
                    }
185
6
                    if constexpr (NeedMax) {
186
6
                        _max = std::max(_max, *(data + i));
187
6
                    }
188
6
                }
189
6
            }
190
2
        }
191
2
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
739
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
739
        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
739
        } else {
179
739
            const T* data = (T*)column->get_raw_data().data;
180
2.51k
            for (size_t i = start; i < size; i++) {
181
1.77k
                if (!nullmap[i]) {
182
1.75k
                    if constexpr (NeedMin) {
183
1.75k
                        _min = std::min(_min, *(data + i));
184
1.75k
                    }
185
1.75k
                    if constexpr (NeedMax) {
186
1.75k
                        _max = std::max(_max, *(data + i));
187
1.75k
                    }
188
1.75k
                }
189
1.77k
            }
190
739
        }
191
739
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
510
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
510
        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
510
        } else {
179
510
            const T* data = (T*)column->get_raw_data().data;
180
3.16k
            for (size_t i = start; i < size; i++) {
181
2.65k
                if (!nullmap[i]) {
182
2.47k
                    if constexpr (NeedMin) {
183
2.47k
                        _min = std::min(_min, *(data + i));
184
2.47k
                    }
185
2.47k
                    if constexpr (NeedMax) {
186
2.47k
                        _max = std::max(_max, *(data + i));
187
2.47k
                    }
188
2.47k
                }
189
2.65k
            }
190
510
        }
191
510
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
2.63k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
2.63k
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
2.63k
        } else {
179
2.63k
            const T* data = (T*)column->get_raw_data().data;
180
3.33M
            for (size_t i = start; i < size; i++) {
181
3.34M
                if (!nullmap[i]) {
182
3.34M
                    if constexpr (NeedMin) {
183
3.34M
                        _min = std::min(_min, *(data + i));
184
3.34M
                    }
185
3.34M
                    if constexpr (NeedMax) {
186
3.34M
                        _max = std::max(_max, *(data + i));
187
3.34M
                    }
188
3.34M
                }
189
3.33M
            }
190
2.63k
        }
191
2.63k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
601
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
601
        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
601
        } else {
179
601
            const T* data = (T*)column->get_raw_data().data;
180
2.51k
            for (size_t i = start; i < size; i++) {
181
1.91k
                if (!nullmap[i]) {
182
1.69k
                    if constexpr (NeedMin) {
183
1.69k
                        _min = std::min(_min, *(data + i));
184
1.69k
                    }
185
1.69k
                    if constexpr (NeedMax) {
186
1.69k
                        _max = std::max(_max, *(data + i));
187
1.69k
                    }
188
1.69k
                }
189
1.91k
            }
190
601
        }
191
601
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
14
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
14
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
14
        } else {
179
14
            const T* data = (T*)column->get_raw_data().data;
180
34
            for (size_t i = start; i < size; i++) {
181
20
                if (!nullmap[i]) {
182
19
                    if constexpr (NeedMin) {
183
19
                        _min = std::min(_min, *(data + i));
184
19
                    }
185
19
                    if constexpr (NeedMax) {
186
19
                        _max = std::max(_max, *(data + i));
187
19
                    }
188
19
                }
189
20
            }
190
14
        }
191
14
    }
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
43
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
43
        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
43
        } else {
179
43
            const T* data = (T*)column->get_raw_data().data;
180
104
            for (size_t i = start; i < size; i++) {
181
61
                if (!nullmap[i]) {
182
24
                    if constexpr (NeedMin) {
183
24
                        _min = std::min(_min, *(data + i));
184
24
                    }
185
24
                    if constexpr (NeedMax) {
186
24
                        _max = std::max(_max, *(data + i));
187
24
                    }
188
24
                }
189
61
            }
190
43
        }
191
43
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
17
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
17
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
17
        } else {
179
17
            const T* data = (T*)column->get_raw_data().data;
180
143
            for (size_t i = start; i < size; i++) {
181
126
                if (!nullmap[i]) {
182
126
                    if constexpr (NeedMin) {
183
126
                        _min = std::min(_min, *(data + i));
184
126
                    }
185
126
                    if constexpr (NeedMax) {
186
126
                        _max = std::max(_max, *(data + i));
187
126
                    }
188
126
                }
189
126
            }
190
17
        }
191
17
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
57
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
57
        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
57
        } else {
179
57
            const T* data = (T*)column->get_raw_data().data;
180
202
            for (size_t i = start; i < size; i++) {
181
145
                if (!nullmap[i]) {
182
127
                    if constexpr (NeedMin) {
183
127
                        _min = std::min(_min, *(data + i));
184
127
                    }
185
127
                    if constexpr (NeedMax) {
186
127
                        _max = std::max(_max, *(data + i));
187
127
                    }
188
127
                }
189
145
            }
190
57
        }
191
57
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
50
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
50
        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
50
        } else {
179
50
            const T* data = (T*)column->get_raw_data().data;
180
169
            for (size_t i = start; i < size; i++) {
181
119
                if (!nullmap[i]) {
182
101
                    if constexpr (NeedMin) {
183
101
                        _min = std::min(_min, *(data + i));
184
101
                    }
185
101
                    if constexpr (NeedMax) {
186
101
                        _max = std::max(_max, *(data + i));
187
101
                    }
188
101
                }
189
119
            }
190
50
        }
191
50
    }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_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
5
            for (size_t i = start; i < size; i++) {
181
4
                if (!nullmap[i]) {
182
3
                    if constexpr (NeedMin) {
183
3
                        _min = std::min(_min, *(data + i));
184
3
                    }
185
3
                    if constexpr (NeedMax) {
186
3
                        _max = std::max(_max, *(data + i));
187
3
                    }
188
3
                }
189
4
            }
190
1
        }
191
1
    }
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
117
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
117
        const auto size = column->size();
170
117
        if constexpr (std::is_same_v<T, std::string>) {
171
117
            if (column->is_column_string64()) {
172
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
0
                                     start, size);
174
117
            } else {
175
117
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
117
                                     start, size);
177
117
            }
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
117
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
47
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
47
        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
47
        } else {
179
47
            const T* data = (T*)column->get_raw_data().data;
180
145
            for (size_t i = start; i < size; i++) {
181
98
                if (!nullmap[i]) {
182
65
                    if constexpr (NeedMin) {
183
65
                        _min = std::min(_min, *(data + i));
184
65
                    }
185
65
                    if constexpr (NeedMax) {
186
65
                        _max = std::max(_max, *(data + i));
187
65
                    }
188
65
                }
189
98
            }
190
47
        }
191
47
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
21
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
21
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
21
        } else {
179
21
            const T* data = (T*)column->get_raw_data().data;
180
46
            for (size_t i = start; i < size; i++) {
181
25
                if (!nullmap[i]) {
182
24
                    if constexpr (NeedMin) {
183
24
                        _min = std::min(_min, *(data + i));
184
24
                    }
185
24
                    if constexpr (NeedMax) {
186
24
                        _max = std::max(_max, *(data + i));
187
24
                    }
188
24
                }
189
25
            }
190
21
        }
191
21
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
10
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
10
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
10
        } else {
179
10
            const T* data = (T*)column->get_raw_data().data;
180
44
            for (size_t i = start; i < size; i++) {
181
34
                if (!nullmap[i]) {
182
24
                    if constexpr (NeedMin) {
183
24
                        _min = std::min(_min, *(data + i));
184
24
                    }
185
24
                    if constexpr (NeedMax) {
186
24
                        _max = std::max(_max, *(data + i));
187
24
                    }
188
24
                }
189
34
            }
190
10
        }
191
10
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
3
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
3
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
3
        } else {
179
3
            const T* data = (T*)column->get_raw_data().data;
180
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
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
9
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
9
        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
9
        } else {
179
9
            const T* data = (T*)column->get_raw_data().data;
180
540
            for (size_t i = start; i < size; i++) {
181
531
                if (!nullmap[i]) {
182
497
                    if constexpr (NeedMin) {
183
497
                        _min = std::min(_min, *(data + i));
184
497
                    }
185
497
                    if constexpr (NeedMax) {
186
497
                        _max = std::max(_max, *(data + i));
187
497
                    }
188
497
                }
189
531
            }
190
9
        }
191
9
    }
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