Coverage Report

Created: 2026-07-09 20:07

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
23.4k
    MinMaxFuncBase(bool null_aware) : FilterBase(null_aware) {}
33
    virtual void insert_fixed_len(const ColumnPtr& column, size_t start) = 0;
34
    virtual void* get_max() = 0;
35
    virtual void* get_min() = 0;
36
    // assign minmax data
37
    virtual Status assign(void* min_data, void* max_data) = 0;
38
    // merge from other minmax_func
39
    virtual Status merge(MinMaxFuncBase* minmax_func) = 0;
40
23.4k
    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
23.4k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIhLb1ELb1EEC2Eb
Line
Count
Source
49
6
    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.15k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIsLb1ELb1EEC2Eb
Line
Count
Source
49
1.13k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIiLb1ELb1EEC2Eb
Line
Count
Source
49
12.8k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIlLb1ELb1EEC2Eb
Line
Count
Source
49
3.22k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncInLb1ELb1EEC2Eb
Line
Count
Source
49
158
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIfLb1ELb1EEC2Eb
Line
Count
Source
49
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIdLb1ELb1EEC2Eb
Line
Count
Source
49
97
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EEC2Eb
Line
Count
Source
49
20
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
49
608
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
49
2.65k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EEC2Eb
Line
Count
Source
49
16
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EEC2Eb
Line
Count
Source
49
757
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EEC2Eb
Line
Count
Source
49
160
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EEC2Eb
Line
Count
Source
49
300
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EEC2Eb
Line
Count
Source
49
188
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EEC2Eb
Line
Count
Source
49
36
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIjLb1ELb1EEC2Eb
Line
Count
Source
49
44
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIoLb1ELb1EEC2Eb
Line
Count
Source
49
36
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
50
746
    ~MinMaxNumFunc() override = default;
51
52
6.81k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
6.81k
        if (is_column_nullable(*column)) {
54
4.78k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
4.78k
            const auto& col = nullable->get_nested_column_ptr();
56
4.78k
            const auto& nullmap = nullable->get_null_map_data();
57
4.78k
            if (nullable->has_null()) {
58
3.46k
                _update_batch(col, nullmap, start);
59
3.46k
                _contain_null = true;
60
3.46k
            } else {
61
1.32k
                _update_batch(col, start);
62
1.32k
            }
63
4.78k
        } else {
64
2.02k
            _update_batch(column, start);
65
2.02k
        }
66
6.81k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE16insert_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
1
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
1
            const auto& col = nullable->get_nested_column_ptr();
56
1
            const auto& nullmap = nullable->get_null_map_data();
57
1
            if (nullable->has_null()) {
58
1
                _update_batch(col, nullmap, start);
59
1
                _contain_null = true;
60
1
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
1
        } else {
64
0
            _update_batch(column, start);
65
0
        }
66
1
    }
_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
691
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
691
        if (is_column_nullable(*column)) {
54
691
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
691
            const auto& col = nullable->get_nested_column_ptr();
56
691
            const auto& nullmap = nullable->get_null_map_data();
57
691
            if (nullable->has_null()) {
58
181
                _update_batch(col, nullmap, start);
59
181
                _contain_null = true;
60
510
            } else {
61
510
                _update_batch(col, start);
62
510
            }
63
691
        } else {
64
0
            _update_batch(column, start);
65
0
        }
66
691
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
121
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
121
        if (is_column_nullable(*column)) {
54
120
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
120
            const auto& col = nullable->get_nested_column_ptr();
56
120
            const auto& nullmap = nullable->get_null_map_data();
57
120
            if (nullable->has_null()) {
58
120
                _update_batch(col, nullmap, start);
59
120
                _contain_null = true;
60
120
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
120
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
121
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
3.84k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
3.84k
        if (is_column_nullable(*column)) {
54
2.42k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
2.42k
            const auto& col = nullable->get_nested_column_ptr();
56
2.42k
            const auto& nullmap = nullable->get_null_map_data();
57
2.42k
            if (nullable->has_null()) {
58
1.68k
                _update_batch(col, nullmap, start);
59
1.68k
                _contain_null = true;
60
1.68k
            } else {
61
738
                _update_batch(col, start);
62
738
            }
63
2.42k
        } else {
64
1.41k
            _update_batch(column, start);
65
1.41k
        }
66
3.84k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
830
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
830
        if (is_column_nullable(*column)) {
54
692
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
692
            const auto& col = nullable->get_nested_column_ptr();
56
692
            const auto& nullmap = nullable->get_null_map_data();
57
692
            if (nullable->has_null()) {
58
682
                _update_batch(col, nullmap, start);
59
682
                _contain_null = true;
60
682
            } else {
61
10
                _update_batch(col, start);
62
10
            }
63
692
        } else {
64
138
            _update_batch(column, start);
65
138
        }
66
830
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
94
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
94
        if (is_column_nullable(*column)) {
54
1
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
1
            const auto& col = nullable->get_nested_column_ptr();
56
1
            const auto& nullmap = nullable->get_null_map_data();
57
1
            if (nullable->has_null()) {
58
1
                _update_batch(col, nullmap, start);
59
1
                _contain_null = true;
60
1
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
93
        } else {
64
93
            _update_batch(column, start);
65
93
        }
66
94
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
1
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
1
        if (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
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
53
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
53
        if (is_column_nullable(*column)) {
54
52
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
52
            const auto& col = nullable->get_nested_column_ptr();
56
52
            const auto& nullmap = nullable->get_null_map_data();
57
52
            if (nullable->has_null()) {
58
45
                _update_batch(col, nullmap, start);
59
45
                _contain_null = true;
60
45
            } else {
61
7
                _update_batch(col, start);
62
7
            }
63
52
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
53
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
16
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
16
        if (is_column_nullable(*column)) {
54
14
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
14
            const auto& col = nullable->get_nested_column_ptr();
56
14
            const auto& nullmap = nullable->get_null_map_data();
57
14
            if (nullable->has_null()) {
58
14
                _update_batch(col, nullmap, start);
59
14
                _contain_null = true;
60
14
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
14
        } else {
64
2
            _update_batch(column, start);
65
2
        }
66
16
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
52
232
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
232
        if (is_column_nullable(*column)) {
54
52
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
52
            const auto& col = nullable->get_nested_column_ptr();
56
52
            const auto& nullmap = nullable->get_null_map_data();
57
52
            if (nullable->has_null()) {
58
52
                _update_batch(col, nullmap, start);
59
52
                _contain_null = true;
60
52
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
180
        } else {
64
180
            _update_batch(column, start);
65
180
        }
66
232
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
52
368
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
368
        if (is_column_nullable(*column)) {
54
317
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
317
            const auto& col = nullable->get_nested_column_ptr();
56
317
            const auto& nullmap = nullable->get_null_map_data();
57
319
            if (nullable->has_null()) {
58
319
                _update_batch(col, nullmap, start);
59
319
                _contain_null = true;
60
18.4E
            } else {
61
18.4E
                _update_batch(col, start);
62
18.4E
            }
63
317
        } else {
64
51
            _update_batch(column, start);
65
51
        }
66
368
    }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_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
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
0
            _update_batch(column, start);
65
0
        }
66
8
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
52
256
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
256
        if (is_column_nullable(*column)) {
54
182
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
182
            const auto& col = nullable->get_nested_column_ptr();
56
182
            const auto& nullmap = nullable->get_null_map_data();
57
182
            if (nullable->has_null()) {
58
129
                _update_batch(col, nullmap, start);
59
129
                _contain_null = true;
60
129
            } else {
61
53
                _update_batch(col, start);
62
53
            }
63
182
        } else {
64
74
            _update_batch(column, start);
65
74
        }
66
256
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
52
34
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
34
        if (is_column_nullable(*column)) {
54
33
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
33
            const auto& col = nullable->get_nested_column_ptr();
56
33
            const auto& nullmap = nullable->get_null_map_data();
57
33
            if (nullable->has_null()) {
58
33
                _update_batch(col, nullmap, start);
59
33
                _contain_null = true;
60
33
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
33
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
34
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
52
113
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
113
        if (is_column_nullable(*column)) {
54
88
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
88
            const auto& col = nullable->get_nested_column_ptr();
56
88
            const auto& nullmap = nullable->get_null_map_data();
57
88
            if (nullable->has_null()) {
58
88
                _update_batch(col, nullmap, start);
59
88
                _contain_null = true;
60
88
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
88
        } else {
64
25
            _update_batch(column, start);
65
25
        }
66
113
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
58
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
58
        if (is_column_nullable(*column)) {
54
21
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
21
            const auto& col = nullable->get_nested_column_ptr();
56
21
            const auto& nullmap = nullable->get_null_map_data();
57
21
            if (nullable->has_null()) {
58
9
                _update_batch(col, nullmap, start);
59
9
                _contain_null = true;
60
12
            } else {
61
12
                _update_batch(col, start);
62
12
            }
63
37
        } else {
64
37
            _update_batch(column, start);
65
37
        }
66
58
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EEm
Line
Count
Source
52
18
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
18
        if (is_column_nullable(*column)) {
54
17
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
17
            const auto& col = nullable->get_nested_column_ptr();
56
17
            const auto& nullmap = nullable->get_null_map_data();
57
17
            if (nullable->has_null()) {
58
17
                _update_batch(col, nullmap, start);
59
17
                _contain_null = true;
60
17
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
17
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
18
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
38
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
38
        if (is_column_nullable(*column)) {
54
36
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
36
            const auto& col = nullable->get_nested_column_ptr();
56
36
            const auto& nullmap = nullable->get_null_map_data();
57
37
            if (nullable->has_null()) {
58
37
                _update_batch(col, nullmap, start);
59
37
                _contain_null = true;
60
18.4E
            } else {
61
18.4E
                _update_batch(col, start);
62
18.4E
            }
63
36
        } else {
64
2
            _update_batch(column, start);
65
2
        }
66
38
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
33
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
33
        if (is_column_nullable(*column)) {
54
32
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
32
            const auto& col = nullable->get_nested_column_ptr();
56
32
            const auto& nullmap = nullable->get_null_map_data();
57
32
            if (nullable->has_null()) {
58
32
                _update_batch(col, nullmap, start);
59
32
                _contain_null = true;
60
32
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
32
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
33
    }
67
68
12.6k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
12.6k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
12.6k
        if constexpr (NeedMin) {
71
12.6k
            if constexpr (IsStringValue) {
72
212
                if (other_minmax->_min < _min || !_min_value_set) {
73
34
                    _min = other_minmax->_min;
74
34
                    _min_value_set = true;
75
34
                }
76
12.4k
            } else if (other_minmax->_min < _min) {
77
994
                _min = other_minmax->_min;
78
994
            }
79
12.6k
        }
80
12.6k
        if constexpr (NeedMax) {
81
12.6k
            if (other_minmax->_max > _max) {
82
1.04k
                _max = other_minmax->_max;
83
1.04k
            }
84
12.6k
        }
85
86
12.6k
        _contain_null |= minmax_func->contain_null();
87
12.6k
        return Status::OK();
88
12.6k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
1
    Status merge(MinMaxFuncBase* minmax_func) override {
69
1
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
1
        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
            } else if (other_minmax->_min < _min) {
77
1
                _min = other_minmax->_min;
78
1
            }
79
1
        }
80
1
        if constexpr (NeedMax) {
81
1
            if (other_minmax->_max > _max) {
82
1
                _max = other_minmax->_max;
83
1
            }
84
1
        }
85
86
1
        _contain_null |= minmax_func->contain_null();
87
1
        return Status::OK();
88
1
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
750
    Status merge(MinMaxFuncBase* minmax_func) override {
69
750
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
750
        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
750
            } else if (other_minmax->_min < _min) {
77
25
                _min = other_minmax->_min;
78
25
            }
79
750
        }
80
750
        if constexpr (NeedMax) {
81
750
            if (other_minmax->_max > _max) {
82
23
                _max = other_minmax->_max;
83
23
            }
84
750
        }
85
86
750
        _contain_null |= minmax_func->contain_null();
87
750
        return Status::OK();
88
750
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
733
    Status merge(MinMaxFuncBase* minmax_func) override {
69
733
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
733
        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
733
            } else if (other_minmax->_min < _min) {
77
21
                _min = other_minmax->_min;
78
21
            }
79
733
        }
80
733
        if constexpr (NeedMax) {
81
733
            if (other_minmax->_max > _max) {
82
24
                _max = other_minmax->_max;
83
24
            }
84
733
        }
85
86
733
        _contain_null |= minmax_func->contain_null();
87
733
        return Status::OK();
88
733
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
6.96k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
6.96k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
6.96k
        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
6.96k
            } else if (other_minmax->_min < _min) {
77
673
                _min = other_minmax->_min;
78
673
            }
79
6.96k
        }
80
6.96k
        if constexpr (NeedMax) {
81
6.96k
            if (other_minmax->_max > _max) {
82
678
                _max = other_minmax->_max;
83
678
            }
84
6.96k
        }
85
86
6.96k
        _contain_null |= minmax_func->contain_null();
87
6.96k
        return Status::OK();
88
6.96k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
1.09k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
1.09k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
1.09k
        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.09k
            } else if (other_minmax->_min < _min) {
77
86
                _min = other_minmax->_min;
78
86
            }
79
1.09k
        }
80
1.09k
        if constexpr (NeedMax) {
81
1.09k
            if (other_minmax->_max > _max) {
82
90
                _max = other_minmax->_max;
83
90
            }
84
1.09k
        }
85
86
1.09k
        _contain_null |= minmax_func->contain_null();
87
1.09k
        return Status::OK();
88
1.09k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
65
    Status merge(MinMaxFuncBase* minmax_func) override {
69
65
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
65
        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
65
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
65
        }
80
65
        if constexpr (NeedMax) {
81
65
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
65
        }
85
86
65
        _contain_null |= minmax_func->contain_null();
87
65
        return Status::OK();
88
65
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
57
    Status merge(MinMaxFuncBase* minmax_func) override {
69
57
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
57
        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
57
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
57
        }
80
57
        if constexpr (NeedMax) {
81
57
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
57
        }
85
86
57
        _contain_null |= minmax_func->contain_null();
87
57
        return Status::OK();
88
57
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
12
    Status merge(MinMaxFuncBase* minmax_func) override {
69
12
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
12
        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
12
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
12
        }
80
12
        if constexpr (NeedMax) {
81
12
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
12
        }
85
86
12
        _contain_null |= minmax_func->contain_null();
87
12
        return Status::OK();
88
12
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
270
    Status merge(MinMaxFuncBase* minmax_func) override {
69
270
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
270
        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
270
            } else if (other_minmax->_min < _min) {
77
31
                _min = other_minmax->_min;
78
31
            }
79
270
        }
80
270
        if constexpr (NeedMax) {
81
270
            if (other_minmax->_max > _max) {
82
33
                _max = other_minmax->_max;
83
33
            }
84
270
        }
85
86
270
        _contain_null |= minmax_func->contain_null();
87
270
        return Status::OK();
88
270
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
2.13k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
2.13k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
2.13k
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
2.13k
            } else if (other_minmax->_min < _min) {
77
140
                _min = other_minmax->_min;
78
140
            }
79
2.13k
        }
80
2.13k
        if constexpr (NeedMax) {
81
2.13k
            if (other_minmax->_max > _max) {
82
154
                _max = other_minmax->_max;
83
154
            }
84
2.13k
        }
85
86
2.13k
        _contain_null |= minmax_func->contain_null();
87
2.13k
        return Status::OK();
88
2.13k
    }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
6
    Status merge(MinMaxFuncBase* minmax_func) override {
69
6
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
6
        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
6
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
6
        }
80
6
        if constexpr (NeedMax) {
81
6
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
6
        }
85
86
6
        _contain_null |= minmax_func->contain_null();
87
6
        return Status::OK();
88
6
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
212
    Status merge(MinMaxFuncBase* minmax_func) override {
69
212
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
212
        if constexpr (NeedMin) {
71
212
            if constexpr (IsStringValue) {
72
212
                if (other_minmax->_min < _min || !_min_value_set) {
73
34
                    _min = other_minmax->_min;
74
34
                    _min_value_set = true;
75
34
                }
76
            } else if (other_minmax->_min < _min) {
77
                _min = other_minmax->_min;
78
            }
79
212
        }
80
212
        if constexpr (NeedMax) {
81
212
            if (other_minmax->_max > _max) {
82
24
                _max = other_minmax->_max;
83
24
            }
84
212
        }
85
86
212
        _contain_null |= minmax_func->contain_null();
87
212
        return Status::OK();
88
212
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
80
    Status merge(MinMaxFuncBase* minmax_func) override {
69
80
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
80
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
80
            } else if (other_minmax->_min < _min) {
77
5
                _min = other_minmax->_min;
78
5
            }
79
80
        }
80
80
        if constexpr (NeedMax) {
81
80
            if (other_minmax->_max > _max) {
82
5
                _max = other_minmax->_max;
83
5
            }
84
80
        }
85
86
80
        _contain_null |= minmax_func->contain_null();
87
80
        return Status::OK();
88
80
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
156
    Status merge(MinMaxFuncBase* minmax_func) override {
69
156
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
156
        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
156
            } else if (other_minmax->_min < _min) {
77
7
                _min = other_minmax->_min;
78
7
            }
79
156
        }
80
156
        if constexpr (NeedMax) {
81
156
            if (other_minmax->_max > _max) {
82
5
                _max = other_minmax->_max;
83
5
            }
84
156
        }
85
86
156
        _contain_null |= minmax_func->contain_null();
87
156
        return Status::OK();
88
156
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
93
    Status merge(MinMaxFuncBase* minmax_func) override {
69
93
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
93
        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
93
            } else if (other_minmax->_min < _min) {
77
5
                _min = other_minmax->_min;
78
5
            }
79
93
        }
80
93
        if constexpr (NeedMax) {
81
93
            if (other_minmax->_max > _max) {
82
5
                _max = other_minmax->_max;
83
5
            }
84
93
        }
85
86
93
        _contain_null |= minmax_func->contain_null();
87
93
        return Status::OK();
88
93
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
9
    Status merge(MinMaxFuncBase* minmax_func) override {
69
9
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
9
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
9
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
9
        }
80
9
        if constexpr (NeedMax) {
81
9
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
9
        }
85
86
9
        _contain_null |= minmax_func->contain_null();
87
9
        return Status::OK();
88
9
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
30
    Status merge(MinMaxFuncBase* minmax_func) override {
69
30
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
30
        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
30
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
30
        }
80
30
        if constexpr (NeedMax) {
81
30
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
30
        }
85
86
30
        _contain_null |= minmax_func->contain_null();
87
30
        return Status::OK();
88
30
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
30
    Status merge(MinMaxFuncBase* minmax_func) override {
69
30
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
30
        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
30
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
30
        }
80
30
        if constexpr (NeedMax) {
81
30
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
30
        }
85
86
30
        _contain_null |= minmax_func->contain_null();
87
30
        return Status::OK();
88
30
    }
89
90
5.34k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_maxEv
Line
Count
Source
90
3
    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
175
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_maxEv
Line
Count
Source
90
128
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_maxEv
Line
Count
Source
90
2.80k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_maxEv
Line
Count
Source
90
1.12k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_maxEv
Line
Count
Source
90
63
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE7get_maxEv
Line
Count
Source
90
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7get_maxEv
Line
Count
Source
90
13
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_maxEv
Line
Count
Source
90
6
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
161
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
309
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_maxEv
Line
Count
Source
90
5
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
322
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_maxEv
Line
Count
Source
90
41
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_maxEv
Line
Count
Source
90
94
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_maxEv
Line
Count
Source
90
49
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
19
    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
4
    void* get_max() override { return &_max; }
91
92
5.36k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_minEv
Line
Count
Source
92
3
    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
160
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_minEv
Line
Count
Source
92
128
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_minEv
Line
Count
Source
92
2.81k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_minEv
Line
Count
Source
92
1.14k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_minEv
Line
Count
Source
92
65
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE7get_minEv
Line
Count
Source
92
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7get_minEv
Line
Count
Source
92
6
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_minEv
Line
Count
Source
92
6
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
92
164
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
92
311
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_minEv
Line
Count
Source
92
5
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_minEv
Line
Count
Source
92
326
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_minEv
Line
Count
Source
92
41
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_minEv
Line
Count
Source
92
95
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_minEv
Line
Count
Source
92
51
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_minEv
Line
Count
Source
92
19
    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
4
    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
67
            _min_value_set = true;
97
67
        }
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
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
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
53
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
53
        _min = *(T*)min_data;
99
53
        _max = *(T*)max_data;
100
53
        return Status::OK();
101
53
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1.12k
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1.12k
        _min = *(T*)min_data;
99
1.12k
        _max = *(T*)max_data;
100
1.12k
        return Status::OK();
101
1.12k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
165
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
165
        _min = *(T*)min_data;
99
165
        _max = *(T*)max_data;
100
165
        return Status::OK();
101
165
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
3
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
3
        _min = *(T*)min_data;
99
3
        _max = *(T*)max_data;
100
3
        return Status::OK();
101
3
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE6assignEPvS3_
Line
Count
Source
94
2
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
2
        _min = *(T*)min_data;
99
2
        _max = *(T*)max_data;
100
2
        return Status::OK();
101
2
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
94
51
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
51
        _min = *(T*)min_data;
99
51
        _max = *(T*)max_data;
100
51
        return Status::OK();
101
51
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
94
143
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
143
        _min = *(T*)min_data;
99
143
        _max = *(T*)max_data;
100
143
        return Status::OK();
101
143
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE6assignEPvS3_
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE6assignEPvS8_
Line
Count
Source
94
67
    Status assign(void* min_data, void* max_data) override {
95
67
        if constexpr (IsStringValue) {
96
67
            _min_value_set = true;
97
67
        }
98
67
        _min = *(T*)min_data;
99
67
        _max = *(T*)max_data;
100
67
        return Status::OK();
101
67
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE6assignEPvS4_
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_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
15
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
15
        _min = *(T*)min_data;
99
15
        _max = *(T*)max_data;
100
15
        return Status::OK();
101
15
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE6assignEPvS7_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
102
103
1.87k
    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
24
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
59
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
1.29k
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
179
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncInLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
2
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
50
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
142
    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
64
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
10
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
19
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
26
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIoLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
104
105
private:
106
1.86k
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
1.86k
        if constexpr (NeedMin) {
108
1.86k
            f(filter->mutable_min_val(), _min);
109
1.86k
        }
110
1.86k
        if constexpr (NeedMax) {
111
1.86k
            f(filter->mutable_max_val(), _max);
112
1.86k
        }
113
1.86k
    }
_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
24
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
24
        if constexpr (NeedMin) {
108
24
            f(filter->mutable_min_val(), _min);
109
24
        }
110
24
        if constexpr (NeedMax) {
111
24
            f(filter->mutable_max_val(), _max);
112
24
        }
113
24
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7_set_pbIZNS_13get_convertorIsEEDavEUlPNS_12PColumnValueERKsE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
59
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
59
        if constexpr (NeedMin) {
108
59
            f(filter->mutable_min_val(), _min);
109
59
        }
110
59
        if constexpr (NeedMax) {
111
59
            f(filter->mutable_max_val(), _max);
112
59
        }
113
59
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7_set_pbIZNS_13get_convertorIiEEDavEUlPNS_12PColumnValueERKiE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
1.29k
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
1.29k
        if constexpr (NeedMin) {
108
1.29k
            f(filter->mutable_min_val(), _min);
109
1.29k
        }
110
1.29k
        if constexpr (NeedMax) {
111
1.29k
            f(filter->mutable_max_val(), _max);
112
1.29k
        }
113
1.29k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7_set_pbIZNS_13get_convertorIlEEDavEUlPNS_12PColumnValueERKlE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
179
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
179
        if constexpr (NeedMin) {
108
179
            f(filter->mutable_min_val(), _min);
109
179
        }
110
179
        if constexpr (NeedMax) {
111
179
            f(filter->mutable_max_val(), _max);
112
179
        }
113
179
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncInLb1ELb1EE7_set_pbIZNS_13get_convertorInEEDavEUlPNS_12PColumnValueERKnE_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE7_set_pbIZNS_13get_convertorIfEEDavEUlPNS_12PColumnValueERKfE_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7_set_pbIZNS_13get_convertorIdEEDavEUlPNS_12PColumnValueERKdE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
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_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
50
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
50
        if constexpr (NeedMin) {
108
50
            f(filter->mutable_min_val(), _min);
109
50
        }
110
50
        if constexpr (NeedMax) {
111
50
            f(filter->mutable_max_val(), _max);
112
50
        }
113
50
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
142
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
142
        if constexpr (NeedMin) {
108
142
            f(filter->mutable_min_val(), _min);
109
142
        }
110
142
        if constexpr (NeedMax) {
111
142
            f(filter->mutable_max_val(), _max);
112
142
        }
113
142
    }
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
64
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
64
        if constexpr (NeedMin) {
108
64
            f(filter->mutable_min_val(), _min);
109
64
        }
110
64
        if constexpr (NeedMax) {
111
64
            f(filter->mutable_max_val(), _max);
112
64
        }
113
64
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7_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_7DecimalIlEELb1ELb1EE7_set_pbIZNS_13get_convertorIS2_EEDavEUlPNS_12PColumnValueERKS2_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
19
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
19
        if constexpr (NeedMin) {
108
19
            f(filter->mutable_min_val(), _min);
109
19
        }
110
19
        if constexpr (NeedMax) {
111
19
            f(filter->mutable_max_val(), _max);
112
19
        }
113
19
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
26
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
26
        if constexpr (NeedMin) {
108
26
            f(filter->mutable_min_val(), _min);
109
26
        }
110
26
        if constexpr (NeedMax) {
111
26
            f(filter->mutable_max_val(), _max);
112
26
        }
113
26
    }
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
256
                              size_t start, size_t size) {
117
2.64k
        for (size_t i = start; i < size; i++) {
118
2.39k
            if (nullmap == nullptr || !nullmap[i]) {
119
2.38k
                if constexpr (NeedMin) {
120
2.38k
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
121
313
                        _min = column_string.get_data_at(i).to_string();
122
313
                        _min_value_set = true;
123
313
                    }
124
2.38k
                }
125
2.38k
                if constexpr (NeedMax) {
126
2.38k
                    if (column_string.get_data_at(i) > StringRef(_max)) {
127
607
                        _max = column_string.get_data_at(i).to_string();
128
607
                    }
129
2.38k
                }
130
2.38k
            }
131
2.39k
        }
132
256
    }
_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
255
                              size_t start, size_t size) {
117
2.63k
        for (size_t i = start; i < size; i++) {
118
2.38k
            if (nullmap == nullptr || !nullmap[i]) {
119
2.37k
                if constexpr (NeedMin) {
120
2.37k
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
121
312
                        _min = column_string.get_data_at(i).to_string();
122
312
                        _min_value_set = true;
123
312
                    }
124
2.37k
                }
125
2.37k
                if constexpr (NeedMax) {
126
2.37k
                    if (column_string.get_data_at(i) > StringRef(_max)) {
127
599
                        _max = column_string.get_data_at(i).to_string();
128
599
                    }
129
2.37k
                }
130
2.37k
            }
131
2.38k
        }
132
255
    }
133
134
3.36k
    void _update_batch(const ColumnPtr& column, size_t start) {
135
3.36k
        const auto size = column->size();
136
3.36k
        if constexpr (std::is_same_v<T, std::string>) {
137
127
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
1
                                     size);
140
126
            } else {
141
126
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
126
                                     size);
143
126
            }
144
3.23k
        } else {
145
3.23k
            const T* data = (T*)column->get_raw_data().data;
146
1.40M
            for (size_t i = start; i < size; i++) {
147
1.40M
                if constexpr (NeedMin) {
148
1.40M
                    _min = std::min(_min, *(data + i));
149
1.40M
                }
150
1.40M
                if constexpr (NeedMax) {
151
1.40M
                    _max = std::max(_max, *(data + i));
152
1.40M
                }
153
1.40M
            }
154
3.23k
        }
155
3.36k
    }
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
517
    void _update_batch(const ColumnPtr& column, size_t start) {
135
517
        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
517
        } else {
145
517
            const T* data = (T*)column->get_raw_data().data;
146
1.57k
            for (size_t i = start; i < size; i++) {
147
1.05k
                if constexpr (NeedMin) {
148
1.05k
                    _min = std::min(_min, *(data + i));
149
1.05k
                }
150
1.05k
                if constexpr (NeedMax) {
151
1.05k
                    _max = std::max(_max, *(data + i));
152
1.05k
                }
153
1.05k
            }
154
517
        }
155
517
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
2.15k
    void _update_batch(const ColumnPtr& column, size_t start) {
135
2.15k
        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.15k
        } else {
145
2.15k
            const T* data = (T*)column->get_raw_data().data;
146
1.40M
            for (size_t i = start; i < size; i++) {
147
1.40M
                if constexpr (NeedMin) {
148
1.40M
                    _min = std::min(_min, *(data + i));
149
1.40M
                }
150
1.40M
                if constexpr (NeedMax) {
151
1.40M
                    _max = std::max(_max, *(data + i));
152
1.40M
                }
153
1.40M
            }
154
2.15k
        }
155
2.15k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
148
    void _update_batch(const ColumnPtr& column, size_t start) {
135
148
        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
148
        } else {
145
148
            const T* data = (T*)column->get_raw_data().data;
146
684
            for (size_t i = start; i < size; i++) {
147
536
                if constexpr (NeedMin) {
148
536
                    _min = std::min(_min, *(data + i));
149
536
                }
150
536
                if constexpr (NeedMax) {
151
536
                    _max = std::max(_max, *(data + i));
152
536
                }
153
536
            }
154
148
        }
155
148
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
93
    void _update_batch(const ColumnPtr& column, size_t start) {
135
93
        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
93
        } else {
145
93
            const T* data = (T*)column->get_raw_data().data;
146
317
            for (size_t i = start; i < size; i++) {
147
224
                if constexpr (NeedMin) {
148
224
                    _min = std::min(_min, *(data + i));
149
224
                }
150
224
                if constexpr (NeedMax) {
151
224
                    _max = std::max(_max, *(data + i));
152
224
                }
153
224
            }
154
93
        }
155
93
    }
_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
8
    void _update_batch(const ColumnPtr& column, size_t start) {
135
8
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
8
        } else {
145
8
            const T* data = (T*)column->get_raw_data().data;
146
18
            for (size_t i = start; i < size; i++) {
147
10
                if constexpr (NeedMin) {
148
10
                    _min = std::min(_min, *(data + i));
149
10
                }
150
10
                if constexpr (NeedMax) {
151
10
                    _max = std::max(_max, *(data + i));
152
10
                }
153
10
            }
154
8
        }
155
8
    }
_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
180
    void _update_batch(const ColumnPtr& column, size_t start) {
135
180
        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
180
        } else {
145
180
            const T* data = (T*)column->get_raw_data().data;
146
541
            for (size_t i = start; i < size; i++) {
147
361
                if constexpr (NeedMin) {
148
361
                    _min = std::min(_min, *(data + i));
149
361
                }
150
361
                if constexpr (NeedMax) {
151
361
                    _max = std::max(_max, *(data + i));
152
361
                }
153
361
            }
154
180
        }
155
180
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
134
50
    void _update_batch(const ColumnPtr& column, size_t start) {
135
50
        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
50
        } else {
145
50
            const T* data = (T*)column->get_raw_data().data;
146
202
            for (size_t i = start; i < size; i++) {
147
152
                if constexpr (NeedMin) {
148
152
                    _min = std::min(_min, *(data + i));
149
152
                }
150
152
                if constexpr (NeedMax) {
151
152
                    _max = std::max(_max, *(data + i));
152
152
                }
153
152
            }
154
50
        }
155
50
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
134
127
    void _update_batch(const ColumnPtr& column, size_t start) {
135
127
        const auto size = column->size();
136
127
        if constexpr (std::is_same_v<T, std::string>) {
137
127
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
1
                                     size);
140
126
            } else {
141
126
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
126
                                     size);
143
126
            }
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
127
    }
_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
25
    void _update_batch(const ColumnPtr& column, size_t start) {
135
25
        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
25
        } else {
145
25
            const T* data = (T*)column->get_raw_data().data;
146
87
            for (size_t i = start; i < size; i++) {
147
62
                if constexpr (NeedMin) {
148
62
                    _min = std::min(_min, *(data + i));
149
62
                }
150
62
                if constexpr (NeedMax) {
151
62
                    _max = std::max(_max, *(data + i));
152
62
                }
153
62
            }
154
25
        }
155
25
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
134
49
    void _update_batch(const ColumnPtr& column, size_t start) {
135
49
        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
49
        } else {
145
49
            const T* data = (T*)column->get_raw_data().data;
146
111
            for (size_t i = start; i < size; i++) {
147
62
                if constexpr (NeedMin) {
148
62
                    _min = std::min(_min, *(data + i));
149
62
                }
150
62
                if constexpr (NeedMax) {
151
62
                    _max = std::max(_max, *(data + i));
152
62
                }
153
62
            }
154
49
        }
155
49
    }
_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
3.45k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
3.45k
        const auto size = column->size();
159
3.45k
        if constexpr (std::is_same_v<T, std::string>) {
160
129
            if (column->is_column_string64()) {
161
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
0
                                     start, size);
163
129
            } else {
164
129
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
129
                                     start, size);
166
129
            }
167
3.32k
        } else {
168
3.32k
            const T* data = (T*)column->get_raw_data().data;
169
3.22M
            for (size_t i = start; i < size; i++) {
170
3.22M
                if (!nullmap[i]) {
171
3.11M
                    if constexpr (NeedMin) {
172
3.11M
                        _min = std::min(_min, *(data + i));
173
3.11M
                    }
174
3.11M
                    if constexpr (NeedMax) {
175
3.11M
                        _max = std::max(_max, *(data + i));
176
3.11M
                    }
177
3.11M
                }
178
3.22M
            }
179
3.32k
        }
180
3.45k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
1
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
1
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
1
        } else {
168
1
            const T* data = (T*)column->get_raw_data().data;
169
4
            for (size_t i = start; i < size; i++) {
170
3
                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
3
            }
179
1
        }
180
1
    }
_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
30
            for (size_t i = start; i < size; i++) {
170
23
                if (!nullmap[i]) {
171
23
                    if constexpr (NeedMin) {
172
23
                        _min = std::min(_min, *(data + i));
173
23
                    }
174
23
                    if constexpr (NeedMax) {
175
23
                        _max = std::max(_max, *(data + i));
176
23
                    }
177
23
                }
178
22
            }
179
8
        }
180
8
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
179
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
179
        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
179
        } else {
168
179
            const T* data = (T*)column->get_raw_data().data;
169
579
            for (size_t i = start; i < size; i++) {
170
400
                if (!nullmap[i]) {
171
360
                    if constexpr (NeedMin) {
172
360
                        _min = std::min(_min, *(data + i));
173
360
                    }
174
360
                    if constexpr (NeedMax) {
175
360
                        _max = std::max(_max, *(data + i));
176
360
                    }
177
360
                }
178
400
            }
179
179
        }
180
179
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
120
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
120
        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
120
        } else {
168
120
            const T* data = (T*)column->get_raw_data().data;
169
637
            for (size_t i = start; i < size; i++) {
170
517
                if (!nullmap[i]) {
171
424
                    if constexpr (NeedMin) {
172
424
                        _min = std::min(_min, *(data + i));
173
424
                    }
174
424
                    if constexpr (NeedMax) {
175
424
                        _max = std::max(_max, *(data + i));
176
424
                    }
177
424
                }
178
517
            }
179
120
        }
180
120
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
1.68k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
1.68k
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
1.68k
        } else {
168
1.68k
            const T* data = (T*)column->get_raw_data().data;
169
3.21M
            for (size_t i = start; i < size; i++) {
170
3.21M
                if (!nullmap[i]) {
171
3.10M
                    if constexpr (NeedMin) {
172
3.10M
                        _min = std::min(_min, *(data + i));
173
3.10M
                    }
174
3.10M
                    if constexpr (NeedMax) {
175
3.10M
                        _max = std::max(_max, *(data + i));
176
3.10M
                    }
177
3.10M
                }
178
3.21M
            }
179
1.68k
        }
180
1.68k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
681
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
681
        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
681
        } else {
168
681
            const T* data = (T*)column->get_raw_data().data;
169
3.25k
            for (size_t i = start; i < size; i++) {
170
2.57k
                if (!nullmap[i]) {
171
2.32k
                    if constexpr (NeedMin) {
172
2.32k
                        _min = std::min(_min, *(data + i));
173
2.32k
                    }
174
2.32k
                    if constexpr (NeedMax) {
175
2.32k
                        _max = std::max(_max, *(data + i));
176
2.32k
                    }
177
2.32k
                }
178
2.57k
            }
179
681
        }
180
681
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
1
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
1
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
1
        } else {
168
1
            const T* data = (T*)column->get_raw_data().data;
169
3
            for (size_t i = start; i < size; i++) {
170
2
                if (!nullmap[i]) {
171
2
                    if constexpr (NeedMin) {
172
2
                        _min = std::min(_min, *(data + i));
173
2
                    }
174
2
                    if constexpr (NeedMax) {
175
2
                        _max = std::max(_max, *(data + i));
176
2
                    }
177
2
                }
178
2
            }
179
1
        }
180
1
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
45
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
45
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
45
        } else {
168
45
            const T* data = (T*)column->get_raw_data().data;
169
96
            for (size_t i = start; i < size; i++) {
170
51
                if (!nullmap[i]) {
171
8
                    if constexpr (NeedMin) {
172
8
                        _min = std::min(_min, *(data + i));
173
8
                    }
174
8
                    if constexpr (NeedMax) {
175
8
                        _max = std::max(_max, *(data + i));
176
8
                    }
177
8
                }
178
51
            }
179
45
        }
180
45
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
14
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
14
        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
14
        } else {
168
14
            const T* data = (T*)column->get_raw_data().data;
169
56
            for (size_t i = start; i < size; i++) {
170
42
                if (!nullmap[i]) {
171
42
                    if constexpr (NeedMin) {
172
42
                        _min = std::min(_min, *(data + i));
173
42
                    }
174
42
                    if constexpr (NeedMax) {
175
42
                        _max = std::max(_max, *(data + i));
176
42
                    }
177
42
                }
178
42
            }
179
14
        }
180
14
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
52
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
52
        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
52
        } else {
168
52
            const T* data = (T*)column->get_raw_data().data;
169
1.94k
            for (size_t i = start; i < size; i++) {
170
1.89k
                if (!nullmap[i]) {
171
1.83k
                    if constexpr (NeedMin) {
172
1.83k
                        _min = std::min(_min, *(data + i));
173
1.83k
                    }
174
1.83k
                    if constexpr (NeedMax) {
175
1.83k
                        _max = std::max(_max, *(data + i));
176
1.83k
                    }
177
1.83k
                }
178
1.89k
            }
179
52
        }
180
52
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
318
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
318
        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
318
        } else {
168
318
            const T* data = (T*)column->get_raw_data().data;
169
714
            for (size_t i = start; i < size; i++) {
170
396
                if (!nullmap[i]) {
171
390
                    if constexpr (NeedMin) {
172
390
                        _min = std::min(_min, *(data + i));
173
390
                    }
174
390
                    if constexpr (NeedMax) {
175
390
                        _max = std::max(_max, *(data + i));
176
390
                    }
177
390
                }
178
396
            }
179
318
        }
180
318
    }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE13_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
31
            for (size_t i = start; i < size; i++) {
170
23
                if (!nullmap[i]) {
171
22
                    if constexpr (NeedMin) {
172
22
                        _min = std::min(_min, *(data + i));
173
22
                    }
174
22
                    if constexpr (NeedMax) {
175
22
                        _max = std::max(_max, *(data + i));
176
22
                    }
177
22
                }
178
23
            }
179
8
        }
180
8
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
129
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
129
        const auto size = column->size();
159
129
        if constexpr (std::is_same_v<T, std::string>) {
160
129
            if (column->is_column_string64()) {
161
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
0
                                     start, size);
163
129
            } else {
164
129
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
129
                                     start, size);
166
129
            }
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
129
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
33
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
33
        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
33
        } else {
168
33
            const T* data = (T*)column->get_raw_data().data;
169
120
            for (size_t i = start; i < size; i++) {
170
87
                if (!nullmap[i]) {
171
50
                    if constexpr (NeedMin) {
172
50
                        _min = std::min(_min, *(data + i));
173
50
                    }
174
50
                    if constexpr (NeedMax) {
175
50
                        _max = std::max(_max, *(data + i));
176
50
                    }
177
50
                }
178
87
            }
179
33
        }
180
33
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
88
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
88
        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
88
        } else {
168
88
            const T* data = (T*)column->get_raw_data().data;
169
180
            for (size_t i = start; i < size; i++) {
170
92
                if (!nullmap[i]) {
171
91
                    if constexpr (NeedMin) {
172
91
                        _min = std::min(_min, *(data + i));
173
91
                    }
174
91
                    if constexpr (NeedMax) {
175
91
                        _max = std::max(_max, *(data + i));
176
91
                    }
177
91
                }
178
92
            }
179
88
        }
180
88
    }
_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
35
            for (size_t i = start; i < size; i++) {
170
26
                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
26
            }
179
9
        }
180
9
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
17
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
17
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
17
        } else {
168
17
            const T* data = (T*)column->get_raw_data().data;
169
659
            for (size_t i = start; i < size; i++) {
170
642
                if (!nullmap[i]) {
171
640
                    if constexpr (NeedMin) {
172
640
                        _min = std::min(_min, *(data + i));
173
640
                    }
174
640
                    if constexpr (NeedMax) {
175
640
                        _max = std::max(_max, *(data + i));
176
640
                    }
177
640
                }
178
642
            }
179
17
        }
180
17
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
37
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
37
        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
37
        } else {
168
37
            const T* data = (T*)column->get_raw_data().data;
169
882
            for (size_t i = start; i < size; i++) {
170
845
                if (!nullmap[i]) {
171
769
                    if constexpr (NeedMin) {
172
769
                        _min = std::min(_min, *(data + i));
173
769
                    }
174
769
                    if constexpr (NeedMax) {
175
769
                        _max = std::max(_max, *(data + i));
176
769
                    }
177
769
                }
178
845
            }
179
37
        }
180
37
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
32
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
32
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
32
        } else {
168
32
            const T* data = (T*)column->get_raw_data().data;
169
384
            for (size_t i = start; i < size; i++) {
170
352
                if (!nullmap[i]) {
171
320
                    if constexpr (NeedMin) {
172
320
                        _min = std::min(_min, *(data + i));
173
320
                    }
174
320
                    if constexpr (NeedMax) {
175
320
                        _max = std::max(_max, *(data + i));
176
320
                    }
177
320
                }
178
352
            }
179
32
        }
180
32
    }
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