Coverage Report

Created: 2026-05-25 19:14

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
27.6k
    MinMaxFuncBase(bool null_aware) : FilterBase(null_aware) {}
33
    virtual void insert_fixed_len(const ColumnPtr& column, size_t start) = 0;
34
    virtual void* get_max() = 0;
35
    virtual void* get_min() = 0;
36
    // assign minmax data
37
    virtual Status assign(void* min_data, void* max_data) = 0;
38
    // merge from other minmax_func
39
    virtual Status merge(MinMaxFuncBase* minmax_func) = 0;
40
27.7k
    virtual ~MinMaxFuncBase() = default;
41
42
    virtual void to_pb(PMinMaxFilter* filter) = 0;
43
};
44
45
template <class T, bool NeedMax = true, bool NeedMin = true>
46
class MinMaxNumFunc : public MinMaxFuncBase {
47
public:
48
    static constexpr bool IsStringValue = std::is_same_v<T, std::string>;
49
27.6k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIhLb1ELb1EEC2Eb
Line
Count
Source
49
1
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EEC2Eb
Line
Count
Source
49
18
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIaLb1ELb1EEC2Eb
Line
Count
Source
49
3.65k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIsLb1ELb1EEC2Eb
Line
Count
Source
49
2.40k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIiLb1ELb1EEC2Eb
Line
Count
Source
49
13.2k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIlLb1ELb1EEC2Eb
Line
Count
Source
49
3.55k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncInLb1ELb1EEC2Eb
Line
Count
Source
49
129
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIfLb1ELb1EEC2Eb
Line
Count
Source
49
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIdLb1ELb1EEC2Eb
Line
Count
Source
49
37
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EEC2Eb
Line
Count
Source
49
32
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
49
697
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
49
2.87k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EEC2Eb
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EEC2Eb
Line
Count
Source
49
457
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EEC2Eb
Line
Count
Source
49
291
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EEC2Eb
Line
Count
Source
49
28
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EEC2Eb
Line
Count
Source
49
190
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EEC2Eb
Line
Count
Source
49
82
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIjLb1ELb1EEC2Eb
Line
Count
Source
49
16
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIoLb1ELb1EEC2Eb
Line
Count
Source
49
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
50
458
    ~MinMaxNumFunc() override = default;
51
52
7.85k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
7.85k
        if (column->is_nullable()) {
54
5.86k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
5.86k
            const auto& col = nullable->get_nested_column_ptr();
56
5.86k
            const auto& nullmap = nullable->get_null_map_data();
57
5.86k
            if (nullable->has_null()) {
58
4.54k
                _update_batch(col, nullmap, start);
59
4.54k
                _contain_null = true;
60
4.54k
            } else {
61
1.31k
                _update_batch(col, start);
62
1.31k
            }
63
5.86k
        } else {
64
1.99k
            _update_batch(column, start);
65
1.99k
        }
66
7.85k
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIhLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
9
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
9
        if (column->is_nullable()) {
54
8
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
8
            const auto& col = nullable->get_nested_column_ptr();
56
8
            const auto& nullmap = nullable->get_null_map_data();
57
8
            if (nullable->has_null()) {
58
8
                _update_batch(col, nullmap, start);
59
8
                _contain_null = true;
60
8
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
8
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
9
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
1.03k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
1.03k
        if (column->is_nullable()) {
54
1.02k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
1.02k
            const auto& col = nullable->get_nested_column_ptr();
56
1.02k
            const auto& nullmap = nullable->get_null_map_data();
57
1.02k
            if (nullable->has_null()) {
58
490
                _update_batch(col, nullmap, start);
59
490
                _contain_null = true;
60
537
            } else {
61
537
                _update_batch(col, start);
62
537
            }
63
1.02k
        } else {
64
3
            _update_batch(column, start);
65
3
        }
66
1.03k
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
198
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
198
        if (column->is_nullable()) {
54
197
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
197
            const auto& col = nullable->get_nested_column_ptr();
56
197
            const auto& nullmap = nullable->get_null_map_data();
57
197
            if (nullable->has_null()) {
58
197
                _update_batch(col, nullmap, start);
59
197
                _contain_null = true;
60
197
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
197
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
198
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
4.45k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
4.45k
        if (column->is_nullable()) {
54
3.15k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
3.15k
            const auto& col = nullable->get_nested_column_ptr();
56
3.15k
            const auto& nullmap = nullable->get_null_map_data();
57
3.15k
            if (nullable->has_null()) {
58
2.41k
                _update_batch(col, nullmap, start);
59
2.41k
                _contain_null = true;
60
2.41k
            } else {
61
735
                _update_batch(col, start);
62
735
            }
63
3.15k
        } else {
64
1.30k
            _update_batch(column, start);
65
1.30k
        }
66
4.45k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
1.15k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
1.15k
        if (column->is_nullable()) {
54
835
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
835
            const auto& col = nullable->get_nested_column_ptr();
56
835
            const auto& nullmap = nullable->get_null_map_data();
57
835
            if (nullable->has_null()) {
58
810
                _update_batch(col, nullmap, start);
59
810
                _contain_null = true;
60
810
            } else {
61
25
                _update_batch(col, start);
62
25
            }
63
835
        } else {
64
324
            _update_batch(column, start);
65
324
        }
66
1.15k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
101
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
101
        if (column->is_nullable()) {
54
0
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
0
            const auto& col = nullable->get_nested_column_ptr();
56
0
            const auto& nullmap = nullable->get_null_map_data();
57
0
            if (nullable->has_null()) {
58
0
                _update_batch(col, nullmap, start);
59
0
                _contain_null = true;
60
0
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
101
        } else {
64
101
            _update_batch(column, start);
65
101
        }
66
101
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
1
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
1
        if (column->is_nullable()) {
54
0
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
0
            const auto& col = nullable->get_nested_column_ptr();
56
0
            const auto& nullmap = nullable->get_null_map_data();
57
0
            if (nullable->has_null()) {
58
0
                _update_batch(col, nullmap, start);
59
0
                _contain_null = true;
60
0
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
1
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
1
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
18
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
18
        if (column->is_nullable()) {
54
17
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
17
            const auto& col = nullable->get_nested_column_ptr();
56
17
            const auto& nullmap = nullable->get_null_map_data();
57
17
            if (nullable->has_null()) {
58
1
                _update_batch(col, nullmap, start);
59
1
                _contain_null = true;
60
16
            } else {
61
16
                _update_batch(col, start);
62
16
            }
63
17
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
18
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
14
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
14
        if (column->is_nullable()) {
54
12
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
12
            const auto& col = nullable->get_nested_column_ptr();
56
12
            const auto& nullmap = nullable->get_null_map_data();
57
12
            if (nullable->has_null()) {
58
12
                _update_batch(col, nullmap, start);
59
12
                _contain_null = true;
60
12
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
12
        } else {
64
2
            _update_batch(column, start);
65
2
        }
66
14
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
52
235
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
235
        if (column->is_nullable()) {
54
49
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
49
            const auto& col = nullable->get_nested_column_ptr();
56
49
            const auto& nullmap = nullable->get_null_map_data();
57
49
            if (nullable->has_null()) {
58
47
                _update_batch(col, nullmap, start);
59
47
                _contain_null = true;
60
47
            } else {
61
2
                _update_batch(col, start);
62
2
            }
63
186
        } else {
64
186
            _update_batch(column, start);
65
186
        }
66
235
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
52
346
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
346
        if (column->is_nullable()) {
54
322
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
322
            const auto& col = nullable->get_nested_column_ptr();
56
322
            const auto& nullmap = nullable->get_null_map_data();
57
323
            if (nullable->has_null()) {
58
323
                _update_batch(col, nullmap, start);
59
323
                _contain_null = true;
60
18.4E
            } else {
61
18.4E
                _update_batch(col, start);
62
18.4E
            }
63
322
        } else {
64
24
            _update_batch(column, start);
65
24
        }
66
346
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
52
122
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
122
        if (column->is_nullable()) {
54
94
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
94
            const auto& col = nullable->get_nested_column_ptr();
56
94
            const auto& nullmap = nullable->get_null_map_data();
57
94
            if (nullable->has_null()) {
58
93
                _update_batch(col, nullmap, start);
59
93
                _contain_null = true;
60
93
            } else {
61
1
                _update_batch(col, start);
62
1
            }
63
94
        } else {
64
28
            _update_batch(column, start);
65
28
        }
66
122
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
52
43
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
43
        if (column->is_nullable()) {
54
42
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
42
            const auto& col = nullable->get_nested_column_ptr();
56
42
            const auto& nullmap = nullable->get_null_map_data();
57
42
            if (nullable->has_null()) {
58
42
                _update_batch(col, nullmap, start);
59
42
                _contain_null = true;
60
42
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
42
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
43
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
52
9
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
9
        if (column->is_nullable()) {
54
1
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
1
            const auto& col = nullable->get_nested_column_ptr();
56
1
            const auto& nullmap = nullable->get_null_map_data();
57
1
            if (nullable->has_null()) {
58
1
                _update_batch(col, nullmap, start);
59
1
                _contain_null = true;
60
1
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
8
        } else {
64
8
            _update_batch(column, start);
65
8
        }
66
9
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
69
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
69
        if (column->is_nullable()) {
54
60
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
60
            const auto& col = nullable->get_nested_column_ptr();
56
60
            const auto& nullmap = nullable->get_null_map_data();
57
60
            if (nullable->has_null()) {
58
59
                _update_batch(col, nullmap, start);
59
59
                _contain_null = true;
60
59
            } else {
61
1
                _update_batch(col, start);
62
1
            }
63
60
        } else {
64
9
            _update_batch(column, start);
65
9
        }
66
69
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EEm
Line
Count
Source
52
40
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
40
        if (column->is_nullable()) {
54
39
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
39
            const auto& col = nullable->get_nested_column_ptr();
56
39
            const auto& nullmap = nullable->get_null_map_data();
57
40
            if (nullable->has_null()) {
58
40
                _update_batch(col, nullmap, start);
59
40
                _contain_null = true;
60
18.4E
            } else {
61
18.4E
                _update_batch(col, start);
62
18.4E
            }
63
39
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
40
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
8
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
8
        if (column->is_nullable()) {
54
7
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
7
            const auto& col = nullable->get_nested_column_ptr();
56
7
            const auto& nullmap = nullable->get_null_map_data();
57
7
            if (nullable->has_null()) {
58
7
                _update_batch(col, nullmap, start);
59
7
                _contain_null = true;
60
7
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
7
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
8
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
1
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
1
        if (column->is_nullable()) {
54
0
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
0
            const auto& col = nullable->get_nested_column_ptr();
56
0
            const auto& nullmap = nullable->get_null_map_data();
57
0
            if (nullable->has_null()) {
58
0
                _update_batch(col, nullmap, start);
59
0
                _contain_null = true;
60
0
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
1
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
1
    }
67
68
15.8k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
15.8k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
15.8k
        if constexpr (NeedMin) {
71
15.8k
            if constexpr (IsStringValue) {
72
268
                if (other_minmax->_min < _min || !_min_value_set) {
73
52
                    _min = other_minmax->_min;
74
52
                    _min_value_set = true;
75
52
                }
76
15.5k
            } else if (other_minmax->_min < _min) {
77
1.06k
                _min = other_minmax->_min;
78
1.06k
            }
79
15.8k
        }
80
15.8k
        if constexpr (NeedMax) {
81
15.8k
            if (other_minmax->_max > _max) {
82
1.10k
                _max = other_minmax->_max;
83
1.10k
            }
84
15.8k
        }
85
86
15.8k
        _contain_null |= minmax_func->contain_null();
87
15.8k
        return Status::OK();
88
15.8k
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIhLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
2.25k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
2.25k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
2.25k
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
2.25k
            } else if (other_minmax->_min < _min) {
77
127
                _min = other_minmax->_min;
78
127
            }
79
2.25k
        }
80
2.25k
        if constexpr (NeedMax) {
81
2.25k
            if (other_minmax->_max > _max) {
82
153
                _max = other_minmax->_max;
83
153
            }
84
2.25k
        }
85
86
2.25k
        _contain_null |= minmax_func->contain_null();
87
2.25k
        return Status::OK();
88
2.25k
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
1.23k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
1.23k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
1.23k
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
1.23k
            } else if (other_minmax->_min < _min) {
77
42
                _min = other_minmax->_min;
78
42
            }
79
1.23k
        }
80
1.23k
        if constexpr (NeedMax) {
81
1.23k
            if (other_minmax->_max > _max) {
82
56
                _max = other_minmax->_max;
83
56
            }
84
1.23k
        }
85
86
1.23k
        _contain_null |= minmax_func->contain_null();
87
1.23k
        return Status::OK();
88
1.23k
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
7.86k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
7.86k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
7.86k
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
7.86k
            } else if (other_minmax->_min < _min) {
77
557
                _min = other_minmax->_min;
78
557
            }
79
7.86k
        }
80
7.86k
        if constexpr (NeedMax) {
81
7.86k
            if (other_minmax->_max > _max) {
82
522
                _max = other_minmax->_max;
83
522
            }
84
7.86k
        }
85
86
7.86k
        _contain_null |= minmax_func->contain_null();
87
7.86k
        return Status::OK();
88
7.86k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
1.15k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
1.15k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
1.15k
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
1.15k
            } else if (other_minmax->_min < _min) {
77
103
                _min = other_minmax->_min;
78
103
            }
79
1.15k
        }
80
1.15k
        if constexpr (NeedMax) {
81
1.15k
            if (other_minmax->_max > _max) {
82
95
                _max = other_minmax->_max;
83
95
            }
84
1.15k
        }
85
86
1.15k
        _contain_null |= minmax_func->contain_null();
87
1.15k
        return Status::OK();
88
1.15k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
11
    Status merge(MinMaxFuncBase* minmax_func) override {
69
11
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
11
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
11
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
11
        }
80
11
        if constexpr (NeedMax) {
81
11
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
11
        }
85
86
11
        _contain_null |= minmax_func->contain_null();
87
11
        return Status::OK();
88
11
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
15
    Status merge(MinMaxFuncBase* minmax_func) override {
69
15
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
15
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
15
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
15
        }
80
15
        if constexpr (NeedMax) {
81
15
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
15
        }
85
86
15
        _contain_null |= minmax_func->contain_null();
87
15
        return Status::OK();
88
15
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
20
    Status merge(MinMaxFuncBase* minmax_func) override {
69
20
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
20
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
20
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
20
        }
80
20
        if constexpr (NeedMax) {
81
20
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
20
        }
85
86
20
        _contain_null |= minmax_func->contain_null();
87
20
        return Status::OK();
88
20
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
411
    Status merge(MinMaxFuncBase* minmax_func) override {
69
411
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
411
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
411
            } else if (other_minmax->_min < _min) {
77
61
                _min = other_minmax->_min;
78
61
            }
79
411
        }
80
411
        if constexpr (NeedMax) {
81
411
            if (other_minmax->_max > _max) {
82
62
                _max = other_minmax->_max;
83
62
            }
84
411
        }
85
86
411
        _contain_null |= minmax_func->contain_null();
87
411
        return Status::OK();
88
411
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
2.30k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
2.30k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
2.30k
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
2.30k
            } else if (other_minmax->_min < _min) {
77
139
                _min = other_minmax->_min;
78
139
            }
79
2.30k
        }
80
2.30k
        if constexpr (NeedMax) {
81
2.30k
            if (other_minmax->_max > _max) {
82
165
                _max = other_minmax->_max;
83
165
            }
84
2.30k
        }
85
86
2.30k
        _contain_null |= minmax_func->contain_null();
87
2.30k
        return Status::OK();
88
2.30k
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
268
    Status merge(MinMaxFuncBase* minmax_func) override {
69
268
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
268
        if constexpr (NeedMin) {
71
268
            if constexpr (IsStringValue) {
72
268
                if (other_minmax->_min < _min || !_min_value_set) {
73
52
                    _min = other_minmax->_min;
74
52
                    _min_value_set = true;
75
52
                }
76
            } else if (other_minmax->_min < _min) {
77
                _min = other_minmax->_min;
78
            }
79
268
        }
80
268
        if constexpr (NeedMax) {
81
268
            if (other_minmax->_max > _max) {
82
26
                _max = other_minmax->_max;
83
26
            }
84
268
        }
85
86
268
        _contain_null |= minmax_func->contain_null();
87
268
        return Status::OK();
88
268
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
215
    Status merge(MinMaxFuncBase* minmax_func) override {
69
215
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
215
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
215
            } else if (other_minmax->_min < _min) {
77
16
                _min = other_minmax->_min;
78
16
            }
79
215
        }
80
215
        if constexpr (NeedMax) {
81
215
            if (other_minmax->_max > _max) {
82
12
                _max = other_minmax->_max;
83
12
            }
84
215
        }
85
86
215
        _contain_null |= minmax_func->contain_null();
87
215
        return Status::OK();
88
215
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
2
    Status merge(MinMaxFuncBase* minmax_func) override {
69
2
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
2
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
2
            } else if (other_minmax->_min < _min) {
77
2
                _min = other_minmax->_min;
78
2
            }
79
2
        }
80
2
        if constexpr (NeedMax) {
81
2
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
2
        }
85
86
2
        _contain_null |= minmax_func->contain_null();
87
2
        return Status::OK();
88
2
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
83
    Status merge(MinMaxFuncBase* minmax_func) override {
69
83
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
83
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
83
            } else if (other_minmax->_min < _min) {
77
14
                _min = other_minmax->_min;
78
14
            }
79
83
        }
80
83
        if constexpr (NeedMax) {
81
83
            if (other_minmax->_max > _max) {
82
12
                _max = other_minmax->_max;
83
12
            }
84
83
        }
85
86
83
        _contain_null |= minmax_func->contain_null();
87
83
        return Status::OK();
88
83
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIoLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
89
90
5.67k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_maxEv
Line
Count
Source
90
1
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_maxEv
Line
Count
Source
90
10
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_maxEv
Line
Count
Source
90
640
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_maxEv
Line
Count
Source
90
482
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_maxEv
Line
Count
Source
90
2.50k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_maxEv
Line
Count
Source
90
1.24k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_maxEv
Line
Count
Source
90
54
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE7get_maxEv
Line
Count
Source
90
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7get_maxEv
Line
Count
Source
90
3
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_maxEv
Line
Count
Source
90
8
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
122
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
378
    void* get_max() override { return &_max; }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_maxEv
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
86
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_maxEv
Line
Count
Source
90
39
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_maxEv
Line
Count
Source
90
14
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_maxEv
Line
Count
Source
90
33
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
42
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_maxEv
Line
Count
Source
90
9
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_maxEv
Line
Count
Source
90
2
    void* get_max() override { return &_max; }
91
92
5.66k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_minEv
Line
Count
Source
92
1
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_minEv
Line
Count
Source
92
10
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_minEv
Line
Count
Source
92
618
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_minEv
Line
Count
Source
92
486
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_minEv
Line
Count
Source
92
2.49k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_minEv
Line
Count
Source
92
1.25k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_minEv
Line
Count
Source
92
53
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE7get_minEv
Line
Count
Source
92
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7get_minEv
Line
Count
Source
92
4
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_minEv
Line
Count
Source
92
8
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
92
122
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
92
381
    void* get_min() override { return &_min; }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_minEv
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_minEv
Line
Count
Source
92
85
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_minEv
Line
Count
Source
92
39
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_minEv
Line
Count
Source
92
14
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_minEv
Line
Count
Source
92
34
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_minEv
Line
Count
Source
92
42
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_minEv
Line
Count
Source
92
9
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_minEv
Line
Count
Source
92
2
    void* get_min() override { return &_min; }
93
94
1.58k
    Status assign(void* min_data, void* max_data) override {
95
1.58k
        if constexpr (IsStringValue) {
96
63
            _min_value_set = true;
97
63
        }
98
1.58k
        _min = *(T*)min_data;
99
1.58k
        _max = *(T*)max_data;
100
1.58k
        return Status::OK();
101
1.58k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE6assignEPvS3_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
189
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
189
        _min = *(T*)min_data;
99
189
        _max = *(T*)max_data;
100
189
        return Status::OK();
101
189
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
164
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
164
        _min = *(T*)min_data;
99
164
        _max = *(T*)max_data;
100
164
        return Status::OK();
101
164
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
699
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
699
        _min = *(T*)min_data;
99
699
        _max = *(T*)max_data;
100
699
        return Status::OK();
101
699
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
161
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
161
        _min = *(T*)min_data;
99
161
        _max = *(T*)max_data;
100
161
        return Status::OK();
101
161
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
3
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
3
        _min = *(T*)min_data;
99
3
        _max = *(T*)max_data;
100
3
        return Status::OK();
101
3
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE6assignEPvS3_
Line
Count
Source
94
2
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
2
        _min = *(T*)min_data;
99
2
        _max = *(T*)max_data;
100
2
        return Status::OK();
101
2
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
94
87
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
87
        _min = *(T*)min_data;
99
87
        _max = *(T*)max_data;
100
87
        return Status::OK();
101
87
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
94
155
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
155
        _min = *(T*)min_data;
99
155
        _max = *(T*)max_data;
100
155
        return Status::OK();
101
155
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE6assignEPvS3_
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE6assignEPvS8_
Line
Count
Source
94
63
    Status assign(void* min_data, void* max_data) override {
95
63
        if constexpr (IsStringValue) {
96
63
            _min_value_set = true;
97
63
        }
98
63
        _min = *(T*)min_data;
99
63
        _max = *(T*)max_data;
100
63
        return Status::OK();
101
63
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE6assignEPvS4_
Line
Count
Source
94
21
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
21
        _min = *(T*)min_data;
99
21
        _max = *(T*)max_data;
100
21
        return Status::OK();
101
21
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE6assignEPvS4_
Line
Count
Source
94
5
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
5
        _min = *(T*)min_data;
99
5
        _max = *(T*)max_data;
100
5
        return Status::OK();
101
5
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE6assignEPvS3_
Line
Count
Source
94
27
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
27
        _min = *(T*)min_data;
99
27
        _max = *(T*)max_data;
100
27
        return Status::OK();
101
27
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE6assignEPvS7_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
102
103
1.77k
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIhLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
189
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
172
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
851
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
183
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncInLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
17
    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
103
86
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
154
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
68
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
20
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
4
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
29
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIoLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
104
105
private:
106
1.77k
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
1.77k
        if constexpr (NeedMin) {
108
1.77k
            f(filter->mutable_min_val(), _min);
109
1.77k
        }
110
1.77k
        if constexpr (NeedMax) {
111
1.77k
            f(filter->mutable_max_val(), _max);
112
1.77k
        }
113
1.77k
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIhLb1ELb1EE7_set_pbIZNS_13get_convertorIhEEDavEUlPNS_12PColumnValueERKhE_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7_set_pbIZNS_13get_convertorIaEEDavEUlPNS_12PColumnValueERKaE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
189
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
189
        if constexpr (NeedMin) {
108
189
            f(filter->mutable_min_val(), _min);
109
189
        }
110
189
        if constexpr (NeedMax) {
111
189
            f(filter->mutable_max_val(), _max);
112
189
        }
113
189
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7_set_pbIZNS_13get_convertorIsEEDavEUlPNS_12PColumnValueERKsE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
172
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
172
        if constexpr (NeedMin) {
108
172
            f(filter->mutable_min_val(), _min);
109
172
        }
110
172
        if constexpr (NeedMax) {
111
172
            f(filter->mutable_max_val(), _max);
112
172
        }
113
172
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7_set_pbIZNS_13get_convertorIiEEDavEUlPNS_12PColumnValueERKiE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
850
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
850
        if constexpr (NeedMin) {
108
850
            f(filter->mutable_min_val(), _min);
109
850
        }
110
850
        if constexpr (NeedMax) {
111
850
            f(filter->mutable_max_val(), _max);
112
850
        }
113
850
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7_set_pbIZNS_13get_convertorIlEEDavEUlPNS_12PColumnValueERKlE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
183
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
183
        if constexpr (NeedMin) {
108
183
            f(filter->mutable_min_val(), _min);
109
183
        }
110
183
        if constexpr (NeedMax) {
111
183
            f(filter->mutable_max_val(), _max);
112
183
        }
113
183
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncInLb1ELb1EE7_set_pbIZNS_13get_convertorInEEDavEUlPNS_12PColumnValueERKnE_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE7_set_pbIZNS_13get_convertorIfEEDavEUlPNS_12PColumnValueERKfE_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7_set_pbIZNS_13get_convertorIdEEDavEUlPNS_12PColumnValueERKdE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
17
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
17
        if constexpr (NeedMin) {
108
17
            f(filter->mutable_min_val(), _min);
109
17
        }
110
17
        if constexpr (NeedMax) {
111
17
            f(filter->mutable_max_val(), _max);
112
17
        }
113
17
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
86
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
86
        if constexpr (NeedMin) {
108
86
            f(filter->mutable_min_val(), _min);
109
86
        }
110
86
        if constexpr (NeedMax) {
111
86
            f(filter->mutable_max_val(), _max);
112
86
        }
113
86
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
154
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
154
        if constexpr (NeedMin) {
108
154
            f(filter->mutable_min_val(), _min);
109
154
        }
110
154
        if constexpr (NeedMax) {
111
154
            f(filter->mutable_max_val(), _max);
112
154
        }
113
154
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS6_EEDavEUlPNS_12PColumnValueERKS6_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
68
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
68
        if constexpr (NeedMin) {
108
68
            f(filter->mutable_min_val(), _min);
109
68
        }
110
68
        if constexpr (NeedMax) {
111
68
            f(filter->mutable_max_val(), _max);
112
68
        }
113
68
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7_set_pbIZNS_13get_convertorIS2_EEDavEUlPNS_12PColumnValueERKS2_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
20
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
20
        if constexpr (NeedMin) {
108
20
            f(filter->mutable_min_val(), _min);
109
20
        }
110
20
        if constexpr (NeedMax) {
111
20
            f(filter->mutable_max_val(), _max);
112
20
        }
113
20
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7_set_pbIZNS_13get_convertorIS2_EEDavEUlPNS_12PColumnValueERKS2_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
4
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
4
        if constexpr (NeedMin) {
108
4
            f(filter->mutable_min_val(), _min);
109
4
        }
110
4
        if constexpr (NeedMax) {
111
4
            f(filter->mutable_max_val(), _max);
112
4
        }
113
4
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
29
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
29
        if constexpr (NeedMin) {
108
29
            f(filter->mutable_min_val(), _min);
109
29
        }
110
29
        if constexpr (NeedMax) {
111
29
            f(filter->mutable_max_val(), _max);
112
29
        }
113
29
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS5_EEDavEUlPNS_12PColumnValueERKS5_E_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE7_set_pbIZNS_13get_convertorIjEEDavEUlPNS_12PColumnValueERKjE_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIoLb1ELb1EE7_set_pbIZNS_13get_convertorIoEEDavEUlPNS_12PColumnValueERKoE_EEvPNS_13PMinMaxFilterET_
114
115
    void _update_batch_string(const auto& column_string, const uint8_t* __restrict nullmap,
116
122
                              size_t start, size_t size) {
117
683
        for (size_t i = start; i < size; i++) {
118
561
            if (nullmap == nullptr || !nullmap[i]) {
119
535
                if constexpr (NeedMin) {
120
535
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
121
120
                        _min = column_string.get_data_at(i).to_string();
122
120
                        _min_value_set = true;
123
120
                    }
124
535
                }
125
535
                if constexpr (NeedMax) {
126
535
                    if (column_string.get_data_at(i) > StringRef(_max)) {
127
198
                        _max = column_string.get_data_at(i).to_string();
128
198
                    }
129
535
                }
130
535
            }
131
561
        }
132
122
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE20_update_batch_stringINS_9ColumnStrImEEEEvRKT_PKhmm
Line
Count
Source
116
1
                              size_t start, size_t size) {
117
9
        for (size_t i = start; i < size; i++) {
118
8
            if (nullmap == nullptr || !nullmap[i]) {
119
8
                if constexpr (NeedMin) {
120
8
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
121
1
                        _min = column_string.get_data_at(i).to_string();
122
1
                        _min_value_set = true;
123
1
                    }
124
8
                }
125
8
                if constexpr (NeedMax) {
126
8
                    if (column_string.get_data_at(i) > StringRef(_max)) {
127
8
                        _max = column_string.get_data_at(i).to_string();
128
8
                    }
129
8
                }
130
8
            }
131
8
        }
132
1
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE20_update_batch_stringINS_9ColumnStrIjEEEEvRKT_PKhmm
Line
Count
Source
116
121
                              size_t start, size_t size) {
117
674
        for (size_t i = start; i < size; i++) {
118
553
            if (nullmap == nullptr || !nullmap[i]) {
119
527
                if constexpr (NeedMin) {
120
527
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
121
119
                        _min = column_string.get_data_at(i).to_string();
122
119
                        _min_value_set = true;
123
119
                    }
124
527
                }
125
527
                if constexpr (NeedMax) {
126
527
                    if (column_string.get_data_at(i) > StringRef(_max)) {
127
190
                        _max = column_string.get_data_at(i).to_string();
128
190
                    }
129
527
                }
130
527
            }
131
553
        }
132
121
    }
133
134
3.31k
    void _update_batch(const ColumnPtr& column, size_t start) {
135
3.31k
        const auto size = column->size();
136
3.31k
        if constexpr (std::is_same_v<T, std::string>) {
137
29
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
1
                                     size);
140
28
            } else {
141
28
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
28
                                     size);
143
28
            }
144
3.28k
        } else {
145
3.28k
            const T* data = (T*)column->get_raw_data().data;
146
861k
            for (size_t i = start; i < size; i++) {
147
858k
                if constexpr (NeedMin) {
148
858k
                    _min = std::min(_min, *(data + i));
149
858k
                }
150
858k
                if constexpr (NeedMax) {
151
858k
                    _max = std::max(_max, *(data + i));
152
858k
                }
153
858k
            }
154
3.28k
        }
155
3.31k
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIhLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
544
    void _update_batch(const ColumnPtr& column, size_t start) {
135
544
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
544
        } else {
145
544
            const T* data = (T*)column->get_raw_data().data;
146
1.63k
            for (size_t i = start; i < size; i++) {
147
1.09k
                if constexpr (NeedMin) {
148
1.09k
                    _min = std::min(_min, *(data + i));
149
1.09k
                }
150
1.09k
                if constexpr (NeedMax) {
151
1.09k
                    _max = std::max(_max, *(data + i));
152
1.09k
                }
153
1.09k
            }
154
544
        }
155
544
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
2.03k
    void _update_batch(const ColumnPtr& column, size_t start) {
135
2.03k
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
2.03k
        } else {
145
2.03k
            const T* data = (T*)column->get_raw_data().data;
146
857k
            for (size_t i = start; i < size; i++) {
147
855k
                if constexpr (NeedMin) {
148
855k
                    _min = std::min(_min, *(data + i));
149
855k
                }
150
855k
                if constexpr (NeedMax) {
151
855k
                    _max = std::max(_max, *(data + i));
152
855k
                }
153
855k
            }
154
2.03k
        }
155
2.03k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
348
    void _update_batch(const ColumnPtr& column, size_t start) {
135
348
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
348
        } else {
145
348
            const T* data = (T*)column->get_raw_data().data;
146
1.25k
            for (size_t i = start; i < size; i++) {
147
908
                if constexpr (NeedMin) {
148
908
                    _min = std::min(_min, *(data + i));
149
908
                }
150
908
                if constexpr (NeedMax) {
151
908
                    _max = std::max(_max, *(data + i));
152
908
                }
153
908
            }
154
348
        }
155
348
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
101
    void _update_batch(const ColumnPtr& column, size_t start) {
135
101
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
101
        } else {
145
101
            const T* data = (T*)column->get_raw_data().data;
146
352
            for (size_t i = start; i < size; i++) {
147
251
                if constexpr (NeedMin) {
148
251
                    _min = std::min(_min, *(data + i));
149
251
                }
150
251
                if constexpr (NeedMax) {
151
251
                    _max = std::max(_max, *(data + i));
152
251
                }
153
251
            }
154
101
        }
155
101
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
17
    void _update_batch(const ColumnPtr& column, size_t start) {
135
17
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
17
        } else {
145
17
            const T* data = (T*)column->get_raw_data().data;
146
36
            for (size_t i = start; i < size; i++) {
147
19
                if constexpr (NeedMin) {
148
19
                    _min = std::min(_min, *(data + i));
149
19
                }
150
19
                if constexpr (NeedMax) {
151
19
                    _max = std::max(_max, *(data + i));
152
19
                }
153
19
            }
154
17
        }
155
17
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
134
2
    void _update_batch(const ColumnPtr& column, size_t start) {
135
2
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
2
        } else {
145
2
            const T* data = (T*)column->get_raw_data().data;
146
8
            for (size_t i = start; i < size; i++) {
147
6
                if constexpr (NeedMin) {
148
6
                    _min = std::min(_min, *(data + i));
149
6
                }
150
6
                if constexpr (NeedMax) {
151
6
                    _max = std::max(_max, *(data + i));
152
6
                }
153
6
            }
154
2
        }
155
2
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
134
188
    void _update_batch(const ColumnPtr& column, size_t start) {
135
188
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
188
        } else {
145
188
            const T* data = (T*)column->get_raw_data().data;
146
569
            for (size_t i = start; i < size; i++) {
147
381
                if constexpr (NeedMin) {
148
381
                    _min = std::min(_min, *(data + i));
149
381
                }
150
381
                if constexpr (NeedMax) {
151
381
                    _max = std::max(_max, *(data + i));
152
381
                }
153
381
            }
154
188
        }
155
188
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
134
23
    void _update_batch(const ColumnPtr& column, size_t start) {
135
23
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
23
        } else {
145
23
            const T* data = (T*)column->get_raw_data().data;
146
94
            for (size_t i = start; i < size; i++) {
147
71
                if constexpr (NeedMin) {
148
71
                    _min = std::min(_min, *(data + i));
149
71
                }
150
71
                if constexpr (NeedMax) {
151
71
                    _max = std::max(_max, *(data + i));
152
71
                }
153
71
            }
154
23
        }
155
23
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
134
29
    void _update_batch(const ColumnPtr& column, size_t start) {
135
29
        const auto size = column->size();
136
29
        if constexpr (std::is_same_v<T, std::string>) {
137
29
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
1
                                     size);
140
28
            } else {
141
28
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
28
                                     size);
143
28
            }
144
        } else {
145
            const T* data = (T*)column->get_raw_data().data;
146
            for (size_t i = start; i < size; i++) {
147
                if constexpr (NeedMin) {
148
                    _min = std::min(_min, *(data + i));
149
                }
150
                if constexpr (NeedMax) {
151
                    _max = std::max(_max, *(data + i));
152
                }
153
            }
154
        }
155
29
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
134
8
    void _update_batch(const ColumnPtr& column, size_t start) {
135
8
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
8
        } else {
145
8
            const T* data = (T*)column->get_raw_data().data;
146
26
            for (size_t i = start; i < size; i++) {
147
18
                if constexpr (NeedMin) {
148
18
                    _min = std::min(_min, *(data + i));
149
18
                }
150
18
                if constexpr (NeedMax) {
151
18
                    _max = std::max(_max, *(data + i));
152
18
                }
153
18
            }
154
8
        }
155
8
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
134
10
    void _update_batch(const ColumnPtr& column, size_t start) {
135
10
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
10
        } else {
145
10
            const T* data = (T*)column->get_raw_data().data;
146
31
            for (size_t i = start; i < size; i++) {
147
21
                if constexpr (NeedMin) {
148
21
                    _min = std::min(_min, *(data + i));
149
21
                }
150
21
                if constexpr (NeedMax) {
151
21
                    _max = std::max(_max, *(data + i));
152
21
                }
153
21
            }
154
10
        }
155
10
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
156
157
4.54k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
4.54k
        const auto size = column->size();
159
4.54k
        if constexpr (std::is_same_v<T, std::string>) {
160
93
            if (column->is_column_string64()) {
161
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
0
                                     start, size);
163
93
            } else {
164
93
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
93
                                     start, size);
166
93
            }
167
4.45k
        } else {
168
4.45k
            const T* data = (T*)column->get_raw_data().data;
169
2.29M
            for (size_t i = start; i < size; i++) {
170
2.28M
                if (!nullmap[i]) {
171
2.26M
                    if constexpr (NeedMin) {
172
2.26M
                        _min = std::min(_min, *(data + i));
173
2.26M
                    }
174
2.26M
                    if constexpr (NeedMax) {
175
2.26M
                        _max = std::max(_max, *(data + i));
176
2.26M
                    }
177
2.26M
                }
178
2.28M
            }
179
4.45k
        }
180
4.54k
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIhLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
8
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
8
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
8
        } else {
168
8
            const T* data = (T*)column->get_raw_data().data;
169
32
            for (size_t i = start; i < size; i++) {
170
24
                if (!nullmap[i]) {
171
24
                    if constexpr (NeedMin) {
172
24
                        _min = std::min(_min, *(data + i));
173
24
                    }
174
24
                    if constexpr (NeedMax) {
175
24
                        _max = std::max(_max, *(data + i));
176
24
                    }
177
24
                }
178
24
            }
179
8
        }
180
8
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
490
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
490
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
490
        } else {
168
490
            const T* data = (T*)column->get_raw_data().data;
169
1.33k
            for (size_t i = start; i < size; i++) {
170
846
                if (!nullmap[i]) {
171
807
                    if constexpr (NeedMin) {
172
807
                        _min = std::min(_min, *(data + i));
173
807
                    }
174
807
                    if constexpr (NeedMax) {
175
807
                        _max = std::max(_max, *(data + i));
176
807
                    }
177
807
                }
178
846
            }
179
490
        }
180
490
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
197
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
197
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
197
        } else {
168
197
            const T* data = (T*)column->get_raw_data().data;
169
993
            for (size_t i = start; i < size; i++) {
170
796
                if (!nullmap[i]) {
171
698
                    if constexpr (NeedMin) {
172
698
                        _min = std::min(_min, *(data + i));
173
698
                    }
174
698
                    if constexpr (NeedMax) {
175
698
                        _max = std::max(_max, *(data + i));
176
698
                    }
177
698
                }
178
796
            }
179
197
        }
180
197
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
2.41k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
2.41k
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
2.41k
        } else {
168
2.41k
            const T* data = (T*)column->get_raw_data().data;
169
2.08M
            for (size_t i = start; i < size; i++) {
170
2.08M
                if (!nullmap[i]) {
171
2.06M
                    if constexpr (NeedMin) {
172
2.06M
                        _min = std::min(_min, *(data + i));
173
2.06M
                    }
174
2.06M
                    if constexpr (NeedMax) {
175
2.06M
                        _max = std::max(_max, *(data + i));
176
2.06M
                    }
177
2.06M
                }
178
2.08M
            }
179
2.41k
        }
180
2.41k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
810
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
810
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
810
        } else {
168
810
            const T* data = (T*)column->get_raw_data().data;
169
204k
            for (size_t i = start; i < size; i++) {
170
203k
                if (!nullmap[i]) {
171
203k
                    if constexpr (NeedMin) {
172
203k
                        _min = std::min(_min, *(data + i));
173
203k
                    }
174
203k
                    if constexpr (NeedMax) {
175
203k
                        _max = std::max(_max, *(data + i));
176
203k
                    }
177
203k
                }
178
203k
            }
179
810
        }
180
810
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
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
157
1
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
1
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
1
        } else {
168
1
            const T* data = (T*)column->get_raw_data().data;
169
5
            for (size_t i = start; i < size; i++) {
170
4
                if (!nullmap[i]) {
171
4
                    if constexpr (NeedMin) {
172
4
                        _min = std::min(_min, *(data + i));
173
4
                    }
174
4
                    if constexpr (NeedMax) {
175
4
                        _max = std::max(_max, *(data + i));
176
4
                    }
177
4
                }
178
4
            }
179
1
        }
180
1
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
12
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
12
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
12
        } else {
168
12
            const T* data = (T*)column->get_raw_data().data;
169
78
            for (size_t i = start; i < size; i++) {
170
66
                if (!nullmap[i]) {
171
66
                    if constexpr (NeedMin) {
172
66
                        _min = std::min(_min, *(data + i));
173
66
                    }
174
66
                    if constexpr (NeedMax) {
175
66
                        _max = std::max(_max, *(data + i));
176
66
                    }
177
66
                }
178
66
            }
179
12
        }
180
12
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
47
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
47
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
47
        } else {
168
47
            const T* data = (T*)column->get_raw_data().data;
169
228
            for (size_t i = start; i < size; i++) {
170
181
                if (!nullmap[i]) {
171
178
                    if constexpr (NeedMin) {
172
178
                        _min = std::min(_min, *(data + i));
173
178
                    }
174
178
                    if constexpr (NeedMax) {
175
178
                        _max = std::max(_max, *(data + i));
176
178
                    }
177
178
                }
178
181
            }
179
47
        }
180
47
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
323
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
323
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
323
        } else {
168
323
            const T* data = (T*)column->get_raw_data().data;
169
720
            for (size_t i = start; i < size; i++) {
170
397
                if (!nullmap[i]) {
171
394
                    if constexpr (NeedMin) {
172
394
                        _min = std::min(_min, *(data + i));
173
394
                    }
174
394
                    if constexpr (NeedMax) {
175
394
                        _max = std::max(_max, *(data + i));
176
394
                    }
177
394
                }
178
397
            }
179
323
        }
180
323
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
93
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
93
        const auto size = column->size();
159
93
        if constexpr (std::is_same_v<T, std::string>) {
160
93
            if (column->is_column_string64()) {
161
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
0
                                     start, size);
163
93
            } else {
164
93
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
93
                                     start, size);
166
93
            }
167
        } else {
168
            const T* data = (T*)column->get_raw_data().data;
169
            for (size_t i = start; i < size; i++) {
170
                if (!nullmap[i]) {
171
                    if constexpr (NeedMin) {
172
                        _min = std::min(_min, *(data + i));
173
                    }
174
                    if constexpr (NeedMax) {
175
                        _max = std::max(_max, *(data + i));
176
                    }
177
                }
178
            }
179
        }
180
93
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
42
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
42
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
42
        } else {
168
42
            const T* data = (T*)column->get_raw_data().data;
169
116
            for (size_t i = start; i < size; i++) {
170
74
                if (!nullmap[i]) {
171
65
                    if constexpr (NeedMin) {
172
65
                        _min = std::min(_min, *(data + i));
173
65
                    }
174
65
                    if constexpr (NeedMax) {
175
65
                        _max = std::max(_max, *(data + i));
176
65
                    }
177
65
                }
178
74
            }
179
42
        }
180
42
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
1
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
1
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
1
        } else {
168
1
            const T* data = (T*)column->get_raw_data().data;
169
6
            for (size_t i = start; i < size; i++) {
170
5
                if (!nullmap[i]) {
171
4
                    if constexpr (NeedMin) {
172
4
                        _min = std::min(_min, *(data + i));
173
4
                    }
174
4
                    if constexpr (NeedMax) {
175
4
                        _max = std::max(_max, *(data + i));
176
4
                    }
177
4
                }
178
5
            }
179
1
        }
180
1
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
59
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
59
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
59
        } else {
168
59
            const T* data = (T*)column->get_raw_data().data;
169
196
            for (size_t i = start; i < size; i++) {
170
137
                if (!nullmap[i]) {
171
78
                    if constexpr (NeedMin) {
172
78
                        _min = std::min(_min, *(data + i));
173
78
                    }
174
78
                    if constexpr (NeedMax) {
175
78
                        _max = std::max(_max, *(data + i));
176
78
                    }
177
78
                }
178
137
            }
179
59
        }
180
59
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
40
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
40
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
40
        } else {
168
40
            const T* data = (T*)column->get_raw_data().data;
169
1.13k
            for (size_t i = start; i < size; i++) {
170
1.09k
                if (!nullmap[i]) {
171
1.09k
                    if constexpr (NeedMin) {
172
1.09k
                        _min = std::min(_min, *(data + i));
173
1.09k
                    }
174
1.09k
                    if constexpr (NeedMax) {
175
1.09k
                        _max = std::max(_max, *(data + i));
176
1.09k
                    }
177
1.09k
                }
178
1.09k
            }
179
40
        }
180
40
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
7
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
7
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
7
        } else {
168
7
            const T* data = (T*)column->get_raw_data().data;
169
707
            for (size_t i = start; i < size; i++) {
170
700
                if (!nullmap[i]) {
171
637
                    if constexpr (NeedMin) {
172
637
                        _min = std::min(_min, *(data + i));
173
637
                    }
174
637
                    if constexpr (NeedMax) {
175
637
                        _max = std::max(_max, *(data + i));
176
637
                    }
177
637
                }
178
700
            }
179
7
        }
180
7
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
181
182
    T _max = type_limit<T>::min();
183
    T _min = type_limit<T>::max();
184
185
    bool _min_value_set = false;
186
};
187
188
template <class T>
189
using MinNumFunc = MinMaxNumFunc<T, false, true>;
190
191
template <class T>
192
using MaxNumFunc = MinMaxNumFunc<T, true, false>;
193
194
} // namespace doris