Coverage Report

Created: 2026-08-03 05:31

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
22.8k
    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
22.9k
    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
22.8k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIhLb1ELb1EEC2Eb
Line
Count
Source
49
232
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EEC2Eb
Line
Count
Source
49
22
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIaLb1ELb1EEC2Eb
Line
Count
Source
49
271
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIsLb1ELb1EEC2Eb
Line
Count
Source
49
220
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIiLb1ELb1EEC2Eb
Line
Count
Source
49
13.3k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIlLb1ELb1EEC2Eb
Line
Count
Source
49
2.67k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncInLb1ELb1EEC2Eb
Line
Count
Source
49
168
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIfLb1ELb1EEC2Eb
Line
Count
Source
49
290
    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
34
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
49
755
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
49
3.08k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EEC2Eb
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EEC2Eb
Line
Count
Source
49
1.02k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EEC2Eb
Line
Count
Source
49
6
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EEC2Eb
Line
Count
Source
49
515
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EEC2Eb
Line
Count
Source
49
166
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EEC2Eb
Line
Count
Source
49
28
    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
14
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
50
1.02k
    ~MinMaxNumFunc() override = default;
51
52
5.67k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
5.67k
        if (is_column_nullable(*column)) {
54
3.66k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
3.66k
            const auto& col = nullable->get_nested_column_ptr();
56
3.66k
            const auto& nullmap = nullable->get_null_map_data();
57
3.66k
            if (nullable->has_null()) {
58
2.71k
                _update_batch(col, nullmap, start);
59
2.71k
                _contain_null = true;
60
2.71k
            } else {
61
956
                _update_batch(col, start);
62
956
            }
63
3.66k
        } else {
64
2.00k
            _update_batch(column, start);
65
2.00k
        }
66
5.67k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
27
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
27
        if (is_column_nullable(*column)) {
54
27
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
27
            const auto& col = nullable->get_nested_column_ptr();
56
27
            const auto& nullmap = nullable->get_null_map_data();
57
27
            if (nullable->has_null()) {
58
27
                _update_batch(col, nullmap, start);
59
27
                _contain_null = true;
60
27
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
27
        } else {
64
0
            _update_batch(column, start);
65
0
        }
66
27
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
3
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
3
        if (is_column_nullable(*column)) {
54
2
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
2
            const auto& col = nullable->get_nested_column_ptr();
56
2
            const auto& nullmap = nullable->get_null_map_data();
57
2
            if (nullable->has_null()) {
58
2
                _update_batch(col, nullmap, start);
59
2
                _contain_null = true;
60
2
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
2
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
3
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
125
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
125
        if (is_column_nullable(*column)) {
54
114
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
114
            const auto& col = nullable->get_nested_column_ptr();
56
114
            const auto& nullmap = nullable->get_null_map_data();
57
114
            if (nullable->has_null()) {
58
85
                _update_batch(col, nullmap, start);
59
85
                _contain_null = true;
60
85
            } else {
61
29
                _update_batch(col, start);
62
29
            }
63
114
        } else {
64
11
            _update_batch(column, start);
65
11
        }
66
125
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
61
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
61
        if (is_column_nullable(*column)) {
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
60
                _update_batch(col, nullmap, start);
59
60
                _contain_null = true;
60
60
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
60
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
61
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
3.63k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
3.63k
        if (is_column_nullable(*column)) {
54
2.01k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
2.01k
            const auto& col = nullable->get_nested_column_ptr();
56
2.01k
            const auto& nullmap = nullable->get_null_map_data();
57
2.01k
            if (nullable->has_null()) {
58
1.24k
                _update_batch(col, nullmap, start);
59
1.24k
                _contain_null = true;
60
1.24k
            } else {
61
776
                _update_batch(col, start);
62
776
            }
63
2.01k
        } else {
64
1.62k
            _update_batch(column, start);
65
1.62k
        }
66
3.63k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
710
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
710
        if (is_column_nullable(*column)) {
54
650
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
650
            const auto& col = nullable->get_nested_column_ptr();
56
650
            const auto& nullmap = nullable->get_null_map_data();
57
650
            if (nullable->has_null()) {
58
607
                _update_batch(col, nullmap, start);
59
607
                _contain_null = true;
60
607
            } else {
61
43
                _update_batch(col, start);
62
43
            }
63
650
        } else {
64
60
            _update_batch(column, start);
65
60
        }
66
710
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
72
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
72
        if (is_column_nullable(*column)) {
54
4
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
4
            const auto& col = nullable->get_nested_column_ptr();
56
4
            const auto& nullmap = nullable->get_null_map_data();
57
4
            if (nullable->has_null()) {
58
4
                _update_batch(col, nullmap, start);
59
4
                _contain_null = true;
60
4
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
68
        } else {
64
68
            _update_batch(column, start);
65
68
        }
66
72
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
33
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
33
        if (is_column_nullable(*column)) {
54
32
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
32
            const auto& col = nullable->get_nested_column_ptr();
56
32
            const auto& nullmap = nullable->get_null_map_data();
57
32
            if (nullable->has_null()) {
58
32
                _update_batch(col, nullmap, start);
59
32
                _contain_null = true;
60
32
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
32
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
33
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
29
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
29
        if (is_column_nullable(*column)) {
54
28
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
28
            const auto& col = nullable->get_nested_column_ptr();
56
28
            const auto& nullmap = nullable->get_null_map_data();
57
28
            if (nullable->has_null()) {
58
23
                _update_batch(col, nullmap, start);
59
23
                _contain_null = true;
60
23
            } else {
61
5
                _update_batch(col, start);
62
5
            }
63
28
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
29
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
13
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
13
        if (is_column_nullable(*column)) {
54
11
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
11
            const auto& col = nullable->get_nested_column_ptr();
56
11
            const auto& nullmap = nullable->get_null_map_data();
57
11
            if (nullable->has_null()) {
58
11
                _update_batch(col, nullmap, start);
59
11
                _contain_null = true;
60
11
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
11
        } else {
64
2
            _update_batch(column, start);
65
2
        }
66
13
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
52
210
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
210
        if (is_column_nullable(*column)) {
54
47
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
47
            const auto& col = nullable->get_nested_column_ptr();
56
47
            const auto& nullmap = nullable->get_null_map_data();
57
47
            if (nullable->has_null()) {
58
45
                _update_batch(col, nullmap, start);
59
45
                _contain_null = true;
60
45
            } else {
61
2
                _update_batch(col, start);
62
2
            }
63
163
        } else {
64
163
            _update_batch(column, start);
65
163
        }
66
210
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
52
350
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
350
        if (is_column_nullable(*column)) {
54
338
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
338
            const auto& col = nullable->get_nested_column_ptr();
56
338
            const auto& nullmap = nullable->get_null_map_data();
57
338
            if (nullable->has_null()) {
58
335
                _update_batch(col, nullmap, start);
59
335
                _contain_null = true;
60
335
            } else {
61
3
                _update_batch(col, start);
62
3
            }
63
338
        } else {
64
12
            _update_batch(column, start);
65
12
        }
66
350
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
52
259
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
259
        if (is_column_nullable(*column)) {
54
217
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
217
            const auto& col = nullable->get_nested_column_ptr();
56
217
            const auto& nullmap = nullable->get_null_map_data();
57
217
            if (nullable->has_null()) {
58
151
                _update_batch(col, nullmap, start);
59
151
                _contain_null = true;
60
151
            } else {
61
66
                _update_batch(col, start);
62
66
            }
63
217
        } else {
64
42
            _update_batch(column, start);
65
42
        }
66
259
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
52
2
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
2
        if (is_column_nullable(*column)) {
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
1
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
2
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
52
71
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
71
        if (is_column_nullable(*column)) {
54
63
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
63
            const auto& col = nullable->get_nested_column_ptr();
56
63
            const auto& nullmap = nullable->get_null_map_data();
57
63
            if (nullable->has_null()) {
58
63
                _update_batch(col, nullmap, start);
59
63
                _contain_null = true;
60
63
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
63
        } else {
64
8
            _update_batch(column, start);
65
8
        }
66
71
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
63
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
63
        if (is_column_nullable(*column)) {
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
17
                _update_batch(col, nullmap, start);
59
17
                _contain_null = true;
60
32
            } else {
61
32
                _update_batch(col, start);
62
32
            }
63
49
        } else {
64
14
            _update_batch(column, start);
65
14
        }
66
63
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EEm
Line
Count
Source
52
5
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
5
        if (is_column_nullable(*column)) {
54
4
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
4
            const auto& col = nullable->get_nested_column_ptr();
56
4
            const auto& nullmap = nullable->get_null_map_data();
57
4
            if (nullable->has_null()) {
58
4
                _update_batch(col, nullmap, start);
59
4
                _contain_null = true;
60
4
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
4
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
5
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
4
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
4
        if (is_column_nullable(*column)) {
54
3
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
3
            const auto& col = nullable->get_nested_column_ptr();
56
3
            const auto& nullmap = nullable->get_null_map_data();
57
3
            if (nullable->has_null()) {
58
3
                _update_batch(col, nullmap, start);
59
3
                _contain_null = true;
60
3
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
3
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
4
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
3
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
3
        if (is_column_nullable(*column)) {
54
2
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
2
            const auto& col = nullable->get_nested_column_ptr();
56
2
            const auto& nullmap = nullable->get_null_map_data();
57
2
            if (nullable->has_null()) {
58
2
                _update_batch(col, nullmap, start);
59
2
                _contain_null = true;
60
2
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
2
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
3
    }
67
68
14.0k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
14.0k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
14.0k
        if constexpr (NeedMin) {
71
14.0k
            if constexpr (IsStringValue) {
72
717
                if (other_minmax->_min < _min || !_min_value_set) {
73
17
                    _min = other_minmax->_min;
74
17
                    _min_value_set = true;
75
17
                }
76
13.3k
            } else if (other_minmax->_min < _min) {
77
849
                _min = other_minmax->_min;
78
849
            }
79
14.0k
        }
80
14.0k
        if constexpr (NeedMax) {
81
14.0k
            if (other_minmax->_max > _max) {
82
853
                _max = other_minmax->_max;
83
853
            }
84
14.0k
        }
85
86
14.0k
        _contain_null |= minmax_func->contain_null();
87
14.0k
        return Status::OK();
88
14.0k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
173
    Status merge(MinMaxFuncBase* minmax_func) override {
69
173
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
173
        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
173
            } else if (other_minmax->_min < _min) {
77
1
                _min = other_minmax->_min;
78
1
            }
79
173
        }
80
173
        if constexpr (NeedMax) {
81
173
            if (other_minmax->_max > _max) {
82
1
                _max = other_minmax->_max;
83
1
            }
84
173
        }
85
86
173
        _contain_null |= minmax_func->contain_null();
87
173
        return Status::OK();
88
173
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
43
    Status merge(MinMaxFuncBase* minmax_func) override {
69
43
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
43
        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
43
            } else if (other_minmax->_min < _min) {
77
6
                _min = other_minmax->_min;
78
6
            }
79
43
        }
80
43
        if constexpr (NeedMax) {
81
43
            if (other_minmax->_max > _max) {
82
7
                _max = other_minmax->_max;
83
7
            }
84
43
        }
85
86
43
        _contain_null |= minmax_func->contain_null();
87
43
        return Status::OK();
88
43
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
80
    Status merge(MinMaxFuncBase* minmax_func) override {
69
80
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
80
        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
80
            } else if (other_minmax->_min < _min) {
77
4
                _min = other_minmax->_min;
78
4
            }
79
80
        }
80
80
        if constexpr (NeedMax) {
81
80
            if (other_minmax->_max > _max) {
82
4
                _max = other_minmax->_max;
83
4
            }
84
80
        }
85
86
80
        _contain_null |= minmax_func->contain_null();
87
80
        return Status::OK();
88
80
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
8.12k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
8.12k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
8.12k
        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
8.12k
            } else if (other_minmax->_min < _min) {
77
603
                _min = other_minmax->_min;
78
603
            }
79
8.12k
        }
80
8.12k
        if constexpr (NeedMax) {
81
8.12k
            if (other_minmax->_max > _max) {
82
571
                _max = other_minmax->_max;
83
571
            }
84
8.12k
        }
85
86
8.12k
        _contain_null |= minmax_func->contain_null();
87
8.12k
        return Status::OK();
88
8.12k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
1.12k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
1.12k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
1.12k
        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.12k
            } else if (other_minmax->_min < _min) {
77
93
                _min = other_minmax->_min;
78
93
            }
79
1.12k
        }
80
1.12k
        if constexpr (NeedMax) {
81
1.12k
            if (other_minmax->_max > _max) {
82
89
                _max = other_minmax->_max;
83
89
            }
84
1.12k
        }
85
86
1.12k
        _contain_null |= minmax_func->contain_null();
87
1.12k
        return Status::OK();
88
1.12k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
92
    Status merge(MinMaxFuncBase* minmax_func) override {
69
92
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
92
        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
92
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
92
        }
80
92
        if constexpr (NeedMax) {
81
92
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
92
        }
85
86
92
        _contain_null |= minmax_func->contain_null();
87
92
        return Status::OK();
88
92
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
224
    Status merge(MinMaxFuncBase* minmax_func) override {
69
224
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
224
        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
224
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
224
        }
80
224
        if constexpr (NeedMax) {
81
224
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
224
        }
85
86
224
        _contain_null |= minmax_func->contain_null();
87
224
        return Status::OK();
88
224
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
21
    Status merge(MinMaxFuncBase* minmax_func) override {
69
21
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
21
        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
21
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
21
        }
80
21
        if constexpr (NeedMax) {
81
21
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
21
        }
85
86
21
        _contain_null |= minmax_func->contain_null();
87
21
        return Status::OK();
88
21
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
4
    Status merge(MinMaxFuncBase* minmax_func) override {
69
4
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
4
        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
4
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
4
        }
80
4
        if constexpr (NeedMax) {
81
4
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
4
        }
85
86
4
        _contain_null |= minmax_func->contain_null();
87
4
        return Status::OK();
88
4
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
453
    Status merge(MinMaxFuncBase* minmax_func) override {
69
453
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
453
        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
453
            } else if (other_minmax->_min < _min) {
77
32
                _min = other_minmax->_min;
78
32
            }
79
453
        }
80
453
        if constexpr (NeedMax) {
81
453
            if (other_minmax->_max > _max) {
82
34
                _max = other_minmax->_max;
83
34
            }
84
453
        }
85
86
453
        _contain_null |= minmax_func->contain_null();
87
453
        return Status::OK();
88
453
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
2.60k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
2.60k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
2.60k
        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.60k
            } else if (other_minmax->_min < _min) {
77
101
                _min = other_minmax->_min;
78
101
            }
79
2.60k
        }
80
2.60k
        if constexpr (NeedMax) {
81
2.60k
            if (other_minmax->_max > _max) {
82
129
                _max = other_minmax->_max;
83
129
            }
84
2.60k
        }
85
86
2.60k
        _contain_null |= minmax_func->contain_null();
87
2.60k
        return Status::OK();
88
2.60k
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
717
    Status merge(MinMaxFuncBase* minmax_func) override {
69
717
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
717
        if constexpr (NeedMin) {
71
717
            if constexpr (IsStringValue) {
72
717
                if (other_minmax->_min < _min || !_min_value_set) {
73
17
                    _min = other_minmax->_min;
74
17
                    _min_value_set = true;
75
17
                }
76
            } else if (other_minmax->_min < _min) {
77
                _min = other_minmax->_min;
78
            }
79
717
        }
80
717
        if constexpr (NeedMax) {
81
717
            if (other_minmax->_max > _max) {
82
13
                _max = other_minmax->_max;
83
13
            }
84
717
        }
85
86
717
        _contain_null |= minmax_func->contain_null();
87
717
        return Status::OK();
88
717
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
287
    Status merge(MinMaxFuncBase* minmax_func) override {
69
287
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
287
        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
287
            } else if (other_minmax->_min < _min) {
77
2
                _min = other_minmax->_min;
78
2
            }
79
287
        }
80
287
        if constexpr (NeedMax) {
81
287
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
287
        }
85
86
287
        _contain_null |= minmax_func->contain_null();
87
287
        return Status::OK();
88
287
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
58
    Status merge(MinMaxFuncBase* minmax_func) override {
69
58
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
58
        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
58
            } else if (other_minmax->_min < _min) {
77
7
                _min = other_minmax->_min;
78
7
            }
79
58
        }
80
58
        if constexpr (NeedMax) {
81
58
            if (other_minmax->_max > _max) {
82
5
                _max = other_minmax->_max;
83
5
            }
84
58
        }
85
86
58
        _contain_null |= minmax_func->contain_null();
87
58
        return Status::OK();
88
58
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
9
    Status merge(MinMaxFuncBase* minmax_func) override {
69
9
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
9
        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
9
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
9
        }
80
9
        if constexpr (NeedMax) {
81
9
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
9
        }
85
86
9
        _contain_null |= minmax_func->contain_null();
87
9
        return Status::OK();
88
9
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
8
    Status merge(MinMaxFuncBase* minmax_func) override {
69
8
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
8
        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
8
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
8
        }
80
8
        if constexpr (NeedMax) {
81
8
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
8
        }
85
86
8
        _contain_null |= minmax_func->contain_null();
87
8
        return Status::OK();
88
8
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
8
    Status merge(MinMaxFuncBase* minmax_func) override {
69
8
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
8
        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
8
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
8
        }
80
8
        if constexpr (NeedMax) {
81
8
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
8
        }
85
86
8
        _contain_null |= minmax_func->contain_null();
87
8
        return Status::OK();
88
8
    }
89
90
4.26k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_maxEv
Line
Count
Source
90
31
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_maxEv
Line
Count
Source
90
12
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_maxEv
Line
Count
Source
90
108
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_maxEv
Line
Count
Source
90
73
    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
776
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_maxEv
Line
Count
Source
90
45
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE7get_maxEv
Line
Count
Source
90
34
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7get_maxEv
Line
Count
Source
90
9
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_maxEv
Line
Count
Source
90
19
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
140
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
131
    void* get_max() override { return &_max; }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_maxEv
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
164
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_maxEv
Line
Count
Source
90
4
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_maxEv
Line
Count
Source
90
117
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_maxEv
Line
Count
Source
90
64
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
15
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_maxEv
Line
Count
Source
90
5
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_maxEv
Line
Count
Source
90
4
    void* get_max() override { return &_max; }
91
92
4.25k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_minEv
Line
Count
Source
92
31
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_minEv
Line
Count
Source
92
11
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_minEv
Line
Count
Source
92
100
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_minEv
Line
Count
Source
92
73
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_minEv
Line
Count
Source
92
2.51k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_minEv
Line
Count
Source
92
780
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_minEv
Line
Count
Source
92
45
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE7get_minEv
Line
Count
Source
92
34
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7get_minEv
Line
Count
Source
92
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_minEv
Line
Count
Source
92
19
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
92
140
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
92
131
    void* get_min() override { return &_min; }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_minEv
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_minEv
Line
Count
Source
92
164
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_minEv
Line
Count
Source
92
4
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_minEv
Line
Count
Source
92
117
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_minEv
Line
Count
Source
92
65
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_minEv
Line
Count
Source
92
15
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_minEv
Line
Count
Source
92
5
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_minEv
Line
Count
Source
92
4
    void* get_min() override { return &_min; }
93
94
1.25k
    Status assign(void* min_data, void* max_data) override {
95
1.25k
        if constexpr (IsStringValue) {
96
31
            _min_value_set = true;
97
31
        }
98
1.25k
        _min = *(T*)min_data;
99
1.25k
        _max = *(T*)max_data;
100
1.25k
        return Status::OK();
101
1.25k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE6assignEPvS2_
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_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
29
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
29
        _min = *(T*)min_data;
99
29
        _max = *(T*)max_data;
100
29
        return Status::OK();
101
29
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
33
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
33
        _min = *(T*)min_data;
99
33
        _max = *(T*)max_data;
100
33
        return Status::OK();
101
33
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
829
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
829
        _min = *(T*)min_data;
99
829
        _max = *(T*)max_data;
100
829
        return Status::OK();
101
829
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
139
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
139
        _min = *(T*)min_data;
99
139
        _max = *(T*)max_data;
100
139
        return Status::OK();
101
139
    }
_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
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_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
47
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
47
        _min = *(T*)min_data;
99
47
        _max = *(T*)max_data;
100
47
        return Status::OK();
101
47
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
94
109
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
109
        _min = *(T*)min_data;
99
109
        _max = *(T*)max_data;
100
109
        return Status::OK();
101
109
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE6assignEPvS3_
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE6assignEPvS8_
Line
Count
Source
94
31
    Status assign(void* min_data, void* max_data) override {
95
31
        if constexpr (IsStringValue) {
96
31
            _min_value_set = true;
97
31
        }
98
31
        _min = *(T*)min_data;
99
31
        _max = *(T*)max_data;
100
31
        return Status::OK();
101
31
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE6assignEPvS4_
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_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
15
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
15
        _min = *(T*)min_data;
99
15
        _max = *(T*)max_data;
100
15
        return Status::OK();
101
15
    }
_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.40k
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
4
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
38
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
42
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
956
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
150
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncInLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIdLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
46
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
108
    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
31
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
4
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
23
    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.40k
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
1.40k
        if constexpr (NeedMin) {
108
1.40k
            f(filter->mutable_min_val(), _min);
109
1.40k
        }
110
1.40k
        if constexpr (NeedMax) {
111
1.40k
            f(filter->mutable_max_val(), _max);
112
1.40k
        }
113
1.40k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7_set_pbIZNS_13get_convertorIhEEDavEUlPNS_12PColumnValueERKhE_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
    }
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
38
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
38
        if constexpr (NeedMin) {
108
38
            f(filter->mutable_min_val(), _min);
109
38
        }
110
38
        if constexpr (NeedMax) {
111
38
            f(filter->mutable_max_val(), _max);
112
38
        }
113
38
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7_set_pbIZNS_13get_convertorIsEEDavEUlPNS_12PColumnValueERKsE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
42
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
42
        if constexpr (NeedMin) {
108
42
            f(filter->mutable_min_val(), _min);
109
42
        }
110
42
        if constexpr (NeedMax) {
111
42
            f(filter->mutable_max_val(), _max);
112
42
        }
113
42
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7_set_pbIZNS_13get_convertorIiEEDavEUlPNS_12PColumnValueERKiE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
956
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
956
        if constexpr (NeedMin) {
108
956
            f(filter->mutable_min_val(), _min);
109
956
        }
110
956
        if constexpr (NeedMax) {
111
956
            f(filter->mutable_max_val(), _max);
112
956
        }
113
956
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7_set_pbIZNS_13get_convertorIlEEDavEUlPNS_12PColumnValueERKlE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
150
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
150
        if constexpr (NeedMin) {
108
150
            f(filter->mutable_min_val(), _min);
109
150
        }
110
150
        if constexpr (NeedMax) {
111
150
            f(filter->mutable_max_val(), _max);
112
150
        }
113
150
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncInLb1ELb1EE7_set_pbIZNS_13get_convertorInEEDavEUlPNS_12PColumnValueERKnE_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE7_set_pbIZNS_13get_convertorIfEEDavEUlPNS_12PColumnValueERKfE_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIdLb1ELb1EE7_set_pbIZNS_13get_convertorIdEEDavEUlPNS_12PColumnValueERKdE_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
46
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
46
        if constexpr (NeedMin) {
108
46
            f(filter->mutable_min_val(), _min);
109
46
        }
110
46
        if constexpr (NeedMax) {
111
46
            f(filter->mutable_max_val(), _max);
112
46
        }
113
46
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
108
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
108
        if constexpr (NeedMin) {
108
108
            f(filter->mutable_min_val(), _min);
109
108
        }
110
108
        if constexpr (NeedMax) {
111
108
            f(filter->mutable_max_val(), _max);
112
108
        }
113
108
    }
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
31
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
31
        if constexpr (NeedMin) {
108
31
            f(filter->mutable_min_val(), _min);
109
31
        }
110
31
        if constexpr (NeedMax) {
111
31
            f(filter->mutable_max_val(), _max);
112
31
        }
113
31
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7_set_pbIZNS_13get_convertorIS2_EEDavEUlPNS_12PColumnValueERKS2_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7_set_pbIZNS_13get_convertorIS2_EEDavEUlPNS_12PColumnValueERKS2_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
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
23
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
23
        if constexpr (NeedMin) {
108
23
            f(filter->mutable_min_val(), _min);
109
23
        }
110
23
        if constexpr (NeedMax) {
111
23
            f(filter->mutable_max_val(), _max);
112
23
        }
113
23
    }
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
259
                              size_t start, size_t size) {
117
945
        for (size_t i = start; i < size; i++) {
118
686
            if (nullmap == nullptr || !nullmap[i]) {
119
638
                if constexpr (NeedMin) {
120
638
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
121
280
                        _min = column_string.get_data_at(i).to_string();
122
280
                        _min_value_set = true;
123
280
                    }
124
638
                }
125
638
                if constexpr (NeedMax) {
126
638
                    if (column_string.get_data_at(i) > StringRef(_max)) {
127
305
                        _max = column_string.get_data_at(i).to_string();
128
305
                    }
129
638
                }
130
638
            }
131
686
        }
132
259
    }
_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
258
                              size_t start, size_t size) {
117
936
        for (size_t i = start; i < size; i++) {
118
678
            if (nullmap == nullptr || !nullmap[i]) {
119
630
                if constexpr (NeedMin) {
120
630
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
121
279
                        _min = column_string.get_data_at(i).to_string();
122
279
                        _min_value_set = true;
123
279
                    }
124
630
                }
125
630
                if constexpr (NeedMax) {
126
630
                    if (column_string.get_data_at(i) > StringRef(_max)) {
127
297
                        _max = column_string.get_data_at(i).to_string();
128
297
                    }
129
630
                }
130
630
            }
131
678
        }
132
258
    }
133
134
2.96k
    void _update_batch(const ColumnPtr& column, size_t start) {
135
2.96k
        const auto size = column->size();
136
2.96k
        if constexpr (std::is_same_v<T, std::string>) {
137
108
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
1
                                     size);
140
107
            } else {
141
107
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
107
                                     size);
143
107
            }
144
2.85k
        } else {
145
2.85k
            const T* data = (T*)column->get_raw_data().data;
146
2.52M
            for (size_t i = start; i < size; i++) {
147
2.52M
                if constexpr (NeedMin) {
148
2.52M
                    _min = std::min(_min, *(data + i));
149
2.52M
                }
150
2.52M
                if constexpr (NeedMax) {
151
2.52M
                    _max = std::max(_max, *(data + i));
152
2.52M
                }
153
2.52M
            }
154
2.85k
        }
155
2.96k
    }
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
39
    void _update_batch(const ColumnPtr& column, size_t start) {
135
39
        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
39
        } else {
145
39
            const T* data = (T*)column->get_raw_data().data;
146
97
            for (size_t i = start; i < size; i++) {
147
58
                if constexpr (NeedMin) {
148
58
                    _min = std::min(_min, *(data + i));
149
58
                }
150
58
                if constexpr (NeedMax) {
151
58
                    _max = std::max(_max, *(data + i));
152
58
                }
153
58
            }
154
39
        }
155
39
    }
_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.39k
    void _update_batch(const ColumnPtr& column, size_t start) {
135
2.39k
        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.39k
        } else {
145
2.39k
            const T* data = (T*)column->get_raw_data().data;
146
2.52M
            for (size_t i = start; i < size; i++) {
147
2.52M
                if constexpr (NeedMin) {
148
2.52M
                    _min = std::min(_min, *(data + i));
149
2.52M
                }
150
2.52M
                if constexpr (NeedMax) {
151
2.52M
                    _max = std::max(_max, *(data + i));
152
2.52M
                }
153
2.52M
            }
154
2.39k
        }
155
2.39k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
102
    void _update_batch(const ColumnPtr& column, size_t start) {
135
102
        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
102
        } else {
145
102
            const T* data = (T*)column->get_raw_data().data;
146
496
            for (size_t i = start; i < size; i++) {
147
394
                if constexpr (NeedMin) {
148
394
                    _min = std::min(_min, *(data + i));
149
394
                }
150
394
                if constexpr (NeedMax) {
151
394
                    _max = std::max(_max, *(data + i));
152
394
                }
153
394
            }
154
102
        }
155
102
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
68
    void _update_batch(const ColumnPtr& column, size_t start) {
135
68
        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
68
        } else {
145
68
            const T* data = (T*)column->get_raw_data().data;
146
183
            for (size_t i = start; i < size; i++) {
147
115
                if constexpr (NeedMin) {
148
115
                    _min = std::min(_min, *(data + i));
149
115
                }
150
115
                if constexpr (NeedMax) {
151
115
                    _max = std::max(_max, *(data + i));
152
115
                }
153
115
            }
154
68
        }
155
68
    }
_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
5
    void _update_batch(const ColumnPtr& column, size_t start) {
135
5
        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
5
        } else {
145
5
            const T* data = (T*)column->get_raw_data().data;
146
12
            for (size_t i = start; i < size; i++) {
147
7
                if constexpr (NeedMin) {
148
7
                    _min = std::min(_min, *(data + i));
149
7
                }
150
7
                if constexpr (NeedMax) {
151
7
                    _max = std::max(_max, *(data + i));
152
7
                }
153
7
            }
154
5
        }
155
5
    }
_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
165
    void _update_batch(const ColumnPtr& column, size_t start) {
135
165
        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
165
        } else {
145
165
            const T* data = (T*)column->get_raw_data().data;
146
480
            for (size_t i = start; i < size; i++) {
147
315
                if constexpr (NeedMin) {
148
315
                    _min = std::min(_min, *(data + i));
149
315
                }
150
315
                if constexpr (NeedMax) {
151
315
                    _max = std::max(_max, *(data + i));
152
315
                }
153
315
            }
154
165
        }
155
165
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
134
16
    void _update_batch(const ColumnPtr& column, size_t start) {
135
16
        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
16
        } else {
145
16
            const T* data = (T*)column->get_raw_data().data;
146
56
            for (size_t i = start; i < size; i++) {
147
40
                if constexpr (NeedMin) {
148
40
                    _min = std::min(_min, *(data + i));
149
40
                }
150
40
                if constexpr (NeedMax) {
151
40
                    _max = std::max(_max, *(data + i));
152
40
                }
153
40
            }
154
16
        }
155
16
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
134
108
    void _update_batch(const ColumnPtr& column, size_t start) {
135
108
        const auto size = column->size();
136
108
        if constexpr (std::is_same_v<T, std::string>) {
137
108
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
1
                                     size);
140
107
            } else {
141
107
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
107
                                     size);
143
107
            }
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
108
    }
_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
46
    void _update_batch(const ColumnPtr& column, size_t start) {
135
46
        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
46
        } else {
145
46
            const T* data = (T*)column->get_raw_data().data;
146
118
            for (size_t i = start; i < size; i++) {
147
72
                if constexpr (NeedMin) {
148
72
                    _min = std::min(_min, *(data + i));
149
72
                }
150
72
                if constexpr (NeedMax) {
151
72
                    _max = std::max(_max, *(data + i));
152
72
                }
153
72
            }
154
46
        }
155
46
    }
_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
2.71k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
2.71k
        const auto size = column->size();
159
2.71k
        if constexpr (std::is_same_v<T, std::string>) {
160
151
            if (column->is_column_string64()) {
161
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
0
                                     start, size);
163
151
            } else {
164
151
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
151
                                     start, size);
166
151
            }
167
2.56k
        } else {
168
2.56k
            const T* data = (T*)column->get_raw_data().data;
169
960k
            for (size_t i = start; i < size; i++) {
170
957k
                if (!nullmap[i]) {
171
953k
                    if constexpr (NeedMin) {
172
953k
                        _min = std::min(_min, *(data + i));
173
953k
                    }
174
953k
                    if constexpr (NeedMax) {
175
953k
                        _max = std::max(_max, *(data + i));
176
953k
                    }
177
953k
                }
178
957k
            }
179
2.56k
        }
180
2.71k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
27
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
27
        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
27
        } else {
168
27
            const T* data = (T*)column->get_raw_data().data;
169
79
            for (size_t i = start; i < size; i++) {
170
52
                if (!nullmap[i]) {
171
35
                    if constexpr (NeedMin) {
172
35
                        _min = std::min(_min, *(data + i));
173
35
                    }
174
35
                    if constexpr (NeedMax) {
175
35
                        _max = std::max(_max, *(data + i));
176
35
                    }
177
35
                }
178
52
            }
179
27
        }
180
27
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
2
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
2
        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
        } else {
168
2
            const T* data = (T*)column->get_raw_data().data;
169
8
            for (size_t i = start; i < size; i++) {
170
6
                if (!nullmap[i]) {
171
6
                    if constexpr (NeedMin) {
172
6
                        _min = std::min(_min, *(data + i));
173
6
                    }
174
6
                    if constexpr (NeedMax) {
175
6
                        _max = std::max(_max, *(data + i));
176
6
                    }
177
6
                }
178
6
            }
179
2
        }
180
2
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
85
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
85
        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
85
        } else {
168
85
            const T* data = (T*)column->get_raw_data().data;
169
293
            for (size_t i = start; i < size; i++) {
170
208
                if (!nullmap[i]) {
171
204
                    if constexpr (NeedMin) {
172
204
                        _min = std::min(_min, *(data + i));
173
204
                    }
174
204
                    if constexpr (NeedMax) {
175
204
                        _max = std::max(_max, *(data + i));
176
204
                    }
177
204
                }
178
208
            }
179
85
        }
180
85
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
60
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
60
        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
60
        } else {
168
60
            const T* data = (T*)column->get_raw_data().data;
169
366
            for (size_t i = start; i < size; i++) {
170
306
                if (!nullmap[i]) {
171
289
                    if constexpr (NeedMin) {
172
289
                        _min = std::min(_min, *(data + i));
173
289
                    }
174
289
                    if constexpr (NeedMax) {
175
289
                        _max = std::max(_max, *(data + i));
176
289
                    }
177
289
                }
178
306
            }
179
60
        }
180
60
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
1.24k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
1.24k
        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.24k
        } else {
168
1.24k
            const T* data = (T*)column->get_raw_data().data;
169
954k
            for (size_t i = start; i < size; i++) {
170
953k
                if (!nullmap[i]) {
171
949k
                    if constexpr (NeedMin) {
172
949k
                        _min = std::min(_min, *(data + i));
173
949k
                    }
174
949k
                    if constexpr (NeedMax) {
175
949k
                        _max = std::max(_max, *(data + i));
176
949k
                    }
177
949k
                }
178
953k
            }
179
1.24k
        }
180
1.24k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
608
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
608
        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
608
        } else {
168
608
            const T* data = (T*)column->get_raw_data().data;
169
2.84k
            for (size_t i = start; i < size; i++) {
170
2.23k
                if (!nullmap[i]) {
171
1.91k
                    if constexpr (NeedMin) {
172
1.91k
                        _min = std::min(_min, *(data + i));
173
1.91k
                    }
174
1.91k
                    if constexpr (NeedMax) {
175
1.91k
                        _max = std::max(_max, *(data + i));
176
1.91k
                    }
177
1.91k
                }
178
2.23k
            }
179
608
        }
180
608
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
4
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
4
        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
4
        } else {
168
4
            const T* data = (T*)column->get_raw_data().data;
169
8
            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
4
        }
180
4
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
32
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
32
        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
32
        } else {
168
32
            const T* data = (T*)column->get_raw_data().data;
169
80
            for (size_t i = start; i < size; i++) {
170
48
                if (!nullmap[i]) {
171
40
                    if constexpr (NeedMin) {
172
40
                        _min = std::min(_min, *(data + i));
173
40
                    }
174
40
                    if constexpr (NeedMax) {
175
40
                        _max = std::max(_max, *(data + i));
176
40
                    }
177
40
                }
178
48
            }
179
32
        }
180
32
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
23
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
23
        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
23
        } else {
168
23
            const T* data = (T*)column->get_raw_data().data;
169
47
            for (size_t i = start; i < size; i++) {
170
24
                if (!nullmap[i]) {
171
0
                    if constexpr (NeedMin) {
172
0
                        _min = std::min(_min, *(data + i));
173
0
                    }
174
0
                    if constexpr (NeedMax) {
175
0
                        _max = std::max(_max, *(data + i));
176
0
                    }
177
0
                }
178
24
            }
179
23
        }
180
23
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
11
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
11
        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
11
        } else {
168
11
            const T* data = (T*)column->get_raw_data().data;
169
71
            for (size_t i = start; i < size; i++) {
170
60
                if (!nullmap[i]) {
171
60
                    if constexpr (NeedMin) {
172
60
                        _min = std::min(_min, *(data + i));
173
60
                    }
174
60
                    if constexpr (NeedMax) {
175
60
                        _max = std::max(_max, *(data + i));
176
60
                    }
177
60
                }
178
60
            }
179
11
        }
180
11
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
45
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
45
        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
45
        } else {
168
45
            const T* data = (T*)column->get_raw_data().data;
169
706
            for (size_t i = start; i < size; i++) {
170
661
                if (!nullmap[i]) {
171
656
                    if constexpr (NeedMin) {
172
656
                        _min = std::min(_min, *(data + i));
173
656
                    }
174
656
                    if constexpr (NeedMax) {
175
656
                        _max = std::max(_max, *(data + i));
176
656
                    }
177
656
                }
178
661
            }
179
45
        }
180
45
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
335
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
335
        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
335
        } else {
168
335
            const T* data = (T*)column->get_raw_data().data;
169
735
            for (size_t i = start; i < size; i++) {
170
400
                if (!nullmap[i]) {
171
388
                    if constexpr (NeedMin) {
172
388
                        _min = std::min(_min, *(data + i));
173
388
                    }
174
388
                    if constexpr (NeedMax) {
175
388
                        _max = std::max(_max, *(data + i));
176
388
                    }
177
388
                }
178
400
            }
179
335
        }
180
335
    }
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
151
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
151
        const auto size = column->size();
159
151
        if constexpr (std::is_same_v<T, std::string>) {
160
151
            if (column->is_column_string64()) {
161
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
0
                                     start, size);
163
151
            } else {
164
151
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
151
                                     start, size);
166
151
            }
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
151
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE13_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
3
            for (size_t i = start; i < size; i++) {
170
2
                if (!nullmap[i]) {
171
2
                    if constexpr (NeedMin) {
172
2
                        _min = std::min(_min, *(data + i));
173
2
                    }
174
2
                    if constexpr (NeedMax) {
175
2
                        _max = std::max(_max, *(data + i));
176
2
                    }
177
2
                }
178
2
            }
179
1
        }
180
1
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
63
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
63
        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
63
        } else {
168
63
            const T* data = (T*)column->get_raw_data().data;
169
152
            for (size_t i = start; i < size; i++) {
170
89
                if (!nullmap[i]) {
171
80
                    if constexpr (NeedMin) {
172
80
                        _min = std::min(_min, *(data + i));
173
80
                    }
174
80
                    if constexpr (NeedMax) {
175
80
                        _max = std::max(_max, *(data + i));
176
80
                    }
177
80
                }
178
89
            }
179
63
        }
180
63
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
17
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
17
        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
17
        } else {
168
17
            const T* data = (T*)column->get_raw_data().data;
169
68
            for (size_t i = start; i < size; i++) {
170
51
                if (!nullmap[i]) {
171
41
                    if constexpr (NeedMin) {
172
41
                        _min = std::min(_min, *(data + i));
173
41
                    }
174
41
                    if constexpr (NeedMax) {
175
41
                        _max = std::max(_max, *(data + i));
176
41
                    }
177
41
                }
178
51
            }
179
17
        }
180
17
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
4
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
4
        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
4
        } else {
168
4
            const T* data = (T*)column->get_raw_data().data;
169
140
            for (size_t i = start; i < size; i++) {
170
136
                if (!nullmap[i]) {
171
136
                    if constexpr (NeedMin) {
172
136
                        _min = std::min(_min, *(data + i));
173
136
                    }
174
136
                    if constexpr (NeedMax) {
175
136
                        _max = std::max(_max, *(data + i));
176
136
                    }
177
136
                }
178
136
            }
179
4
        }
180
4
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
3
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
3
        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
3
        } else {
168
3
            const T* data = (T*)column->get_raw_data().data;
169
125
            for (size_t i = start; i < size; i++) {
170
122
                if (!nullmap[i]) {
171
111
                    if constexpr (NeedMin) {
172
111
                        _min = std::min(_min, *(data + i));
173
111
                    }
174
111
                    if constexpr (NeedMax) {
175
111
                        _max = std::max(_max, *(data + i));
176
111
                    }
177
111
                }
178
122
            }
179
3
        }
180
3
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
2
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
2
        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
        } else {
168
2
            const T* data = (T*)column->get_raw_data().data;
169
24
            for (size_t i = start; i < size; i++) {
170
22
                if (!nullmap[i]) {
171
20
                    if constexpr (NeedMin) {
172
20
                        _min = std::min(_min, *(data + i));
173
20
                    }
174
20
                    if constexpr (NeedMax) {
175
20
                        _max = std::max(_max, *(data + i));
176
20
                    }
177
20
                }
178
22
            }
179
2
        }
180
2
    }
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