Coverage Report

Created: 2026-07-12 15: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
20.7k
    MinMaxFuncBase(bool null_aware) : FilterBase(null_aware) {}
33
    virtual void insert_fixed_len(const ColumnPtr& column, size_t start) = 0;
34
    virtual void* get_max() = 0;
35
    virtual void* get_min() = 0;
36
    // assign minmax data
37
    virtual Status assign(void* min_data, void* max_data) = 0;
38
    // merge from other minmax_func
39
    virtual Status merge(MinMaxFuncBase* minmax_func) = 0;
40
20.7k
    virtual ~MinMaxFuncBase() = default;
41
42
    virtual void to_pb(PMinMaxFilter* filter) = 0;
43
};
44
45
template <class T, bool NeedMax = true, bool NeedMin = true>
46
class MinMaxNumFunc : public MinMaxFuncBase {
47
public:
48
    static constexpr bool IsStringValue = std::is_same_v<T, std::string>;
49
20.7k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIhLb1ELb1EEC2Eb
Line
Count
Source
49
115
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EEC2Eb
Line
Count
Source
49
18
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIaLb1ELb1EEC2Eb
Line
Count
Source
49
1.84k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIsLb1ELb1EEC2Eb
Line
Count
Source
49
1.29k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIiLb1ELb1EEC2Eb
Line
Count
Source
49
10.1k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIlLb1ELb1EEC2Eb
Line
Count
Source
49
3.56k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncInLb1ELb1EEC2Eb
Line
Count
Source
49
105
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIfLb1ELb1EEC2Eb
Line
Count
Source
49
146
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIdLb1ELb1EEC2Eb
Line
Count
Source
49
62
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EEC2Eb
Line
Count
Source
49
30
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
49
695
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
49
654
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EEC2Eb
Line
Count
Source
49
14
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EEC2Eb
Line
Count
Source
49
1.16k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EEC2Eb
Line
Count
Source
49
182
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EEC2Eb
Line
Count
Source
49
486
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EEC2Eb
Line
Count
Source
49
141
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EEC2Eb
Line
Count
Source
49
40
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIjLb1ELb1EEC2Eb
Line
Count
Source
49
16
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIoLb1ELb1EEC2Eb
Line
Count
Source
49
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
50
1.16k
    ~MinMaxNumFunc() override = default;
51
52
7.47k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
7.47k
        if (is_column_nullable(*column)) {
54
5.40k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
5.40k
            const auto& col = nullable->get_nested_column_ptr();
56
5.40k
            const auto& nullmap = nullable->get_null_map_data();
57
5.40k
            if (nullable->has_null()) {
58
4.94k
                _update_batch(col, nullmap, start);
59
4.94k
                _contain_null = true;
60
4.94k
            } else {
61
459
                _update_batch(col, start);
62
459
            }
63
5.40k
        } else {
64
2.06k
            _update_batch(column, start);
65
2.06k
        }
66
7.47k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_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
13
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
13
            const auto& col = nullable->get_nested_column_ptr();
56
13
            const auto& nullmap = nullable->get_null_map_data();
57
13
            if (nullable->has_null()) {
58
13
                _update_batch(col, nullmap, start);
59
13
                _contain_null = true;
60
13
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
13
        } else {
64
0
            _update_batch(column, start);
65
0
        }
66
13
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
9
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
9
        if (is_column_nullable(*column)) {
54
8
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
8
            const auto& col = nullable->get_nested_column_ptr();
56
8
            const auto& nullmap = nullable->get_null_map_data();
57
8
            if (nullable->has_null()) {
58
8
                _update_batch(col, nullmap, start);
59
8
                _contain_null = true;
60
8
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
8
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
9
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
1.05k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
1.05k
        if (is_column_nullable(*column)) {
54
1.03k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
1.03k
            const auto& col = nullable->get_nested_column_ptr();
56
1.03k
            const auto& nullmap = nullable->get_null_map_data();
57
1.03k
            if (nullable->has_null()) {
58
818
                _update_batch(col, nullmap, start);
59
818
                _contain_null = true;
60
818
            } else {
61
221
                _update_batch(col, start);
62
221
            }
63
1.03k
        } else {
64
12
            _update_batch(column, start);
65
12
        }
66
1.05k
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
571
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
571
        if (is_column_nullable(*column)) {
54
570
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
570
            const auto& col = nullable->get_nested_column_ptr();
56
570
            const auto& nullmap = nullable->get_null_map_data();
57
570
            if (nullable->has_null()) {
58
569
                _update_batch(col, nullmap, start);
59
569
                _contain_null = true;
60
569
            } else {
61
1
                _update_batch(col, start);
62
1
            }
63
570
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
571
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
3.64k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
3.64k
        if (is_column_nullable(*column)) {
54
2.24k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
2.24k
            const auto& col = nullable->get_nested_column_ptr();
56
2.24k
            const auto& nullmap = nullable->get_null_map_data();
57
2.24k
            if (nullable->has_null()) {
58
2.15k
                _update_batch(col, nullmap, start);
59
2.15k
                _contain_null = true;
60
2.15k
            } else {
61
88
                _update_batch(col, start);
62
88
            }
63
2.24k
        } else {
64
1.40k
            _update_batch(column, start);
65
1.40k
        }
66
3.64k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
1.07k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
1.07k
        if (is_column_nullable(*column)) {
54
815
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
815
            const auto& col = nullable->get_nested_column_ptr();
56
815
            const auto& nullmap = nullable->get_null_map_data();
57
815
            if (nullable->has_null()) {
58
770
                _update_batch(col, nullmap, start);
59
770
                _contain_null = true;
60
770
            } else {
61
45
                _update_batch(col, start);
62
45
            }
63
815
        } else {
64
263
            _update_batch(column, start);
65
263
        }
66
1.07k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE16insert_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
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
27
        } else {
64
27
            _update_batch(column, start);
65
27
        }
66
29
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
17
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
17
        if (is_column_nullable(*column)) {
54
16
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
16
            const auto& col = nullable->get_nested_column_ptr();
56
16
            const auto& nullmap = nullable->get_null_map_data();
57
16
            if (nullable->has_null()) {
58
16
                _update_batch(col, nullmap, start);
59
16
                _contain_null = true;
60
16
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
16
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
17
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
50
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
50
        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
43
                _update_batch(col, nullmap, start);
59
43
                _contain_null = true;
60
43
            } else {
61
6
                _update_batch(col, start);
62
6
            }
63
49
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
50
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
10
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
10
        if (is_column_nullable(*column)) {
54
8
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
8
            const auto& col = nullable->get_nested_column_ptr();
56
8
            const auto& nullmap = nullable->get_null_map_data();
57
8
            if (nullable->has_null()) {
58
8
                _update_batch(col, nullmap, start);
59
8
                _contain_null = true;
60
8
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
8
        } else {
64
2
            _update_batch(column, start);
65
2
        }
66
10
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
52
254
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
254
        if (is_column_nullable(*column)) {
54
106
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
106
            const auto& col = nullable->get_nested_column_ptr();
56
106
            const auto& nullmap = nullable->get_null_map_data();
57
106
            if (nullable->has_null()) {
58
104
                _update_batch(col, nullmap, start);
59
104
                _contain_null = true;
60
104
            } else {
61
2
                _update_batch(col, start);
62
2
            }
63
148
        } else {
64
148
            _update_batch(column, start);
65
148
        }
66
254
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
52
187
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
187
        if (is_column_nullable(*column)) {
54
112
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
112
            const auto& col = nullable->get_nested_column_ptr();
56
112
            const auto& nullmap = nullable->get_null_map_data();
57
112
            if (nullable->has_null()) {
58
112
                _update_batch(col, nullmap, start);
59
112
                _contain_null = true;
60
112
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
112
        } else {
64
75
            _update_batch(column, start);
65
75
        }
66
187
    }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_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
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
0
            _update_batch(column, start);
65
0
        }
66
2
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
52
322
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
322
        if (is_column_nullable(*column)) {
54
232
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
232
            const auto& col = nullable->get_nested_column_ptr();
56
232
            const auto& nullmap = nullable->get_null_map_data();
57
232
            if (nullable->has_null()) {
58
165
                _update_batch(col, nullmap, start);
59
165
                _contain_null = true;
60
165
            } else {
61
67
                _update_batch(col, start);
62
67
            }
63
232
        } else {
64
90
            _update_batch(column, start);
65
90
        }
66
322
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
52
95
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
95
        if (is_column_nullable(*column)) {
54
94
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
94
            const auto& col = nullable->get_nested_column_ptr();
56
94
            const auto& nullmap = nullable->get_null_map_data();
57
94
            if (nullable->has_null()) {
58
94
                _update_batch(col, nullmap, start);
59
94
                _contain_null = true;
60
94
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
94
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
95
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
52
67
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
67
        if (is_column_nullable(*column)) {
54
46
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
46
            const auto& col = nullable->get_nested_column_ptr();
56
46
            const auto& nullmap = nullable->get_null_map_data();
57
46
            if (nullable->has_null()) {
58
46
                _update_batch(col, nullmap, start);
59
46
                _contain_null = true;
60
46
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
46
        } else {
64
21
            _update_batch(column, start);
65
21
        }
66
67
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
55
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
55
        if (is_column_nullable(*column)) {
54
38
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
38
            const auto& col = nullable->get_nested_column_ptr();
56
38
            const auto& nullmap = nullable->get_null_map_data();
57
38
            if (nullable->has_null()) {
58
9
                _update_batch(col, nullmap, start);
59
9
                _contain_null = true;
60
29
            } else {
61
29
                _update_batch(col, start);
62
29
            }
63
38
        } else {
64
17
            _update_batch(column, start);
65
17
        }
66
55
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EEm
Line
Count
Source
52
11
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
11
        if (is_column_nullable(*column)) {
54
10
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
10
            const auto& col = nullable->get_nested_column_ptr();
56
10
            const auto& nullmap = nullable->get_null_map_data();
57
10
            if (nullable->has_null()) {
58
10
                _update_batch(col, nullmap, start);
59
10
                _contain_null = true;
60
10
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
10
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
11
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
8
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
8
        if (is_column_nullable(*column)) {
54
7
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
7
            const auto& col = nullable->get_nested_column_ptr();
56
7
            const auto& nullmap = nullable->get_null_map_data();
57
7
            if (nullable->has_null()) {
58
7
                _update_batch(col, nullmap, start);
59
7
                _contain_null = true;
60
7
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
7
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
8
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
1
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
1
        if (is_column_nullable(*column)) {
54
0
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
0
            const auto& col = nullable->get_nested_column_ptr();
56
0
            const auto& nullmap = nullable->get_null_map_data();
57
0
            if (nullable->has_null()) {
58
0
                _update_batch(col, nullmap, start);
59
0
                _contain_null = true;
60
0
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
1
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
1
    }
67
68
8.72k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
8.72k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
8.72k
        if constexpr (NeedMin) {
71
8.72k
            if constexpr (IsStringValue) {
72
549
                if (other_minmax->_min < _min || !_min_value_set) {
73
38
                    _min = other_minmax->_min;
74
38
                    _min_value_set = true;
75
38
                }
76
8.17k
            } else if (other_minmax->_min < _min) {
77
859
                _min = other_minmax->_min;
78
859
            }
79
8.72k
        }
80
8.72k
        if constexpr (NeedMax) {
81
8.72k
            if (other_minmax->_max > _max) {
82
1.01k
                _max = other_minmax->_max;
83
1.01k
            }
84
8.72k
        }
85
86
8.72k
        _contain_null |= minmax_func->contain_null();
87
8.72k
        return Status::OK();
88
8.72k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
87
    Status merge(MinMaxFuncBase* minmax_func) override {
69
87
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
87
        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
87
            } else if (other_minmax->_min < _min) {
77
1
                _min = other_minmax->_min;
78
1
            }
79
87
        }
80
87
        if constexpr (NeedMax) {
81
87
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
87
        }
85
86
87
        _contain_null |= minmax_func->contain_null();
87
87
        return Status::OK();
88
87
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
812
    Status merge(MinMaxFuncBase* minmax_func) override {
69
812
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
812
        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
812
            } else if (other_minmax->_min < _min) {
77
135
                _min = other_minmax->_min;
78
135
            }
79
812
        }
80
812
        if constexpr (NeedMax) {
81
812
            if (other_minmax->_max > _max) {
82
136
                _max = other_minmax->_max;
83
136
            }
84
812
        }
85
86
812
        _contain_null |= minmax_func->contain_null();
87
812
        return Status::OK();
88
812
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
479
    Status merge(MinMaxFuncBase* minmax_func) override {
69
479
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
479
        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
479
            } else if (other_minmax->_min < _min) {
77
48
                _min = other_minmax->_min;
78
48
            }
79
479
        }
80
479
        if constexpr (NeedMax) {
81
479
            if (other_minmax->_max > _max) {
82
63
                _max = other_minmax->_max;
83
63
            }
84
479
        }
85
86
479
        _contain_null |= minmax_func->contain_null();
87
479
        return Status::OK();
88
479
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
4.23k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
4.23k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
4.23k
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
4.23k
            } else if (other_minmax->_min < _min) {
77
487
                _min = other_minmax->_min;
78
487
            }
79
4.23k
        }
80
4.23k
        if constexpr (NeedMax) {
81
4.23k
            if (other_minmax->_max > _max) {
82
583
                _max = other_minmax->_max;
83
583
            }
84
4.23k
        }
85
86
4.23k
        _contain_null |= minmax_func->contain_null();
87
4.23k
        return Status::OK();
88
4.23k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
1.17k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
1.17k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
1.17k
        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.17k
            } else if (other_minmax->_min < _min) {
77
117
                _min = other_minmax->_min;
78
117
            }
79
1.17k
        }
80
1.17k
        if constexpr (NeedMax) {
81
1.17k
            if (other_minmax->_max > _max) {
82
126
                _max = other_minmax->_max;
83
126
            }
84
1.17k
        }
85
86
1.17k
        _contain_null |= minmax_func->contain_null();
87
1.17k
        return Status::OK();
88
1.17k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
74
    Status merge(MinMaxFuncBase* minmax_func) override {
69
74
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
74
        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
74
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
74
        }
80
74
        if constexpr (NeedMax) {
81
74
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
74
        }
85
86
74
        _contain_null |= minmax_func->contain_null();
87
74
        return Status::OK();
88
74
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
112
    Status merge(MinMaxFuncBase* minmax_func) override {
69
112
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
112
        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
112
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
112
        }
80
112
        if constexpr (NeedMax) {
81
112
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
112
        }
85
86
112
        _contain_null |= minmax_func->contain_null();
87
112
        return Status::OK();
88
112
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
41
    Status merge(MinMaxFuncBase* minmax_func) override {
69
41
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
41
        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
41
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
41
        }
80
41
        if constexpr (NeedMax) {
81
41
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
41
        }
85
86
41
        _contain_null |= minmax_func->contain_null();
87
41
        return Status::OK();
88
41
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
10
    Status merge(MinMaxFuncBase* minmax_func) override {
69
10
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
10
        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
10
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
10
        }
80
10
        if constexpr (NeedMax) {
81
10
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
10
        }
85
86
10
        _contain_null |= minmax_func->contain_null();
87
10
        return Status::OK();
88
10
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
381
    Status merge(MinMaxFuncBase* minmax_func) override {
69
381
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
381
        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
381
            } else if (other_minmax->_min < _min) {
77
37
                _min = other_minmax->_min;
78
37
            }
79
381
        }
80
381
        if constexpr (NeedMax) {
81
381
            if (other_minmax->_max > _max) {
82
42
                _max = other_minmax->_max;
83
42
            }
84
381
        }
85
86
381
        _contain_null |= minmax_func->contain_null();
87
381
        return Status::OK();
88
381
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
423
    Status merge(MinMaxFuncBase* minmax_func) override {
69
423
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
423
        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
423
            } else if (other_minmax->_min < _min) {
77
12
                _min = other_minmax->_min;
78
12
            }
79
423
        }
80
423
        if constexpr (NeedMax) {
81
423
            if (other_minmax->_max > _max) {
82
12
                _max = other_minmax->_max;
83
12
            }
84
423
        }
85
86
423
        _contain_null |= minmax_func->contain_null();
87
423
        return Status::OK();
88
423
    }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
10
    Status merge(MinMaxFuncBase* minmax_func) override {
69
10
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
10
        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
10
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
10
        }
80
10
        if constexpr (NeedMax) {
81
10
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
10
        }
85
86
10
        _contain_null |= minmax_func->contain_null();
87
10
        return Status::OK();
88
10
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
549
    Status merge(MinMaxFuncBase* minmax_func) override {
69
549
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
549
        if constexpr (NeedMin) {
71
549
            if constexpr (IsStringValue) {
72
549
                if (other_minmax->_min < _min || !_min_value_set) {
73
38
                    _min = other_minmax->_min;
74
38
                    _min_value_set = true;
75
38
                }
76
            } else if (other_minmax->_min < _min) {
77
                _min = other_minmax->_min;
78
            }
79
549
        }
80
549
        if constexpr (NeedMax) {
81
549
            if (other_minmax->_max > _max) {
82
26
                _max = other_minmax->_max;
83
26
            }
84
549
        }
85
86
549
        _contain_null |= minmax_func->contain_null();
87
549
        return Status::OK();
88
549
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
71
    Status merge(MinMaxFuncBase* minmax_func) override {
69
71
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
71
        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
71
            } else if (other_minmax->_min < _min) {
77
12
                _min = other_minmax->_min;
78
12
            }
79
71
        }
80
71
        if constexpr (NeedMax) {
81
71
            if (other_minmax->_max > _max) {
82
16
                _max = other_minmax->_max;
83
16
            }
84
71
        }
85
86
71
        _contain_null |= minmax_func->contain_null();
87
71
        return Status::OK();
88
71
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
211
    Status merge(MinMaxFuncBase* minmax_func) override {
69
211
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
211
        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
211
            } else if (other_minmax->_min < _min) {
77
5
                _min = other_minmax->_min;
78
5
            }
79
211
        }
80
211
        if constexpr (NeedMax) {
81
211
            if (other_minmax->_max > _max) {
82
5
                _max = other_minmax->_max;
83
5
            }
84
211
        }
85
86
211
        _contain_null |= minmax_func->contain_null();
87
211
        return Status::OK();
88
211
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
54
    Status merge(MinMaxFuncBase* minmax_func) override {
69
54
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
54
        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
54
            } else if (other_minmax->_min < _min) {
77
5
                _min = other_minmax->_min;
78
5
            }
79
54
        }
80
54
        if constexpr (NeedMax) {
81
54
            if (other_minmax->_max > _max) {
82
5
                _max = other_minmax->_max;
83
5
            }
84
54
        }
85
86
54
        _contain_null |= minmax_func->contain_null();
87
54
        return Status::OK();
88
54
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIoLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
89
90
5.87k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_maxEv
Line
Count
Source
90
14
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_maxEv
Line
Count
Source
90
10
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_maxEv
Line
Count
Source
90
408
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_maxEv
Line
Count
Source
90
243
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_maxEv
Line
Count
Source
90
2.91k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_maxEv
Line
Count
Source
90
1.30k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_maxEv
Line
Count
Source
90
17
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE7get_maxEv
Line
Count
Source
90
18
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7get_maxEv
Line
Count
Source
90
12
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_maxEv
Line
Count
Source
90
12
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
149
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
131
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_maxEv
Line
Count
Source
90
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
363
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_maxEv
Line
Count
Source
90
51
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_maxEv
Line
Count
Source
90
172
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_maxEv
Line
Count
Source
90
31
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
21
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_maxEv
Line
Count
Source
90
9
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_maxEv
Line
Count
Source
90
2
    void* get_max() override { return &_max; }
91
92
5.86k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_minEv
Line
Count
Source
92
14
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_minEv
Line
Count
Source
92
10
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_minEv
Line
Count
Source
92
395
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_minEv
Line
Count
Source
92
243
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_minEv
Line
Count
Source
92
2.90k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_minEv
Line
Count
Source
92
1.30k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_minEv
Line
Count
Source
92
17
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE7get_minEv
Line
Count
Source
92
18
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7get_minEv
Line
Count
Source
92
5
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_minEv
Line
Count
Source
92
12
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
92
150
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
92
131
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_minEv
Line
Count
Source
92
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_minEv
Line
Count
Source
92
363
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_minEv
Line
Count
Source
92
52
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_minEv
Line
Count
Source
92
172
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_minEv
Line
Count
Source
92
35
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_minEv
Line
Count
Source
92
21
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_minEv
Line
Count
Source
92
9
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_minEv
Line
Count
Source
92
2
    void* get_min() override { return &_min; }
93
94
1.67k
    Status assign(void* min_data, void* max_data) override {
95
1.67k
        if constexpr (IsStringValue) {
96
91
            _min_value_set = true;
97
91
        }
98
1.67k
        _min = *(T*)min_data;
99
1.67k
        _max = *(T*)max_data;
100
1.67k
        return Status::OK();
101
1.67k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
3
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
3
        _min = *(T*)min_data;
99
3
        _max = *(T*)max_data;
100
3
        return Status::OK();
101
3
    }
_ZN5doris13MinMaxNumFuncINS_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
65
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
65
        _min = *(T*)min_data;
99
65
        _max = *(T*)max_data;
100
65
        return Status::OK();
101
65
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
197
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
197
        _min = *(T*)min_data;
99
197
        _max = *(T*)max_data;
100
197
        return Status::OK();
101
197
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
982
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
982
        _min = *(T*)min_data;
99
982
        _max = *(T*)max_data;
100
982
        return Status::OK();
101
982
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
195
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
195
        _min = *(T*)min_data;
99
195
        _max = *(T*)max_data;
100
195
        return Status::OK();
101
195
    }
_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
63
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
63
        _min = *(T*)min_data;
99
63
        _max = *(T*)max_data;
100
63
        return Status::OK();
101
63
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
94
23
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
23
        _min = *(T*)min_data;
99
23
        _max = *(T*)max_data;
100
23
        return Status::OK();
101
23
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE6assignEPvS3_
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE6assignEPvS8_
Line
Count
Source
94
91
    Status assign(void* min_data, void* max_data) override {
95
91
        if constexpr (IsStringValue) {
96
91
            _min_value_set = true;
97
91
        }
98
91
        _min = *(T*)min_data;
99
91
        _max = *(T*)max_data;
100
91
        return Status::OK();
101
91
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE6assignEPvS4_
Line
Count
Source
94
21
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
21
        _min = *(T*)min_data;
99
21
        _max = *(T*)max_data;
100
21
        return Status::OK();
101
21
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE6assignEPvS4_
Line
Count
Source
94
11
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
11
        _min = *(T*)min_data;
99
11
        _max = *(T*)max_data;
100
11
        return Status::OK();
101
11
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE6assignEPvS3_
Line
Count
Source
94
11
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
11
        _min = *(T*)min_data;
99
11
        _max = *(T*)max_data;
100
11
        return Status::OK();
101
11
    }
_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
2.11k
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
2
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
171
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
330
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
1.18k
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
209
    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
62
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
22
    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
95
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
20
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
10
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
11
    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
2.11k
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
2.11k
        if constexpr (NeedMin) {
108
2.11k
            f(filter->mutable_min_val(), _min);
109
2.11k
        }
110
2.11k
        if constexpr (NeedMax) {
111
2.11k
            f(filter->mutable_max_val(), _max);
112
2.11k
        }
113
2.11k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7_set_pbIZNS_13get_convertorIhEEDavEUlPNS_12PColumnValueERKhE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
2
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
2
        if constexpr (NeedMin) {
108
2
            f(filter->mutable_min_val(), _min);
109
2
        }
110
2
        if constexpr (NeedMax) {
111
2
            f(filter->mutable_max_val(), _max);
112
2
        }
113
2
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7_set_pbIZNS_13get_convertorIaEEDavEUlPNS_12PColumnValueERKaE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
171
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
171
        if constexpr (NeedMin) {
108
171
            f(filter->mutable_min_val(), _min);
109
171
        }
110
171
        if constexpr (NeedMax) {
111
171
            f(filter->mutable_max_val(), _max);
112
171
        }
113
171
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7_set_pbIZNS_13get_convertorIsEEDavEUlPNS_12PColumnValueERKsE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
330
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
330
        if constexpr (NeedMin) {
108
330
            f(filter->mutable_min_val(), _min);
109
330
        }
110
330
        if constexpr (NeedMax) {
111
330
            f(filter->mutable_max_val(), _max);
112
330
        }
113
330
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7_set_pbIZNS_13get_convertorIiEEDavEUlPNS_12PColumnValueERKiE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
1.17k
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
1.17k
        if constexpr (NeedMin) {
108
1.17k
            f(filter->mutable_min_val(), _min);
109
1.17k
        }
110
1.17k
        if constexpr (NeedMax) {
111
1.17k
            f(filter->mutable_max_val(), _max);
112
1.17k
        }
113
1.17k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7_set_pbIZNS_13get_convertorIlEEDavEUlPNS_12PColumnValueERKlE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
209
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
209
        if constexpr (NeedMin) {
108
209
            f(filter->mutable_min_val(), _min);
109
209
        }
110
209
        if constexpr (NeedMax) {
111
209
            f(filter->mutable_max_val(), _max);
112
209
        }
113
209
    }
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
62
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
62
        if constexpr (NeedMin) {
108
62
            f(filter->mutable_min_val(), _min);
109
62
        }
110
62
        if constexpr (NeedMax) {
111
62
            f(filter->mutable_max_val(), _max);
112
62
        }
113
62
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
22
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
22
        if constexpr (NeedMin) {
108
22
            f(filter->mutable_min_val(), _min);
109
22
        }
110
22
        if constexpr (NeedMax) {
111
22
            f(filter->mutable_max_val(), _max);
112
22
        }
113
22
    }
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
95
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
95
        if constexpr (NeedMin) {
108
95
            f(filter->mutable_min_val(), _min);
109
95
        }
110
95
        if constexpr (NeedMax) {
111
95
            f(filter->mutable_max_val(), _max);
112
95
        }
113
95
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7_set_pbIZNS_13get_convertorIS2_EEDavEUlPNS_12PColumnValueERKS2_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
20
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
20
        if constexpr (NeedMin) {
108
20
            f(filter->mutable_min_val(), _min);
109
20
        }
110
20
        if constexpr (NeedMax) {
111
20
            f(filter->mutable_max_val(), _max);
112
20
        }
113
20
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7_set_pbIZNS_13get_convertorIS2_EEDavEUlPNS_12PColumnValueERKS2_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
10
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
10
        if constexpr (NeedMin) {
108
10
            f(filter->mutable_min_val(), _min);
109
10
        }
110
10
        if constexpr (NeedMax) {
111
10
            f(filter->mutable_max_val(), _max);
112
10
        }
113
10
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
11
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
11
        if constexpr (NeedMin) {
108
11
            f(filter->mutable_min_val(), _min);
109
11
        }
110
11
        if constexpr (NeedMax) {
111
11
            f(filter->mutable_max_val(), _max);
112
11
        }
113
11
    }
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
322
                              size_t start, size_t size) {
117
3.39k
        for (size_t i = start; i < size; i++) {
118
3.07k
            if (nullmap == nullptr || !nullmap[i]) {
119
3.06k
                if constexpr (NeedMin) {
120
3.06k
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
121
426
                        _min = column_string.get_data_at(i).to_string();
122
426
                        _min_value_set = true;
123
426
                    }
124
3.06k
                }
125
3.06k
                if constexpr (NeedMax) {
126
3.06k
                    if (column_string.get_data_at(i) > StringRef(_max)) {
127
785
                        _max = column_string.get_data_at(i).to_string();
128
785
                    }
129
3.06k
                }
130
3.06k
            }
131
3.07k
        }
132
322
    }
_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
321
                              size_t start, size_t size) {
117
3.38k
        for (size_t i = start; i < size; i++) {
118
3.06k
            if (nullmap == nullptr || !nullmap[i]) {
119
3.05k
                if constexpr (NeedMin) {
120
3.05k
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
121
425
                        _min = column_string.get_data_at(i).to_string();
122
425
                        _min_value_set = true;
123
425
                    }
124
3.05k
                }
125
3.05k
                if constexpr (NeedMax) {
126
3.05k
                    if (column_string.get_data_at(i) > StringRef(_max)) {
127
777
                        _max = column_string.get_data_at(i).to_string();
128
777
                    }
129
3.05k
                }
130
3.05k
            }
131
3.06k
        }
132
321
    }
133
134
2.50k
    void _update_batch(const ColumnPtr& column, size_t start) {
135
2.50k
        const auto size = column->size();
136
2.50k
        if constexpr (std::is_same_v<T, std::string>) {
137
157
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
1
                                     size);
140
156
            } else {
141
156
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
156
                                     size);
143
156
            }
144
2.34k
        } else {
145
2.34k
            const T* data = (T*)column->get_raw_data().data;
146
3.23M
            for (size_t i = start; i < size; i++) {
147
3.23M
                if constexpr (NeedMin) {
148
3.23M
                    _min = std::min(_min, *(data + i));
149
3.23M
                }
150
3.23M
                if constexpr (NeedMax) {
151
3.23M
                    _max = std::max(_max, *(data + i));
152
3.23M
                }
153
3.23M
            }
154
2.34k
        }
155
2.50k
    }
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
236
    void _update_batch(const ColumnPtr& column, size_t start) {
135
236
        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
236
        } else {
145
236
            const T* data = (T*)column->get_raw_data().data;
146
724
            for (size_t i = start; i < size; i++) {
147
488
                if constexpr (NeedMin) {
148
488
                    _min = std::min(_min, *(data + i));
149
488
                }
150
488
                if constexpr (NeedMax) {
151
488
                    _max = std::max(_max, *(data + i));
152
488
                }
153
488
            }
154
236
        }
155
236
    }
_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
1.46k
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1.46k
        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.46k
        } else {
145
1.46k
            const T* data = (T*)column->get_raw_data().data;
146
3.23M
            for (size_t i = start; i < size; i++) {
147
3.22M
                if constexpr (NeedMin) {
148
3.22M
                    _min = std::min(_min, *(data + i));
149
3.22M
                }
150
3.22M
                if constexpr (NeedMax) {
151
3.22M
                    _max = std::max(_max, *(data + i));
152
3.22M
                }
153
3.22M
            }
154
1.46k
        }
155
1.46k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
309
    void _update_batch(const ColumnPtr& column, size_t start) {
135
309
        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
309
        } else {
145
309
            const T* data = (T*)column->get_raw_data().data;
146
1.05k
            for (size_t i = start; i < size; i++) {
147
743
                if constexpr (NeedMin) {
148
743
                    _min = std::min(_min, *(data + i));
149
743
                }
150
743
                if constexpr (NeedMax) {
151
743
                    _max = std::max(_max, *(data + i));
152
743
                }
153
743
            }
154
309
        }
155
309
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
27
    void _update_batch(const ColumnPtr& column, size_t start) {
135
27
        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
27
        } else {
145
27
            const T* data = (T*)column->get_raw_data().data;
146
63
            for (size_t i = start; i < size; i++) {
147
36
                if constexpr (NeedMin) {
148
36
                    _min = std::min(_min, *(data + i));
149
36
                }
150
36
                if constexpr (NeedMax) {
151
36
                    _max = std::max(_max, *(data + i));
152
36
                }
153
36
            }
154
27
        }
155
27
    }
_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
7
    void _update_batch(const ColumnPtr& column, size_t start) {
135
7
        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
7
        } else {
145
7
            const T* data = (T*)column->get_raw_data().data;
146
16
            for (size_t i = start; i < size; i++) {
147
9
                if constexpr (NeedMin) {
148
9
                    _min = std::min(_min, *(data + i));
149
9
                }
150
9
                if constexpr (NeedMax) {
151
9
                    _max = std::max(_max, *(data + i));
152
9
                }
153
9
            }
154
7
        }
155
7
    }
_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
150
    void _update_batch(const ColumnPtr& column, size_t start) {
135
150
        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
150
        } else {
145
150
            const T* data = (T*)column->get_raw_data().data;
146
479
            for (size_t i = start; i < size; i++) {
147
329
                if constexpr (NeedMin) {
148
329
                    _min = std::min(_min, *(data + i));
149
329
                }
150
329
                if constexpr (NeedMax) {
151
329
                    _max = std::max(_max, *(data + i));
152
329
                }
153
329
            }
154
150
        }
155
150
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
134
75
    void _update_batch(const ColumnPtr& column, size_t start) {
135
75
        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
75
        } else {
145
75
            const T* data = (T*)column->get_raw_data().data;
146
293
            for (size_t i = start; i < size; i++) {
147
218
                if constexpr (NeedMin) {
148
218
                    _min = std::min(_min, *(data + i));
149
218
                }
150
218
                if constexpr (NeedMax) {
151
218
                    _max = std::max(_max, *(data + i));
152
218
                }
153
218
            }
154
75
        }
155
75
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
134
157
    void _update_batch(const ColumnPtr& column, size_t start) {
135
157
        const auto size = column->size();
136
157
        if constexpr (std::is_same_v<T, std::string>) {
137
157
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
1
                                     size);
140
156
            } else {
141
156
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
156
                                     size);
143
156
            }
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
157
    }
_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
21
    void _update_batch(const ColumnPtr& column, size_t start) {
135
21
        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
21
        } else {
145
21
            const T* data = (T*)column->get_raw_data().data;
146
101
            for (size_t i = start; i < size; i++) {
147
80
                if constexpr (NeedMin) {
148
80
                    _min = std::min(_min, *(data + i));
149
80
                }
150
80
                if constexpr (NeedMax) {
151
80
                    _max = std::max(_max, *(data + i));
152
80
                }
153
80
            }
154
21
        }
155
21
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
134
44
    void _update_batch(const ColumnPtr& column, size_t start) {
135
44
        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
44
        } else {
145
44
            const T* data = (T*)column->get_raw_data().data;
146
114
            for (size_t i = start; i < size; i++) {
147
70
                if constexpr (NeedMin) {
148
70
                    _min = std::min(_min, *(data + i));
149
70
                }
150
70
                if constexpr (NeedMax) {
151
70
                    _max = std::max(_max, *(data + i));
152
70
                }
153
70
            }
154
44
        }
155
44
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
156
157
4.95k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
4.95k
        const auto size = column->size();
159
4.95k
        if constexpr (std::is_same_v<T, std::string>) {
160
165
            if (column->is_column_string64()) {
161
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
0
                                     start, size);
163
165
            } else {
164
165
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
165
                                     start, size);
166
165
            }
167
4.79k
        } else {
168
4.79k
            const T* data = (T*)column->get_raw_data().data;
169
2.01M
            for (size_t i = start; i < size; i++) {
170
2.00M
                if (!nullmap[i]) {
171
2.00M
                    if constexpr (NeedMin) {
172
2.00M
                        _min = std::min(_min, *(data + i));
173
2.00M
                    }
174
2.00M
                    if constexpr (NeedMax) {
175
2.00M
                        _max = std::max(_max, *(data + i));
176
2.00M
                    }
177
2.00M
                }
178
2.00M
            }
179
4.79k
        }
180
4.95k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
13
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
13
        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
13
        } else {
168
13
            const T* data = (T*)column->get_raw_data().data;
169
38
            for (size_t i = start; i < size; i++) {
170
25
                if (!nullmap[i]) {
171
17
                    if constexpr (NeedMin) {
172
17
                        _min = std::min(_min, *(data + i));
173
17
                    }
174
17
                    if constexpr (NeedMax) {
175
17
                        _max = std::max(_max, *(data + i));
176
17
                    }
177
17
                }
178
25
            }
179
13
        }
180
13
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
8
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
8
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
8
        } else {
168
8
            const T* data = (T*)column->get_raw_data().data;
169
32
            for (size_t i = start; i < size; i++) {
170
24
                if (!nullmap[i]) {
171
24
                    if constexpr (NeedMin) {
172
24
                        _min = std::min(_min, *(data + i));
173
24
                    }
174
24
                    if constexpr (NeedMax) {
175
24
                        _max = std::max(_max, *(data + i));
176
24
                    }
177
24
                }
178
24
            }
179
8
        }
180
8
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
818
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
818
        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
818
        } else {
168
818
            const T* data = (T*)column->get_raw_data().data;
169
2.94k
            for (size_t i = start; i < size; i++) {
170
2.13k
                if (!nullmap[i]) {
171
2.09k
                    if constexpr (NeedMin) {
172
2.09k
                        _min = std::min(_min, *(data + i));
173
2.09k
                    }
174
2.09k
                    if constexpr (NeedMax) {
175
2.09k
                        _max = std::max(_max, *(data + i));
176
2.09k
                    }
177
2.09k
                }
178
2.13k
            }
179
818
        }
180
818
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
569
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
569
        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
569
        } else {
168
569
            const T* data = (T*)column->get_raw_data().data;
169
3.58k
            for (size_t i = start; i < size; i++) {
170
3.01k
                if (!nullmap[i]) {
171
2.78k
                    if constexpr (NeedMin) {
172
2.78k
                        _min = std::min(_min, *(data + i));
173
2.78k
                    }
174
2.78k
                    if constexpr (NeedMax) {
175
2.78k
                        _max = std::max(_max, *(data + i));
176
2.78k
                    }
177
2.78k
                }
178
3.01k
            }
179
569
        }
180
569
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
2.16k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
2.16k
        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.16k
        } else {
168
2.16k
            const T* data = (T*)column->get_raw_data().data;
169
1.79M
            for (size_t i = start; i < size; i++) {
170
1.79M
                if (!nullmap[i]) {
171
1.78M
                    if constexpr (NeedMin) {
172
1.78M
                        _min = std::min(_min, *(data + i));
173
1.78M
                    }
174
1.78M
                    if constexpr (NeedMax) {
175
1.78M
                        _max = std::max(_max, *(data + i));
176
1.78M
                    }
177
1.78M
                }
178
1.79M
            }
179
2.16k
        }
180
2.16k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
770
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
770
        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
770
        } else {
168
770
            const T* data = (T*)column->get_raw_data().data;
169
203k
            for (size_t i = start; i < size; i++) {
170
202k
                if (!nullmap[i]) {
171
202k
                    if constexpr (NeedMin) {
172
202k
                        _min = std::min(_min, *(data + i));
173
202k
                    }
174
202k
                    if constexpr (NeedMax) {
175
202k
                        _max = std::max(_max, *(data + i));
176
202k
                    }
177
202k
                }
178
202k
            }
179
770
        }
180
770
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_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
4
            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
2
        }
180
2
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
16
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
16
        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
16
        } else {
168
16
            const T* data = (T*)column->get_raw_data().data;
169
40
            for (size_t i = start; i < size; i++) {
170
24
                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
24
            }
179
16
        }
180
16
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
43
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
43
        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
43
        } else {
168
43
            const T* data = (T*)column->get_raw_data().data;
169
107
            for (size_t i = start; i < size; i++) {
170
64
                if (!nullmap[i]) {
171
28
                    if constexpr (NeedMin) {
172
28
                        _min = std::min(_min, *(data + i));
173
28
                    }
174
28
                    if constexpr (NeedMax) {
175
28
                        _max = std::max(_max, *(data + i));
176
28
                    }
177
28
                }
178
64
            }
179
43
        }
180
43
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
8
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
8
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
8
        } else {
168
8
            const T* data = (T*)column->get_raw_data().data;
169
55
            for (size_t i = start; i < size; i++) {
170
48
                if (!nullmap[i]) {
171
48
                    if constexpr (NeedMin) {
172
48
                        _min = std::min(_min, *(data + i));
173
48
                    }
174
48
                    if constexpr (NeedMax) {
175
48
                        _max = std::max(_max, *(data + i));
176
48
                    }
177
48
                }
178
47
            }
179
8
        }
180
8
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
104
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
104
        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
104
        } else {
168
104
            const T* data = (T*)column->get_raw_data().data;
169
7.34k
            for (size_t i = start; i < size; i++) {
170
7.23k
                if (!nullmap[i]) {
171
7.21k
                    if constexpr (NeedMin) {
172
7.21k
                        _min = std::min(_min, *(data + i));
173
7.21k
                    }
174
7.21k
                    if constexpr (NeedMax) {
175
7.21k
                        _max = std::max(_max, *(data + i));
176
7.21k
                    }
177
7.21k
                }
178
7.23k
            }
179
104
        }
180
104
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
111
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
111
        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
111
        } else {
168
111
            const T* data = (T*)column->get_raw_data().data;
169
360
            for (size_t i = start; i < size; i++) {
170
249
                if (!nullmap[i]) {
171
223
                    if constexpr (NeedMin) {
172
223
                        _min = std::min(_min, *(data + i));
173
223
                    }
174
223
                    if constexpr (NeedMax) {
175
223
                        _max = std::max(_max, *(data + i));
176
223
                    }
177
223
                }
178
249
            }
179
111
        }
180
111
    }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE13_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
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
165
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
165
        const auto size = column->size();
159
165
        if constexpr (std::is_same_v<T, std::string>) {
160
165
            if (column->is_column_string64()) {
161
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
0
                                     start, size);
163
165
            } else {
164
165
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
165
                                     start, size);
166
165
            }
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
165
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
94
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
94
        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
94
        } else {
168
94
            const T* data = (T*)column->get_raw_data().data;
169
311
            for (size_t i = start; i < size; i++) {
170
217
                if (!nullmap[i]) {
171
135
                    if constexpr (NeedMin) {
172
135
                        _min = std::min(_min, *(data + i));
173
135
                    }
174
135
                    if constexpr (NeedMax) {
175
135
                        _max = std::max(_max, *(data + i));
176
135
                    }
177
135
                }
178
217
            }
179
94
        }
180
94
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
46
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
46
        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
46
        } else {
168
46
            const T* data = (T*)column->get_raw_data().data;
169
115
            for (size_t i = start; i < size; i++) {
170
69
                if (!nullmap[i]) {
171
62
                    if constexpr (NeedMin) {
172
62
                        _min = std::min(_min, *(data + i));
173
62
                    }
174
62
                    if constexpr (NeedMax) {
175
62
                        _max = std::max(_max, *(data + i));
176
62
                    }
177
62
                }
178
69
            }
179
46
        }
180
46
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
9
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
9
        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
9
        } else {
168
9
            const T* data = (T*)column->get_raw_data().data;
169
37
            for (size_t i = start; i < size; i++) {
170
28
                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
28
            }
179
9
        }
180
9
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
10
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
10
        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
10
        } else {
168
10
            const T* data = (T*)column->get_raw_data().data;
169
746
            for (size_t i = start; i < size; i++) {
170
736
                if (!nullmap[i]) {
171
736
                    if constexpr (NeedMin) {
172
736
                        _min = std::min(_min, *(data + i));
173
736
                    }
174
736
                    if constexpr (NeedMax) {
175
736
                        _max = std::max(_max, *(data + i));
176
736
                    }
177
736
                }
178
736
            }
179
10
        }
180
10
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
7
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
7
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
7
        } else {
168
7
            const T* data = (T*)column->get_raw_data().data;
169
707
            for (size_t i = start; i < size; i++) {
170
700
                if (!nullmap[i]) {
171
637
                    if constexpr (NeedMin) {
172
637
                        _min = std::min(_min, *(data + i));
173
637
                    }
174
637
                    if constexpr (NeedMax) {
175
637
                        _max = std::max(_max, *(data + i));
176
637
                    }
177
637
                }
178
700
            }
179
7
        }
180
7
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
181
182
    T _max = type_limit<T>::min();
183
    T _min = type_limit<T>::max();
184
185
    bool _min_value_set = false;
186
};
187
188
template <class T>
189
using MinNumFunc = MinMaxNumFunc<T, false, true>;
190
191
template <class T>
192
using MaxNumFunc = MinMaxNumFunc<T, true, false>;
193
194
} // namespace doris