Coverage Report

Created: 2026-10-28 19:06

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
19.9k
    MinMaxFuncBase(bool null_aware) : FilterBase(null_aware) {}
33
    virtual void insert_fixed_len(const ColumnPtr& column, size_t start) = 0;
34
    virtual void* get_max() = 0;
35
    virtual void* get_min() = 0;
36
    // assign minmax data
37
    virtual Status assign(void* min_data, void* max_data) = 0;
38
    // merge from other minmax_func
39
    virtual Status merge(MinMaxFuncBase* minmax_func) = 0;
40
    // Deep copy. The returned object shares nothing with this one.
41
    virtual MinMaxFuncBase* clone() const = 0;
42
20.0k
    virtual ~MinMaxFuncBase() = default;
43
44
    virtual void to_pb(PMinMaxFilter* filter) = 0;
45
};
46
47
template <class T, bool NeedMax = true, bool NeedMin = true>
48
class MinMaxNumFunc : public MinMaxFuncBase {
49
public:
50
    static constexpr bool IsStringValue = std::is_same_v<T, std::string>;
51
19.9k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIhLb1ELb1EEC2Eb
Line
Count
Source
51
9
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EEC2Eb
Line
Count
Source
51
18
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIaLb1ELb1EEC2Eb
Line
Count
Source
51
1.13k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIsLb1ELb1EEC2Eb
Line
Count
Source
51
854
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIiLb1ELb1EEC2Eb
Line
Count
Source
51
10.9k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIlLb1ELb1EEC2Eb
Line
Count
Source
51
4.37k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncInLb1ELb1EEC2Eb
Line
Count
Source
51
317
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIfLb1ELb1EEC2Eb
Line
Count
Source
51
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIdLb1ELb1EEC2Eb
Line
Count
Source
51
9
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EEC2Eb
Line
Count
Source
51
31
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
51
582
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
51
221
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EEC2Eb
Line
Count
Source
51
6
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EEC2Eb
Line
Count
Source
51
7
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EEC2Eb
Line
Count
Source
51
684
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EEC2Eb
Line
Count
Source
51
106
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EEC2Eb
Line
Count
Source
51
339
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EEC2Eb
Line
Count
Source
51
179
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EEC2Eb
Line
Count
Source
51
26
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIjLb1ELb1EEC2Eb
Line
Count
Source
51
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIoLb1ELb1EEC2Eb
Line
Count
Source
51
73
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
52
684
    ~MinMaxNumFunc() override = default;
53
54
6.48k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
6.48k
        if (is_column_nullable(*column)) {
56
4.28k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
4.28k
            const auto& col = nullable->get_nested_column_ptr();
58
4.28k
            const auto& nullmap = nullable->get_null_map_data();
59
4.28k
            if (nullable->has_null()) {
60
3.84k
                _update_batch(col, nullmap, start);
61
3.84k
                _contain_null = true;
62
3.84k
            } else {
63
439
                _update_batch(col, start);
64
439
            }
65
4.28k
        } else {
66
2.20k
            _update_batch(column, start);
67
2.20k
        }
68
6.48k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
1
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
1
        if (is_column_nullable(*column)) {
56
1
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
1
            const auto& col = nullable->get_nested_column_ptr();
58
1
            const auto& nullmap = nullable->get_null_map_data();
59
1
            if (nullable->has_null()) {
60
1
                _update_batch(col, nullmap, start);
61
1
                _contain_null = true;
62
1
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
1
        } else {
66
0
            _update_batch(column, start);
67
0
        }
68
1
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
13
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
13
        if (is_column_nullable(*column)) {
56
12
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
12
            const auto& col = nullable->get_nested_column_ptr();
58
12
            const auto& nullmap = nullable->get_null_map_data();
59
12
            if (nullable->has_null()) {
60
12
                _update_batch(col, nullmap, start);
61
12
                _contain_null = true;
62
12
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
12
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
13
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
504
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
504
        if (is_column_nullable(*column)) {
56
499
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
499
            const auto& col = nullable->get_nested_column_ptr();
58
499
            const auto& nullmap = nullable->get_null_map_data();
59
499
            if (nullable->has_null()) {
60
403
                _update_batch(col, nullmap, start);
61
403
                _contain_null = true;
62
403
            } else {
63
96
                _update_batch(col, start);
64
96
            }
65
499
        } else {
66
5
            _update_batch(column, start);
67
5
        }
68
504
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
238
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
238
        if (is_column_nullable(*column)) {
56
237
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
237
            const auto& col = nullable->get_nested_column_ptr();
58
237
            const auto& nullmap = nullable->get_null_map_data();
59
237
            if (nullable->has_null()) {
60
236
                _update_batch(col, nullmap, start);
61
236
                _contain_null = true;
62
236
            } else {
63
1
                _update_batch(col, start);
64
1
            }
65
237
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
238
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
3.72k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
3.72k
        if (is_column_nullable(*column)) {
56
2.04k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
2.04k
            const auto& col = nullable->get_nested_column_ptr();
58
2.04k
            const auto& nullmap = nullable->get_null_map_data();
59
2.04k
            if (nullable->has_null()) {
60
1.82k
                _update_batch(col, nullmap, start);
61
1.82k
                _contain_null = true;
62
1.82k
            } else {
63
218
                _update_batch(col, start);
64
218
            }
65
2.04k
        } else {
66
1.68k
            _update_batch(column, start);
67
1.68k
        }
68
3.72k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
1.19k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
1.19k
        if (is_column_nullable(*column)) {
56
1.07k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
1.07k
            const auto& col = nullable->get_nested_column_ptr();
58
1.07k
            const auto& nullmap = nullable->get_null_map_data();
59
1.07k
            if (nullable->has_null()) {
60
1.05k
                _update_batch(col, nullmap, start);
61
1.05k
                _contain_null = true;
62
1.05k
            } else {
63
15
                _update_batch(col, start);
64
15
            }
65
1.07k
        } else {
66
122
            _update_batch(column, start);
67
122
        }
68
1.19k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
151
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
151
        if (is_column_nullable(*column)) {
56
17
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
17
            const auto& col = nullable->get_nested_column_ptr();
58
17
            const auto& nullmap = nullable->get_null_map_data();
59
17
            if (nullable->has_null()) {
60
17
                _update_batch(col, nullmap, start);
61
17
                _contain_null = true;
62
17
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
134
        } else {
66
134
            _update_batch(column, start);
67
134
        }
68
151
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
1
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
1
        if (is_column_nullable(*column)) {
56
0
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
0
            const auto& col = nullable->get_nested_column_ptr();
58
0
            const auto& nullmap = nullable->get_null_map_data();
59
0
            if (nullable->has_null()) {
60
0
                _update_batch(col, nullmap, start);
61
0
                _contain_null = true;
62
0
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
1
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
1
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
4
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
4
        if (is_column_nullable(*column)) {
56
3
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
3
            const auto& col = nullable->get_nested_column_ptr();
58
3
            const auto& nullmap = nullable->get_null_map_data();
59
3
            if (nullable->has_null()) {
60
3
                _update_batch(col, nullmap, start);
61
3
                _contain_null = true;
62
3
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
3
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
4
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
5
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
5
        if (is_column_nullable(*column)) {
56
3
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
3
            const auto& col = nullable->get_nested_column_ptr();
58
3
            const auto& nullmap = nullable->get_null_map_data();
59
3
            if (nullable->has_null()) {
60
3
                _update_batch(col, nullmap, start);
61
3
                _contain_null = true;
62
3
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
3
        } else {
66
2
            _update_batch(column, start);
67
2
        }
68
5
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
54
211
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
211
        if (is_column_nullable(*column)) {
56
33
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
33
            const auto& col = nullable->get_nested_column_ptr();
58
33
            const auto& nullmap = nullable->get_null_map_data();
59
34
            if (nullable->has_null()) {
60
34
                _update_batch(col, nullmap, start);
61
34
                _contain_null = true;
62
18.4E
            } else {
63
18.4E
                _update_batch(col, start);
64
18.4E
            }
65
178
        } else {
66
178
            _update_batch(column, start);
67
178
        }
68
211
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
54
43
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
43
        if (is_column_nullable(*column)) {
56
28
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
28
            const auto& col = nullable->get_nested_column_ptr();
58
28
            const auto& nullmap = nullable->get_null_map_data();
59
28
            if (nullable->has_null()) {
60
25
                _update_batch(col, nullmap, start);
61
25
                _contain_null = true;
62
25
            } else {
63
3
                _update_batch(col, start);
64
3
            }
65
28
        } else {
66
15
            _update_batch(column, start);
67
15
        }
68
43
    }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
3
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
3
        if (is_column_nullable(*column)) {
56
3
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
3
            const auto& col = nullable->get_nested_column_ptr();
58
3
            const auto& nullmap = nullable->get_null_map_data();
59
3
            if (nullable->has_null()) {
60
3
                _update_batch(col, nullmap, start);
61
3
                _contain_null = true;
62
3
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
3
        } else {
66
0
            _update_batch(column, start);
67
0
        }
68
3
    }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
1
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
1
        if (is_column_nullable(*column)) {
56
1
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
1
            const auto& col = nullable->get_nested_column_ptr();
58
1
            const auto& nullmap = nullable->get_null_map_data();
59
1
            if (nullable->has_null()) {
60
1
                _update_batch(col, nullmap, start);
61
1
                _contain_null = true;
62
1
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
1
        } else {
66
0
            _update_batch(column, start);
67
0
        }
68
1
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
54
216
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
216
        if (is_column_nullable(*column)) {
56
190
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
190
            const auto& col = nullable->get_nested_column_ptr();
58
190
            const auto& nullmap = nullable->get_null_map_data();
59
190
            if (nullable->has_null()) {
60
142
                _update_batch(col, nullmap, start);
61
142
                _contain_null = true;
62
142
            } else {
63
48
                _update_batch(col, start);
64
48
            }
65
190
        } else {
66
26
            _update_batch(column, start);
67
26
        }
68
216
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
54
45
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
45
        if (is_column_nullable(*column)) {
56
44
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
44
            const auto& col = nullable->get_nested_column_ptr();
58
44
            const auto& nullmap = nullable->get_null_map_data();
59
44
            if (nullable->has_null()) {
60
44
                _update_batch(col, nullmap, start);
61
44
                _contain_null = true;
62
44
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
44
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
45
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
54
35
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
35
        if (is_column_nullable(*column)) {
56
21
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
21
            const auto& col = nullable->get_nested_column_ptr();
58
21
            const auto& nullmap = nullable->get_null_map_data();
59
21
            if (nullable->has_null()) {
60
21
                _update_batch(col, nullmap, start);
61
21
                _contain_null = true;
62
21
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
21
        } else {
66
14
            _update_batch(column, start);
67
14
        }
68
35
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
74
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
74
        if (is_column_nullable(*column)) {
56
62
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
62
            const auto& col = nullable->get_nested_column_ptr();
58
62
            const auto& nullmap = nullable->get_null_map_data();
59
62
            if (nullable->has_null()) {
60
3
                _update_batch(col, nullmap, start);
61
3
                _contain_null = true;
62
59
            } else {
63
59
                _update_batch(col, start);
64
59
            }
65
62
        } else {
66
12
            _update_batch(column, start);
67
12
        }
68
74
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EEm
Line
Count
Source
54
4
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
4
        if (is_column_nullable(*column)) {
56
3
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
3
            const auto& col = nullable->get_nested_column_ptr();
58
3
            const auto& nullmap = nullable->get_null_map_data();
59
3
            if (nullable->has_null()) {
60
3
                _update_batch(col, nullmap, start);
61
3
                _contain_null = true;
62
3
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
3
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
4
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
1
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
1
        if (is_column_nullable(*column)) {
56
0
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
0
            const auto& col = nullable->get_nested_column_ptr();
58
0
            const auto& nullmap = nullable->get_null_map_data();
59
0
            if (nullable->has_null()) {
60
0
                _update_batch(col, nullmap, start);
61
0
                _contain_null = true;
62
0
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
1
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
1
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
13
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
13
        if (is_column_nullable(*column)) {
56
7
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
7
            const auto& col = nullable->get_nested_column_ptr();
58
7
            const auto& nullmap = nullable->get_null_map_data();
59
7
            if (nullable->has_null()) {
60
7
                _update_batch(col, nullmap, start);
61
7
                _contain_null = true;
62
7
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
7
        } else {
66
6
            _update_batch(column, start);
67
6
        }
68
13
    }
69
70
7.94k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
7.94k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
7.94k
        if constexpr (NeedMin) {
73
7.94k
            if constexpr (IsStringValue) {
74
236
                if (other_minmax->_min < _min || !_min_value_set) {
75
17
                    _min = other_minmax->_min;
76
17
                    _min_value_set = true;
77
17
                }
78
7.70k
            } else if (other_minmax->_min < _min) {
79
606
                _min = other_minmax->_min;
80
606
            }
81
7.94k
        }
82
7.94k
        if constexpr (NeedMax) {
83
7.94k
            if (other_minmax->_max > _max) {
84
599
                _max = other_minmax->_max;
85
599
            }
86
7.94k
        }
87
88
7.94k
        _contain_null |= minmax_func->contain_null();
89
7.94k
        return Status::OK();
90
7.94k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
5
    Status merge(MinMaxFuncBase* minmax_func) override {
71
5
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
5
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
5
            } else if (other_minmax->_min < _min) {
79
1
                _min = other_minmax->_min;
80
1
            }
81
5
        }
82
5
        if constexpr (NeedMax) {
83
5
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
5
        }
87
88
5
        _contain_null |= minmax_func->contain_null();
89
5
        return Status::OK();
90
5
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
10
    Status merge(MinMaxFuncBase* minmax_func) override {
71
10
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
10
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
10
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
10
        }
82
10
        if constexpr (NeedMax) {
83
10
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
10
        }
87
88
10
        _contain_null |= minmax_func->contain_null();
89
10
        return Status::OK();
90
10
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
108
    Status merge(MinMaxFuncBase* minmax_func) override {
71
108
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
108
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
108
            } else if (other_minmax->_min < _min) {
79
8
                _min = other_minmax->_min;
80
8
            }
81
108
        }
82
108
        if constexpr (NeedMax) {
83
108
            if (other_minmax->_max > _max) {
84
9
                _max = other_minmax->_max;
85
9
            }
86
108
        }
87
88
108
        _contain_null |= minmax_func->contain_null();
89
108
        return Status::OK();
90
108
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
133
    Status merge(MinMaxFuncBase* minmax_func) override {
71
133
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
133
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
133
            } else if (other_minmax->_min < _min) {
79
27
                _min = other_minmax->_min;
80
27
            }
81
133
        }
82
133
        if constexpr (NeedMax) {
83
133
            if (other_minmax->_max > _max) {
84
27
                _max = other_minmax->_max;
85
27
            }
86
133
        }
87
88
133
        _contain_null |= minmax_func->contain_null();
89
133
        return Status::OK();
90
133
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
5.02k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
5.02k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
5.02k
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
5.02k
            } else if (other_minmax->_min < _min) {
79
322
                _min = other_minmax->_min;
80
322
            }
81
5.02k
        }
82
5.02k
        if constexpr (NeedMax) {
83
5.02k
            if (other_minmax->_max > _max) {
84
317
                _max = other_minmax->_max;
85
317
            }
86
5.02k
        }
87
88
5.02k
        _contain_null |= minmax_func->contain_null();
89
5.02k
        return Status::OK();
90
5.02k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
1.65k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
1.65k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
1.65k
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
1.65k
            } else if (other_minmax->_min < _min) {
79
165
                _min = other_minmax->_min;
80
165
            }
81
1.65k
        }
82
1.65k
        if constexpr (NeedMax) {
83
1.65k
            if (other_minmax->_max > _max) {
84
156
                _max = other_minmax->_max;
85
156
            }
86
1.65k
        }
87
88
1.65k
        _contain_null |= minmax_func->contain_null();
89
1.65k
        return Status::OK();
90
1.65k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
122
    Status merge(MinMaxFuncBase* minmax_func) override {
71
122
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
122
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
122
            } else if (other_minmax->_min < _min) {
79
10
                _min = other_minmax->_min;
80
10
            }
81
122
        }
82
122
        if constexpr (NeedMax) {
83
122
            if (other_minmax->_max > _max) {
84
8
                _max = other_minmax->_max;
85
8
            }
86
122
        }
87
88
122
        _contain_null |= minmax_func->contain_null();
89
122
        return Status::OK();
90
122
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
1
    Status merge(MinMaxFuncBase* minmax_func) override {
71
1
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
1
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
1
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
1
        }
82
1
        if constexpr (NeedMax) {
83
1
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
1
        }
87
88
1
        _contain_null |= minmax_func->contain_null();
89
1
        return Status::OK();
90
1
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
18
    Status merge(MinMaxFuncBase* minmax_func) override {
71
18
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
18
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
18
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
18
        }
82
18
        if constexpr (NeedMax) {
83
18
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
18
        }
87
88
18
        _contain_null |= minmax_func->contain_null();
89
18
        return Status::OK();
90
18
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
267
    Status merge(MinMaxFuncBase* minmax_func) override {
71
267
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
267
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
267
            } else if (other_minmax->_min < _min) {
79
52
                _min = other_minmax->_min;
80
52
            }
81
267
        }
82
267
        if constexpr (NeedMax) {
83
267
            if (other_minmax->_max > _max) {
84
46
                _max = other_minmax->_max;
85
46
            }
86
267
        }
87
88
267
        _contain_null |= minmax_func->contain_null();
89
267
        return Status::OK();
90
267
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
110
    Status merge(MinMaxFuncBase* minmax_func) override {
71
110
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
110
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
110
            } else if (other_minmax->_min < _min) {
79
8
                _min = other_minmax->_min;
80
8
            }
81
110
        }
82
110
        if constexpr (NeedMax) {
83
110
            if (other_minmax->_max > _max) {
84
12
                _max = other_minmax->_max;
85
12
            }
86
110
        }
87
88
110
        _contain_null |= minmax_func->contain_null();
89
110
        return Status::OK();
90
110
    }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
2
    Status merge(MinMaxFuncBase* minmax_func) override {
71
2
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
2
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
2
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
2
        }
82
2
        if constexpr (NeedMax) {
83
2
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
2
        }
87
88
2
        _contain_null |= minmax_func->contain_null();
89
2
        return Status::OK();
90
2
    }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
2
    Status merge(MinMaxFuncBase* minmax_func) override {
71
2
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
2
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
2
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
2
        }
82
2
        if constexpr (NeedMax) {
83
2
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
2
        }
87
88
2
        _contain_null |= minmax_func->contain_null();
89
2
        return Status::OK();
90
2
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
236
    Status merge(MinMaxFuncBase* minmax_func) override {
71
236
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
236
        if constexpr (NeedMin) {
73
236
            if constexpr (IsStringValue) {
74
236
                if (other_minmax->_min < _min || !_min_value_set) {
75
17
                    _min = other_minmax->_min;
76
17
                    _min_value_set = true;
77
17
                }
78
            } else if (other_minmax->_min < _min) {
79
                _min = other_minmax->_min;
80
            }
81
236
        }
82
236
        if constexpr (NeedMax) {
83
236
            if (other_minmax->_max > _max) {
84
10
                _max = other_minmax->_max;
85
10
            }
86
236
        }
87
88
236
        _contain_null |= minmax_func->contain_null();
89
236
        return Status::OK();
90
236
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
14
    Status merge(MinMaxFuncBase* minmax_func) override {
71
14
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
14
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
14
            } else if (other_minmax->_min < _min) {
79
4
                _min = other_minmax->_min;
80
4
            }
81
14
        }
82
14
        if constexpr (NeedMax) {
83
14
            if (other_minmax->_max > _max) {
84
4
                _max = other_minmax->_max;
85
4
            }
86
14
        }
87
88
14
        _contain_null |= minmax_func->contain_null();
89
14
        return Status::OK();
90
14
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
137
    Status merge(MinMaxFuncBase* minmax_func) override {
71
137
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
137
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
137
            } else if (other_minmax->_min < _min) {
79
4
                _min = other_minmax->_min;
80
4
            }
81
137
        }
82
137
        if constexpr (NeedMax) {
83
137
            if (other_minmax->_max > _max) {
84
4
                _max = other_minmax->_max;
85
4
            }
86
137
        }
87
88
137
        _contain_null |= minmax_func->contain_null();
89
137
        return Status::OK();
90
137
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
61
    Status merge(MinMaxFuncBase* minmax_func) override {
71
61
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
61
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
61
            } else if (other_minmax->_min < _min) {
79
5
                _min = other_minmax->_min;
80
5
            }
81
61
        }
82
61
        if constexpr (NeedMax) {
83
61
            if (other_minmax->_max > _max) {
84
5
                _max = other_minmax->_max;
85
5
            }
86
61
        }
87
88
61
        _contain_null |= minmax_func->contain_null();
89
61
        return Status::OK();
90
61
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
38
    Status merge(MinMaxFuncBase* minmax_func) override {
71
38
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
38
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
38
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
38
        }
82
38
        if constexpr (NeedMax) {
83
38
            if (other_minmax->_max > _max) {
84
1
                _max = other_minmax->_max;
85
1
            }
86
38
        }
87
88
38
        _contain_null |= minmax_func->contain_null();
89
38
        return Status::OK();
90
38
    }
91
92
1.00k
    MinMaxFuncBase* clone() const override {
93
1.00k
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
1.00k
        cloned->_max = _max;
95
1.00k
        cloned->_min = _min;
96
1.00k
        cloned->_min_value_set = _min_value_set;
97
1.00k
        cloned->_contain_null = _contain_null;
98
1.00k
        return cloned;
99
1.00k
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncIhLb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5cloneEv
Line
Count
Source
92
2
    MinMaxFuncBase* clone() const override {
93
2
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
2
        cloned->_max = _max;
95
2
        cloned->_min = _min;
96
2
        cloned->_min_value_set = _min_value_set;
97
2
        cloned->_contain_null = _contain_null;
98
2
        return cloned;
99
2
    }
_ZNK5doris13MinMaxNumFuncIaLb1ELb1EE5cloneEv
Line
Count
Source
92
83
    MinMaxFuncBase* clone() const override {
93
83
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
83
        cloned->_max = _max;
95
83
        cloned->_min = _min;
96
83
        cloned->_min_value_set = _min_value_set;
97
83
        cloned->_contain_null = _contain_null;
98
83
        return cloned;
99
83
    }
_ZNK5doris13MinMaxNumFuncIsLb1ELb1EE5cloneEv
Line
Count
Source
92
63
    MinMaxFuncBase* clone() const override {
93
63
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
63
        cloned->_max = _max;
95
63
        cloned->_min = _min;
96
63
        cloned->_min_value_set = _min_value_set;
97
63
        cloned->_contain_null = _contain_null;
98
63
        return cloned;
99
63
    }
_ZNK5doris13MinMaxNumFuncIiLb1ELb1EE5cloneEv
Line
Count
Source
92
526
    MinMaxFuncBase* clone() const override {
93
526
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
526
        cloned->_max = _max;
95
526
        cloned->_min = _min;
96
526
        cloned->_min_value_set = _min_value_set;
97
526
        cloned->_contain_null = _contain_null;
98
526
        return cloned;
99
526
    }
_ZNK5doris13MinMaxNumFuncIlLb1ELb1EE5cloneEv
Line
Count
Source
92
177
    MinMaxFuncBase* clone() const override {
93
177
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
177
        cloned->_max = _max;
95
177
        cloned->_min = _min;
96
177
        cloned->_min_value_set = _min_value_set;
97
177
        cloned->_contain_null = _contain_null;
98
177
        return cloned;
99
177
    }
_ZNK5doris13MinMaxNumFuncInLb1ELb1EE5cloneEv
Line
Count
Source
92
21
    MinMaxFuncBase* clone() const override {
93
21
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
21
        cloned->_max = _max;
95
21
        cloned->_min = _min;
96
21
        cloned->_min_value_set = _min_value_set;
97
21
        cloned->_contain_null = _contain_null;
98
21
        return cloned;
99
21
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncIfLb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncIdLb1ELb1EE5cloneEv
Line
Count
Source
92
1
    MinMaxFuncBase* clone() const override {
93
1
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
1
        cloned->_max = _max;
95
1
        cloned->_min = _min;
96
1
        cloned->_min_value_set = _min_value_set;
97
1
        cloned->_contain_null = _contain_null;
98
1
        return cloned;
99
1
    }
_ZNK5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5cloneEv
Line
Count
Source
92
3
    MinMaxFuncBase* clone() const override {
93
3
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
3
        cloned->_max = _max;
95
3
        cloned->_min = _min;
96
3
        cloned->_min_value_set = _min_value_set;
97
3
        cloned->_contain_null = _contain_null;
98
3
        return cloned;
99
3
    }
_ZNK5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5cloneEv
Line
Count
Source
92
29
    MinMaxFuncBase* clone() const override {
93
29
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
29
        cloned->_max = _max;
95
29
        cloned->_min = _min;
96
29
        cloned->_min_value_set = _min_value_set;
97
29
        cloned->_contain_null = _contain_null;
98
29
        return cloned;
99
29
    }
_ZNK5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5cloneEv
Line
Count
Source
92
17
    MinMaxFuncBase* clone() const override {
93
17
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
17
        cloned->_max = _max;
95
17
        cloned->_min = _min;
96
17
        cloned->_min_value_set = _min_value_set;
97
17
        cloned->_contain_null = _contain_null;
98
17
        return cloned;
99
17
    }
_ZNK5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE5cloneEv
Line
Count
Source
92
1
    MinMaxFuncBase* clone() const override {
93
1
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
1
        cloned->_max = _max;
95
1
        cloned->_min = _min;
96
1
        cloned->_min_value_set = _min_value_set;
97
1
        cloned->_contain_null = _contain_null;
98
1
        return cloned;
99
1
    }
_ZNK5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5cloneEv
Line
Count
Source
92
1
    MinMaxFuncBase* clone() const override {
93
1
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
1
        cloned->_max = _max;
95
1
        cloned->_min = _min;
96
1
        cloned->_min_value_set = _min_value_set;
97
1
        cloned->_contain_null = _contain_null;
98
1
        return cloned;
99
1
    }
_ZNK5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5cloneEv
Line
Count
Source
92
34
    MinMaxFuncBase* clone() const override {
93
34
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
34
        cloned->_max = _max;
95
34
        cloned->_min = _min;
96
34
        cloned->_min_value_set = _min_value_set;
97
34
        cloned->_contain_null = _contain_null;
98
34
        return cloned;
99
34
    }
_ZNK5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5cloneEv
Line
Count
Source
92
9
    MinMaxFuncBase* clone() const override {
93
9
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
9
        cloned->_max = _max;
95
9
        cloned->_min = _min;
96
9
        cloned->_min_value_set = _min_value_set;
97
9
        cloned->_contain_null = _contain_null;
98
9
        return cloned;
99
9
    }
_ZNK5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5cloneEv
Line
Count
Source
92
25
    MinMaxFuncBase* clone() const override {
93
25
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
25
        cloned->_max = _max;
95
25
        cloned->_min = _min;
96
25
        cloned->_min_value_set = _min_value_set;
97
25
        cloned->_contain_null = _contain_null;
98
25
        return cloned;
99
25
    }
_ZNK5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5cloneEv
Line
Count
Source
92
8
    MinMaxFuncBase* clone() const override {
93
8
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
8
        cloned->_max = _max;
95
8
        cloned->_min = _min;
96
8
        cloned->_min_value_set = _min_value_set;
97
8
        cloned->_contain_null = _contain_null;
98
8
        return cloned;
99
8
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5cloneEv
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncIjLb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncIoLb1ELb1EE5cloneEv
Line
Count
Source
92
9
    MinMaxFuncBase* clone() const override {
93
9
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
9
        cloned->_max = _max;
95
9
        cloned->_min = _min;
96
9
        cloned->_min_value_set = _min_value_set;
97
9
        cloned->_contain_null = _contain_null;
98
9
        return cloned;
99
9
    }
100
101
5.49k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_maxEv
Line
Count
Source
101
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
4
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_maxEv
Line
Count
Source
101
486
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_maxEv
Line
Count
Source
101
329
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_maxEv
Line
Count
Source
101
2.65k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_maxEv
Line
Count
Source
101
1.20k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_maxEv
Line
Count
Source
101
99
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE7get_maxEv
Line
Count
Source
101
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7get_maxEv
Line
Count
Source
101
5
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
7
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
132
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
56
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
3
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
254
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_maxEv
Line
Count
Source
101
47
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_maxEv
Line
Count
Source
101
148
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_maxEv
Line
Count
Source
101
29
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
14
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_maxEv
Line
Count
Source
101
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_maxEv
Line
Count
Source
101
14
    void* get_max() override { return &_max; }
102
103
5.52k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_minEv
Line
Count
Source
103
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_minEv
Line
Count
Source
103
4
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_minEv
Line
Count
Source
103
461
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_minEv
Line
Count
Source
103
333
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_minEv
Line
Count
Source
103
2.67k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_minEv
Line
Count
Source
103
1.23k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_minEv
Line
Count
Source
103
91
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE7get_minEv
Line
Count
Source
103
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7get_minEv
Line
Count
Source
103
5
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_minEv
Line
Count
Source
103
7
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
103
133
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
103
57
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE7get_minEv
Line
Count
Source
103
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_minEv
Line
Count
Source
103
3
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_minEv
Line
Count
Source
103
250
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_minEv
Line
Count
Source
103
47
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_minEv
Line
Count
Source
103
148
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_minEv
Line
Count
Source
103
48
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_minEv
Line
Count
Source
103
14
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_minEv
Line
Count
Source
103
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_minEv
Line
Count
Source
103
14
    void* get_min() override { return &_min; }
104
105
1.41k
    Status assign(void* min_data, void* max_data) override {
106
1.41k
        if constexpr (IsStringValue) {
107
59
            _min_value_set = true;
108
59
        }
109
1.41k
        _min = *(T*)min_data;
110
1.41k
        _max = *(T*)max_data;
111
1.41k
        return Status::OK();
112
1.41k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
3
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
3
        _min = *(T*)min_data;
110
3
        _max = *(T*)max_data;
111
3
        return Status::OK();
112
3
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE6assignEPvS3_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
73
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
73
        _min = *(T*)min_data;
110
73
        _max = *(T*)max_data;
111
73
        return Status::OK();
112
73
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
201
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
201
        _min = *(T*)min_data;
110
201
        _max = *(T*)max_data;
111
201
        return Status::OK();
112
201
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
731
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
731
        _min = *(T*)min_data;
110
731
        _max = *(T*)max_data;
111
731
        return Status::OK();
112
731
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
207
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
207
        _min = *(T*)min_data;
110
207
        _max = *(T*)max_data;
111
207
        return Status::OK();
112
207
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
15
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
15
        _min = *(T*)min_data;
110
15
        _max = *(T*)max_data;
111
15
        return Status::OK();
112
15
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE6assignEPvS3_
Line
Count
Source
105
2
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
2
        _min = *(T*)min_data;
110
2
        _max = *(T*)max_data;
111
2
        return Status::OK();
112
2
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
105
75
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
75
        _min = *(T*)min_data;
110
75
        _max = *(T*)max_data;
111
75
        return Status::OK();
112
75
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
105
17
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
17
        _min = *(T*)min_data;
110
17
        _max = *(T*)max_data;
111
17
        return Status::OK();
112
17
    }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE6assignEPvS3_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE6assignEPvS3_
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE6assignEPvS8_
Line
Count
Source
105
59
    Status assign(void* min_data, void* max_data) override {
106
59
        if constexpr (IsStringValue) {
107
59
            _min_value_set = true;
108
59
        }
109
59
        _min = *(T*)min_data;
110
59
        _max = *(T*)max_data;
111
59
        return Status::OK();
112
59
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE6assignEPvS4_
Line
Count
Source
105
11
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
11
        _min = *(T*)min_data;
110
11
        _max = *(T*)max_data;
111
11
        return Status::OK();
112
11
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE6assignEPvS4_
Line
Count
Source
105
5
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
5
        _min = *(T*)min_data;
110
5
        _max = *(T*)max_data;
111
5
        return Status::OK();
112
5
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE6assignEPvS3_
Line
Count
Source
105
11
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
11
        _min = *(T*)min_data;
110
11
        _max = *(T*)max_data;
111
11
        return Status::OK();
112
11
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE6assignEPvS7_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
3
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
3
        _min = *(T*)min_data;
110
3
        _max = *(T*)max_data;
111
3
        return Status::OK();
112
3
    }
113
114
1.73k
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
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
114
95
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
226
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
947
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
222
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
14
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIdLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
74
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
16
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
101
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
10
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
4
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
25
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
2
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
115
116
private:
117
1.73k
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
1.73k
        if constexpr (NeedMin) {
119
1.73k
            f(filter->mutable_min_val(), _min);
120
1.73k
        }
121
1.73k
        if constexpr (NeedMax) {
122
1.73k
            f(filter->mutable_max_val(), _max);
123
1.73k
        }
124
1.73k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7_set_pbIZNS_13get_convertorIhEEDavEUlPNS_12PColumnValueERKhE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
2
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
2
        if constexpr (NeedMin) {
119
2
            f(filter->mutable_min_val(), _min);
120
2
        }
121
2
        if constexpr (NeedMax) {
122
2
            f(filter->mutable_max_val(), _max);
123
2
        }
124
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
117
95
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
95
        if constexpr (NeedMin) {
119
95
            f(filter->mutable_min_val(), _min);
120
95
        }
121
95
        if constexpr (NeedMax) {
122
95
            f(filter->mutable_max_val(), _max);
123
95
        }
124
95
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7_set_pbIZNS_13get_convertorIsEEDavEUlPNS_12PColumnValueERKsE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
226
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
226
        if constexpr (NeedMin) {
119
226
            f(filter->mutable_min_val(), _min);
120
226
        }
121
226
        if constexpr (NeedMax) {
122
226
            f(filter->mutable_max_val(), _max);
123
226
        }
124
226
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7_set_pbIZNS_13get_convertorIiEEDavEUlPNS_12PColumnValueERKiE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
947
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
947
        if constexpr (NeedMin) {
119
947
            f(filter->mutable_min_val(), _min);
120
947
        }
121
947
        if constexpr (NeedMax) {
122
947
            f(filter->mutable_max_val(), _max);
123
947
        }
124
947
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7_set_pbIZNS_13get_convertorIlEEDavEUlPNS_12PColumnValueERKlE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
222
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
222
        if constexpr (NeedMin) {
119
222
            f(filter->mutable_min_val(), _min);
120
222
        }
121
222
        if constexpr (NeedMax) {
122
222
            f(filter->mutable_max_val(), _max);
123
222
        }
124
222
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7_set_pbIZNS_13get_convertorInEEDavEUlPNS_12PColumnValueERKnE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
14
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
14
        if constexpr (NeedMin) {
119
14
            f(filter->mutable_min_val(), _min);
120
14
        }
121
14
        if constexpr (NeedMax) {
122
14
            f(filter->mutable_max_val(), _max);
123
14
        }
124
14
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE7_set_pbIZNS_13get_convertorIfEEDavEUlPNS_12PColumnValueERKfE_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIdLb1ELb1EE7_set_pbIZNS_13get_convertorIdEEDavEUlPNS_12PColumnValueERKdE_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
74
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
74
        if constexpr (NeedMin) {
119
74
            f(filter->mutable_min_val(), _min);
120
74
        }
121
74
        if constexpr (NeedMax) {
122
74
            f(filter->mutable_max_val(), _max);
123
74
        }
124
74
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
16
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
16
        if constexpr (NeedMin) {
119
16
            f(filter->mutable_min_val(), _min);
120
16
        }
121
16
        if constexpr (NeedMax) {
122
16
            f(filter->mutable_max_val(), _max);
123
16
        }
124
16
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS6_EEDavEUlPNS_12PColumnValueERKS6_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
101
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
101
        if constexpr (NeedMin) {
119
101
            f(filter->mutable_min_val(), _min);
120
101
        }
121
101
        if constexpr (NeedMax) {
122
101
            f(filter->mutable_max_val(), _max);
123
101
        }
124
101
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7_set_pbIZNS_13get_convertorIS2_EEDavEUlPNS_12PColumnValueERKS2_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
10
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
10
        if constexpr (NeedMin) {
119
10
            f(filter->mutable_min_val(), _min);
120
10
        }
121
10
        if constexpr (NeedMax) {
122
10
            f(filter->mutable_max_val(), _max);
123
10
        }
124
10
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7_set_pbIZNS_13get_convertorIS2_EEDavEUlPNS_12PColumnValueERKS2_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
4
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
4
        if constexpr (NeedMin) {
119
4
            f(filter->mutable_min_val(), _min);
120
4
        }
121
4
        if constexpr (NeedMax) {
122
4
            f(filter->mutable_max_val(), _max);
123
4
        }
124
4
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
25
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
25
        if constexpr (NeedMin) {
119
25
            f(filter->mutable_min_val(), _min);
120
25
        }
121
25
        if constexpr (NeedMax) {
122
25
            f(filter->mutable_max_val(), _max);
123
25
        }
124
25
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS5_EEDavEUlPNS_12PColumnValueERKS5_E_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE7_set_pbIZNS_13get_convertorIjEEDavEUlPNS_12PColumnValueERKjE_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7_set_pbIZNS_13get_convertorIoEEDavEUlPNS_12PColumnValueERKoE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
2
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
2
        if constexpr (NeedMin) {
119
2
            f(filter->mutable_min_val(), _min);
120
2
        }
121
2
        if constexpr (NeedMax) {
122
2
            f(filter->mutable_max_val(), _max);
123
2
        }
124
2
    }
125
126
    void _update_batch_string(const auto& column_string, const uint8_t* __restrict nullmap,
127
217
                              size_t start, size_t size) {
128
10.7k
        for (size_t i = start; i < size; i++) {
129
10.5k
            if (nullmap == nullptr || !nullmap[i]) {
130
10.5k
                if constexpr (NeedMin) {
131
10.5k
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
132
260
                        _min = column_string.get_data_at(i).to_string();
133
260
                        _min_value_set = true;
134
260
                    }
135
10.5k
                }
136
10.5k
                if constexpr (NeedMax) {
137
10.5k
                    if (column_string.get_data_at(i) > StringRef(_max)) {
138
362
                        _max = column_string.get_data_at(i).to_string();
139
362
                    }
140
10.5k
                }
141
10.5k
            }
142
10.5k
        }
143
217
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE20_update_batch_stringINS_9ColumnStrImEEEEvRKT_PKhmm
Line
Count
Source
127
1
                              size_t start, size_t size) {
128
9
        for (size_t i = start; i < size; i++) {
129
8
            if (nullmap == nullptr || !nullmap[i]) {
130
8
                if constexpr (NeedMin) {
131
8
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
132
1
                        _min = column_string.get_data_at(i).to_string();
133
1
                        _min_value_set = true;
134
1
                    }
135
8
                }
136
8
                if constexpr (NeedMax) {
137
8
                    if (column_string.get_data_at(i) > StringRef(_max)) {
138
8
                        _max = column_string.get_data_at(i).to_string();
139
8
                    }
140
8
                }
141
8
            }
142
8
        }
143
1
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE20_update_batch_stringINS_9ColumnStrIjEEEEvRKT_PKhmm
Line
Count
Source
127
216
                              size_t start, size_t size) {
128
10.7k
        for (size_t i = start; i < size; i++) {
129
10.5k
            if (nullmap == nullptr || !nullmap[i]) {
130
10.5k
                if constexpr (NeedMin) {
131
10.5k
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
132
259
                        _min = column_string.get_data_at(i).to_string();
133
259
                        _min_value_set = true;
134
259
                    }
135
10.5k
                }
136
10.5k
                if constexpr (NeedMax) {
137
10.5k
                    if (column_string.get_data_at(i) > StringRef(_max)) {
138
354
                        _max = column_string.get_data_at(i).to_string();
139
354
                    }
140
10.5k
                }
141
10.5k
            }
142
10.5k
        }
143
216
    }
144
145
2.64k
    void _update_batch(const ColumnPtr& column, size_t start) {
146
2.64k
        const auto size = column->size();
147
2.64k
        if constexpr (std::is_same_v<T, std::string>) {
148
76
            if (column->is_column_string64()) {
149
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
1
                                     size);
151
75
            } else {
152
75
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
75
                                     size);
154
75
            }
155
2.56k
        } else {
156
2.56k
            const T* data = (T*)column->get_raw_data().data;
157
1.02M
            for (size_t i = start; i < size; i++) {
158
1.02M
                if constexpr (NeedMin) {
159
1.02M
                    _min = std::min(_min, *(data + i));
160
1.02M
                }
161
1.02M
                if constexpr (NeedMax) {
162
1.02M
                    _max = std::max(_max, *(data + i));
163
1.02M
                }
164
1.02M
            }
165
2.56k
        }
166
2.64k
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIhLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
145
1
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1
        } else {
156
1
            const T* data = (T*)column->get_raw_data().data;
157
4
            for (size_t i = start; i < size; i++) {
158
3
                if constexpr (NeedMin) {
159
3
                    _min = std::min(_min, *(data + i));
160
3
                }
161
3
                if constexpr (NeedMax) {
162
3
                    _max = std::max(_max, *(data + i));
163
3
                }
164
3
            }
165
1
        }
166
1
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
101
    void _update_batch(const ColumnPtr& column, size_t start) {
146
101
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
101
        } else {
156
101
            const T* data = (T*)column->get_raw_data().data;
157
338
            for (size_t i = start; i < size; i++) {
158
237
                if constexpr (NeedMin) {
159
237
                    _min = std::min(_min, *(data + i));
160
237
                }
161
237
                if constexpr (NeedMax) {
162
237
                    _max = std::max(_max, *(data + i));
163
237
                }
164
237
            }
165
101
        }
166
101
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
1
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1
        } else {
156
1
            const T* data = (T*)column->get_raw_data().data;
157
4
            for (size_t i = start; i < size; i++) {
158
3
                if constexpr (NeedMin) {
159
3
                    _min = std::min(_min, *(data + i));
160
3
                }
161
3
                if constexpr (NeedMax) {
162
3
                    _max = std::max(_max, *(data + i));
163
3
                }
164
3
            }
165
1
        }
166
1
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
1.89k
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1.89k
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1.89k
        } else {
156
1.89k
            const T* data = (T*)column->get_raw_data().data;
157
1.02M
            for (size_t i = start; i < size; i++) {
158
1.02M
                if constexpr (NeedMin) {
159
1.02M
                    _min = std::min(_min, *(data + i));
160
1.02M
                }
161
1.02M
                if constexpr (NeedMax) {
162
1.02M
                    _max = std::max(_max, *(data + i));
163
1.02M
                }
164
1.02M
            }
165
1.89k
        }
166
1.89k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
137
    void _update_batch(const ColumnPtr& column, size_t start) {
146
137
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
137
        } else {
156
137
            const T* data = (T*)column->get_raw_data().data;
157
852
            for (size_t i = start; i < size; i++) {
158
715
                if constexpr (NeedMin) {
159
715
                    _min = std::min(_min, *(data + i));
160
715
                }
161
715
                if constexpr (NeedMax) {
162
715
                    _max = std::max(_max, *(data + i));
163
715
                }
164
715
            }
165
137
        }
166
137
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
134
    void _update_batch(const ColumnPtr& column, size_t start) {
146
134
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
134
        } else {
156
134
            const T* data = (T*)column->get_raw_data().data;
157
356
            for (size_t i = start; i < size; i++) {
158
222
                if constexpr (NeedMin) {
159
222
                    _min = std::min(_min, *(data + i));
160
222
                }
161
222
                if constexpr (NeedMax) {
162
222
                    _max = std::max(_max, *(data + i));
163
222
                }
164
222
            }
165
134
        }
166
134
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
1
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1
        } else {
156
1
            const T* data = (T*)column->get_raw_data().data;
157
4
            for (size_t i = start; i < size; i++) {
158
3
                if constexpr (NeedMin) {
159
3
                    _min = std::min(_min, *(data + i));
160
3
                }
161
3
                if constexpr (NeedMax) {
162
3
                    _max = std::max(_max, *(data + i));
163
3
                }
164
3
            }
165
1
        }
166
1
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
1
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1
        } else {
156
1
            const T* data = (T*)column->get_raw_data().data;
157
4
            for (size_t i = start; i < size; i++) {
158
3
                if constexpr (NeedMin) {
159
3
                    _min = std::min(_min, *(data + i));
160
3
                }
161
3
                if constexpr (NeedMax) {
162
3
                    _max = std::max(_max, *(data + i));
163
3
                }
164
3
            }
165
1
        }
166
1
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
145
2
    void _update_batch(const ColumnPtr& column, size_t start) {
146
2
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
2
        } else {
156
2
            const T* data = (T*)column->get_raw_data().data;
157
8
            for (size_t i = start; i < size; i++) {
158
6
                if constexpr (NeedMin) {
159
6
                    _min = std::min(_min, *(data + i));
160
6
                }
161
6
                if constexpr (NeedMax) {
162
6
                    _max = std::max(_max, *(data + i));
163
6
                }
164
6
            }
165
2
        }
166
2
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
145
178
    void _update_batch(const ColumnPtr& column, size_t start) {
146
178
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
178
        } else {
156
178
            const T* data = (T*)column->get_raw_data().data;
157
559
            for (size_t i = start; i < size; i++) {
158
381
                if constexpr (NeedMin) {
159
381
                    _min = std::min(_min, *(data + i));
160
381
                }
161
381
                if constexpr (NeedMax) {
162
381
                    _max = std::max(_max, *(data + i));
163
381
                }
164
381
            }
165
178
        }
166
178
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
145
18
    void _update_batch(const ColumnPtr& column, size_t start) {
146
18
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
18
        } else {
156
18
            const T* data = (T*)column->get_raw_data().data;
157
63
            for (size_t i = start; i < size; i++) {
158
45
                if constexpr (NeedMin) {
159
45
                    _min = std::min(_min, *(data + i));
160
45
                }
161
45
                if constexpr (NeedMax) {
162
45
                    _max = std::max(_max, *(data + i));
163
45
                }
164
45
            }
165
18
        }
166
18
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
145
76
    void _update_batch(const ColumnPtr& column, size_t start) {
146
76
        const auto size = column->size();
147
76
        if constexpr (std::is_same_v<T, std::string>) {
148
76
            if (column->is_column_string64()) {
149
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
1
                                     size);
151
75
            } else {
152
75
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
75
                                     size);
154
75
            }
155
        } else {
156
            const T* data = (T*)column->get_raw_data().data;
157
            for (size_t i = start; i < size; i++) {
158
                if constexpr (NeedMin) {
159
                    _min = std::min(_min, *(data + i));
160
                }
161
                if constexpr (NeedMax) {
162
                    _max = std::max(_max, *(data + i));
163
                }
164
            }
165
        }
166
76
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
145
1
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1
        } else {
156
1
            const T* data = (T*)column->get_raw_data().data;
157
4
            for (size_t i = start; i < size; i++) {
158
3
                if constexpr (NeedMin) {
159
3
                    _min = std::min(_min, *(data + i));
160
3
                }
161
3
                if constexpr (NeedMax) {
162
3
                    _max = std::max(_max, *(data + i));
163
3
                }
164
3
            }
165
1
        }
166
1
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
145
14
    void _update_batch(const ColumnPtr& column, size_t start) {
146
14
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
14
        } else {
156
14
            const T* data = (T*)column->get_raw_data().data;
157
77
            for (size_t i = start; i < size; i++) {
158
63
                if constexpr (NeedMin) {
159
63
                    _min = std::min(_min, *(data + i));
160
63
                }
161
63
                if constexpr (NeedMax) {
162
63
                    _max = std::max(_max, *(data + i));
163
63
                }
164
63
            }
165
14
        }
166
14
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
145
71
    void _update_batch(const ColumnPtr& column, size_t start) {
146
71
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
71
        } else {
156
71
            const T* data = (T*)column->get_raw_data().data;
157
152
            for (size_t i = start; i < size; i++) {
158
81
                if constexpr (NeedMin) {
159
81
                    _min = std::min(_min, *(data + i));
160
81
                }
161
81
                if constexpr (NeedMax) {
162
81
                    _max = std::max(_max, *(data + i));
163
81
                }
164
81
            }
165
71
        }
166
71
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EEm
Line
Count
Source
145
1
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1
        } else {
156
1
            const T* data = (T*)column->get_raw_data().data;
157
4
            for (size_t i = start; i < size; i++) {
158
3
                if constexpr (NeedMin) {
159
3
                    _min = std::min(_min, *(data + i));
160
3
                }
161
3
                if constexpr (NeedMax) {
162
3
                    _max = std::max(_max, *(data + i));
163
3
                }
164
3
            }
165
1
        }
166
1
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
1
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1
        } else {
156
1
            const T* data = (T*)column->get_raw_data().data;
157
4
            for (size_t i = start; i < size; i++) {
158
3
                if constexpr (NeedMin) {
159
3
                    _min = std::min(_min, *(data + i));
160
3
                }
161
3
                if constexpr (NeedMax) {
162
3
                    _max = std::max(_max, *(data + i));
163
3
                }
164
3
            }
165
1
        }
166
1
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
6
    void _update_batch(const ColumnPtr& column, size_t start) {
146
6
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
6
        } else {
156
6
            const T* data = (T*)column->get_raw_data().data;
157
19
            for (size_t i = start; i < size; i++) {
158
13
                if constexpr (NeedMin) {
159
13
                    _min = std::min(_min, *(data + i));
160
13
                }
161
13
                if constexpr (NeedMax) {
162
13
                    _max = std::max(_max, *(data + i));
163
13
                }
164
13
            }
165
6
        }
166
6
    }
167
168
3.83k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
3.83k
        const auto size = column->size();
170
3.83k
        if constexpr (std::is_same_v<T, std::string>) {
171
142
            if (column->is_column_string64()) {
172
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
0
                                     start, size);
174
142
            } else {
175
142
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
142
                                     start, size);
177
142
            }
178
3.69k
        } else {
179
3.69k
            const T* data = (T*)column->get_raw_data().data;
180
105k
            for (size_t i = start; i < size; i++) {
181
101k
                if (!nullmap[i]) {
182
100k
                    if constexpr (NeedMin) {
183
100k
                        _min = std::min(_min, *(data + i));
184
100k
                    }
185
100k
                    if constexpr (NeedMax) {
186
100k
                        _max = std::max(_max, *(data + i));
187
100k
                    }
188
100k
                }
189
101k
            }
190
3.69k
        }
191
3.83k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
1
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
1
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
1
        } else {
179
1
            const T* data = (T*)column->get_raw_data().data;
180
2
            for (size_t i = start; i < size; i++) {
181
1
                if (!nullmap[i]) {
182
1
                    if constexpr (NeedMin) {
183
1
                        _min = std::min(_min, *(data + i));
184
1
                    }
185
1
                    if constexpr (NeedMax) {
186
1
                        _max = std::max(_max, *(data + i));
187
1
                    }
188
1
                }
189
1
            }
190
1
        }
191
1
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
12
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
12
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
12
        } else {
179
12
            const T* data = (T*)column->get_raw_data().data;
180
48
            for (size_t i = start; i < size; i++) {
181
36
                if (!nullmap[i]) {
182
36
                    if constexpr (NeedMin) {
183
36
                        _min = std::min(_min, *(data + i));
184
36
                    }
185
36
                    if constexpr (NeedMax) {
186
36
                        _max = std::max(_max, *(data + i));
187
36
                    }
188
36
                }
189
36
            }
190
12
        }
191
12
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
403
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
403
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
403
        } else {
179
403
            const T* data = (T*)column->get_raw_data().data;
180
1.39k
            for (size_t i = start; i < size; i++) {
181
987
                if (!nullmap[i]) {
182
970
                    if constexpr (NeedMin) {
183
970
                        _min = std::min(_min, *(data + i));
184
970
                    }
185
970
                    if constexpr (NeedMax) {
186
970
                        _max = std::max(_max, *(data + i));
187
970
                    }
188
970
                }
189
987
            }
190
403
        }
191
403
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
236
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
236
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
236
        } else {
179
236
            const T* data = (T*)column->get_raw_data().data;
180
1.31k
            for (size_t i = start; i < size; i++) {
181
1.07k
                if (!nullmap[i]) {
182
929
                    if constexpr (NeedMin) {
183
929
                        _min = std::min(_min, *(data + i));
184
929
                    }
185
929
                    if constexpr (NeedMax) {
186
929
                        _max = std::max(_max, *(data + i));
187
929
                    }
188
929
                }
189
1.07k
            }
190
236
        }
191
236
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
1.82k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
1.82k
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
1.82k
        } else {
179
1.82k
            const T* data = (T*)column->get_raw_data().data;
180
96.2k
            for (size_t i = start; i < size; i++) {
181
94.4k
                if (!nullmap[i]) {
182
94.2k
                    if constexpr (NeedMin) {
183
94.2k
                        _min = std::min(_min, *(data + i));
184
94.2k
                    }
185
94.2k
                    if constexpr (NeedMax) {
186
94.2k
                        _max = std::max(_max, *(data + i));
187
94.2k
                    }
188
94.2k
                }
189
94.4k
            }
190
1.82k
        }
191
1.82k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
1.05k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
1.05k
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
1.05k
        } else {
179
1.05k
            const T* data = (T*)column->get_raw_data().data;
180
5.34k
            for (size_t i = start; i < size; i++) {
181
4.29k
                if (!nullmap[i]) {
182
3.71k
                    if constexpr (NeedMin) {
183
3.71k
                        _min = std::min(_min, *(data + i));
184
3.71k
                    }
185
3.71k
                    if constexpr (NeedMax) {
186
3.71k
                        _max = std::max(_max, *(data + i));
187
3.71k
                    }
188
3.71k
                }
189
4.29k
            }
190
1.05k
        }
191
1.05k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
17
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
17
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
17
        } else {
179
17
            const T* data = (T*)column->get_raw_data().data;
180
34
            for (size_t i = start; i < size; i++) {
181
17
                if (!nullmap[i]) {
182
17
                    if constexpr (NeedMin) {
183
17
                        _min = std::min(_min, *(data + i));
184
17
                    }
185
17
                    if constexpr (NeedMax) {
186
17
                        _max = std::max(_max, *(data + i));
187
17
                    }
188
17
                }
189
17
            }
190
17
        }
191
17
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
3
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
3
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
3
        } else {
179
3
            const T* data = (T*)column->get_raw_data().data;
180
12
            for (size_t i = start; i < size; i++) {
181
9
                if (!nullmap[i]) {
182
8
                    if constexpr (NeedMin) {
183
8
                        _min = std::min(_min, *(data + i));
184
8
                    }
185
8
                    if constexpr (NeedMax) {
186
8
                        _max = std::max(_max, *(data + i));
187
8
                    }
188
8
                }
189
9
            }
190
3
        }
191
3
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
3
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
3
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
3
        } else {
179
3
            const T* data = (T*)column->get_raw_data().data;
180
21
            for (size_t i = start; i < size; i++) {
181
18
                if (!nullmap[i]) {
182
18
                    if constexpr (NeedMin) {
183
18
                        _min = std::min(_min, *(data + i));
184
18
                    }
185
18
                    if constexpr (NeedMax) {
186
18
                        _max = std::max(_max, *(data + i));
187
18
                    }
188
18
                }
189
18
            }
190
3
        }
191
3
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
33
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
33
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
33
        } else {
179
33
            const T* data = (T*)column->get_raw_data().data;
180
317
            for (size_t i = start; i < size; i++) {
181
284
                if (!nullmap[i]) {
182
244
                    if constexpr (NeedMin) {
183
244
                        _min = std::min(_min, *(data + i));
184
244
                    }
185
244
                    if constexpr (NeedMax) {
186
244
                        _max = std::max(_max, *(data + i));
187
244
                    }
188
244
                }
189
284
            }
190
33
        }
191
33
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
25
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
25
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
25
        } else {
179
25
            const T* data = (T*)column->get_raw_data().data;
180
89
            for (size_t i = start; i < size; i++) {
181
64
                if (!nullmap[i]) {
182
58
                    if constexpr (NeedMin) {
183
58
                        _min = std::min(_min, *(data + i));
184
58
                    }
185
58
                    if constexpr (NeedMax) {
186
58
                        _max = std::max(_max, *(data + i));
187
58
                    }
188
58
                }
189
64
            }
190
25
        }
191
25
    }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
3
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
3
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
3
        } else {
179
3
            const T* data = (T*)column->get_raw_data().data;
180
9
            for (size_t i = start; i < size; i++) {
181
6
                if (!nullmap[i]) {
182
6
                    if constexpr (NeedMin) {
183
6
                        _min = std::min(_min, *(data + i));
184
6
                    }
185
6
                    if constexpr (NeedMax) {
186
6
                        _max = std::max(_max, *(data + i));
187
6
                    }
188
6
                }
189
6
            }
190
3
        }
191
3
    }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
1
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
1
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
1
        } else {
179
1
            const T* data = (T*)column->get_raw_data().data;
180
4
            for (size_t i = start; i < size; i++) {
181
3
                if (!nullmap[i]) {
182
3
                    if constexpr (NeedMin) {
183
3
                        _min = std::min(_min, *(data + i));
184
3
                    }
185
3
                    if constexpr (NeedMax) {
186
3
                        _max = std::max(_max, *(data + i));
187
3
                    }
188
3
                }
189
3
            }
190
1
        }
191
1
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
142
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
142
        const auto size = column->size();
170
142
        if constexpr (std::is_same_v<T, std::string>) {
171
142
            if (column->is_column_string64()) {
172
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
0
                                     start, size);
174
142
            } else {
175
142
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
142
                                     start, size);
177
142
            }
178
        } else {
179
            const T* data = (T*)column->get_raw_data().data;
180
            for (size_t i = start; i < size; i++) {
181
                if (!nullmap[i]) {
182
                    if constexpr (NeedMin) {
183
                        _min = std::min(_min, *(data + i));
184
                    }
185
                    if constexpr (NeedMax) {
186
                        _max = std::max(_max, *(data + i));
187
                    }
188
                }
189
            }
190
        }
191
142
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
44
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
44
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
44
        } else {
179
44
            const T* data = (T*)column->get_raw_data().data;
180
128
            for (size_t i = start; i < size; i++) {
181
84
                if (!nullmap[i]) {
182
66
                    if constexpr (NeedMin) {
183
66
                        _min = std::min(_min, *(data + i));
184
66
                    }
185
66
                    if constexpr (NeedMax) {
186
66
                        _max = std::max(_max, *(data + i));
187
66
                    }
188
66
                }
189
84
            }
190
44
        }
191
44
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
21
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
21
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
21
        } else {
179
21
            const T* data = (T*)column->get_raw_data().data;
180
46
            for (size_t i = start; i < size; i++) {
181
25
                if (!nullmap[i]) {
182
24
                    if constexpr (NeedMin) {
183
24
                        _min = std::min(_min, *(data + i));
184
24
                    }
185
24
                    if constexpr (NeedMax) {
186
24
                        _max = std::max(_max, *(data + i));
187
24
                    }
188
24
                }
189
25
            }
190
21
        }
191
21
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
3
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
3
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
3
        } else {
179
3
            const T* data = (T*)column->get_raw_data().data;
180
9
            for (size_t i = start; i < size; i++) {
181
6
                if (!nullmap[i]) {
182
4
                    if constexpr (NeedMin) {
183
4
                        _min = std::min(_min, *(data + i));
184
4
                    }
185
4
                    if constexpr (NeedMax) {
186
4
                        _max = std::max(_max, *(data + i));
187
4
                    }
188
4
                }
189
6
            }
190
3
        }
191
3
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
3
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
3
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
3
        } else {
179
3
            const T* data = (T*)column->get_raw_data().data;
180
21
            for (size_t i = start; i < size; i++) {
181
18
                if (!nullmap[i]) {
182
18
                    if constexpr (NeedMin) {
183
18
                        _min = std::min(_min, *(data + i));
184
18
                    }
185
18
                    if constexpr (NeedMax) {
186
18
                        _max = std::max(_max, *(data + i));
187
18
                    }
188
18
                }
189
18
            }
190
3
        }
191
3
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
7
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
7
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
7
        } else {
179
7
            const T* data = (T*)column->get_raw_data().data;
180
528
            for (size_t i = start; i < size; i++) {
181
521
                if (!nullmap[i]) {
182
489
                    if constexpr (NeedMin) {
183
489
                        _min = std::min(_min, *(data + i));
184
489
                    }
185
489
                    if constexpr (NeedMax) {
186
489
                        _max = std::max(_max, *(data + i));
187
489
                    }
188
489
                }
189
521
            }
190
7
        }
191
7
    }
192
193
    T _max = type_limit<T>::min();
194
    T _min = type_limit<T>::max();
195
196
    bool _min_value_set = false;
197
};
198
199
template <class T>
200
using MinNumFunc = MinMaxNumFunc<T, false, true>;
201
202
template <class T>
203
using MaxNumFunc = MinMaxNumFunc<T, true, false>;
204
205
} // namespace doris