Coverage Report

Created: 2026-10-27 11:33

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
16.3k
    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
16.4k
    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
16.3k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIhLb1ELb1EEC2Eb
Line
Count
Source
51
13
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EEC2Eb
Line
Count
Source
51
36
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIaLb1ELb1EEC2Eb
Line
Count
Source
51
954
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIsLb1ELb1EEC2Eb
Line
Count
Source
51
996
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIiLb1ELb1EEC2Eb
Line
Count
Source
51
8.89k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIlLb1ELb1EEC2Eb
Line
Count
Source
51
2.99k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncInLb1ELb1EEC2Eb
Line
Count
Source
51
321
    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
61
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EEC2Eb
Line
Count
Source
51
24
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
51
665
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
51
148
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EEC2Eb
Line
Count
Source
51
1
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EEC2Eb
Line
Count
Source
51
4
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EEC2Eb
Line
Count
Source
51
732
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EEC2Eb
Line
Count
Source
51
121
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EEC2Eb
Line
Count
Source
51
114
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EEC2Eb
Line
Count
Source
51
272
    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
9
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
52
732
    ~MinMaxNumFunc() override = default;
53
54
6.07k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
6.07k
        if (is_column_nullable(*column)) {
56
3.41k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
3.41k
            const auto& col = nullable->get_nested_column_ptr();
58
3.41k
            const auto& nullmap = nullable->get_null_map_data();
59
3.41k
            if (nullable->has_null()) {
60
2.98k
                _update_batch(col, nullmap, start);
61
2.98k
                _contain_null = true;
62
2.98k
            } else {
63
436
                _update_batch(col, start);
64
436
            }
65
3.41k
        } else {
66
2.65k
            _update_batch(column, start);
67
2.65k
        }
68
6.07k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
2
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
2
        if (is_column_nullable(*column)) {
56
2
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
2
            const auto& col = nullable->get_nested_column_ptr();
58
2
            const auto& nullmap = nullable->get_null_map_data();
59
2
            if (nullable->has_null()) {
60
2
                _update_batch(col, nullmap, start);
61
2
                _contain_null = true;
62
2
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
2
        } else {
66
0
            _update_batch(column, start);
67
0
        }
68
2
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE16insert_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
2
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
2
            const auto& col = nullable->get_nested_column_ptr();
58
2
            const auto& nullmap = nullable->get_null_map_data();
59
2
            if (nullable->has_null()) {
60
2
                _update_batch(col, nullmap, start);
61
2
                _contain_null = true;
62
2
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
2
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
3
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
649
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
649
        if (is_column_nullable(*column)) {
56
613
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
613
            const auto& col = nullable->get_nested_column_ptr();
58
613
            const auto& nullmap = nullable->get_null_map_data();
59
613
            if (nullable->has_null()) {
60
388
                _update_batch(col, nullmap, start);
61
388
                _contain_null = true;
62
388
            } else {
63
225
                _update_batch(col, start);
64
225
            }
65
613
        } else {
66
36
            _update_batch(column, start);
67
36
        }
68
649
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
468
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
468
        if (is_column_nullable(*column)) {
56
467
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
467
            const auto& col = nullable->get_nested_column_ptr();
58
467
            const auto& nullmap = nullable->get_null_map_data();
59
467
            if (nullable->has_null()) {
60
466
                _update_batch(col, nullmap, start);
61
466
                _contain_null = true;
62
466
            } else {
63
1
                _update_batch(col, start);
64
1
            }
65
467
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
468
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
3.00k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
3.00k
        if (is_column_nullable(*column)) {
56
1.16k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
1.16k
            const auto& col = nullable->get_nested_column_ptr();
58
1.16k
            const auto& nullmap = nullable->get_null_map_data();
59
1.16k
            if (nullable->has_null()) {
60
1.05k
                _update_batch(col, nullmap, start);
61
1.05k
                _contain_null = true;
62
1.05k
            } else {
63
110
                _update_batch(col, start);
64
110
            }
65
1.84k
        } else {
66
1.84k
            _update_batch(column, start);
67
1.84k
        }
68
3.00k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
882
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
882
        if (is_column_nullable(*column)) {
56
702
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
702
            const auto& col = nullable->get_nested_column_ptr();
58
702
            const auto& nullmap = nullable->get_null_map_data();
59
702
            if (nullable->has_null()) {
60
689
                _update_batch(col, nullmap, start);
61
689
                _contain_null = true;
62
689
            } else {
63
13
                _update_batch(col, start);
64
13
            }
65
702
        } else {
66
180
            _update_batch(column, start);
67
180
        }
68
882
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
222
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
222
        if (is_column_nullable(*column)) {
56
6
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
6
            const auto& col = nullable->get_nested_column_ptr();
58
6
            const auto& nullmap = nullable->get_null_map_data();
59
6
            if (nullable->has_null()) {
60
6
                _update_batch(col, nullmap, start);
61
6
                _contain_null = true;
62
6
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
216
        } else {
66
216
            _update_batch(column, start);
67
216
        }
68
222
    }
_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
38
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
38
        if (is_column_nullable(*column)) {
56
37
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
37
            const auto& col = nullable->get_nested_column_ptr();
58
37
            const auto& nullmap = nullable->get_null_map_data();
59
37
            if (nullable->has_null()) {
60
35
                _update_batch(col, nullmap, start);
61
35
                _contain_null = true;
62
35
            } else {
63
2
                _update_batch(col, start);
64
2
            }
65
37
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
38
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
10
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
10
        if (is_column_nullable(*column)) {
56
8
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
8
            const auto& col = nullable->get_nested_column_ptr();
58
8
            const auto& nullmap = nullable->get_null_map_data();
59
8
            if (nullable->has_null()) {
60
8
                _update_batch(col, nullmap, start);
61
8
                _contain_null = true;
62
8
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
8
        } else {
66
2
            _update_batch(column, start);
67
2
        }
68
10
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
54
283
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
283
        if (is_column_nullable(*column)) {
56
63
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
63
            const auto& col = nullable->get_nested_column_ptr();
58
63
            const auto& nullmap = nullable->get_null_map_data();
59
63
            if (nullable->has_null()) {
60
61
                _update_batch(col, nullmap, start);
61
61
                _contain_null = true;
62
61
            } else {
63
2
                _update_batch(col, start);
64
2
            }
65
220
        } else {
66
220
            _update_batch(column, start);
67
220
        }
68
283
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
54
36
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
36
        if (is_column_nullable(*column)) {
56
25
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
25
            const auto& col = nullable->get_nested_column_ptr();
58
25
            const auto& nullmap = nullable->get_null_map_data();
59
25
            if (nullable->has_null()) {
60
25
                _update_batch(col, nullmap, start);
61
25
                _contain_null = true;
62
25
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
25
        } else {
66
11
            _update_batch(column, start);
67
11
        }
68
36
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
_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
236
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
236
        if (is_column_nullable(*column)) {
56
164
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
164
            const auto& col = nullable->get_nested_column_ptr();
58
164
            const auto& nullmap = nullable->get_null_map_data();
59
164
            if (nullable->has_null()) {
60
109
                _update_batch(col, nullmap, start);
61
109
                _contain_null = true;
62
109
            } else {
63
55
                _update_batch(col, start);
64
55
            }
65
164
        } else {
66
72
            _update_batch(column, start);
67
72
        }
68
236
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
54
59
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
59
        if (is_column_nullable(*column)) {
56
58
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
58
            const auto& col = nullable->get_nested_column_ptr();
58
58
            const auto& nullmap = nullable->get_null_map_data();
59
58
            if (nullable->has_null()) {
60
58
                _update_batch(col, nullmap, start);
61
58
                _contain_null = true;
62
58
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
58
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
59
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
54
47
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
47
        if (is_column_nullable(*column)) {
56
25
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
25
            const auto& col = nullable->get_nested_column_ptr();
58
25
            const auto& nullmap = nullable->get_null_map_data();
59
25
            if (nullable->has_null()) {
60
25
                _update_batch(col, nullmap, start);
61
25
                _contain_null = true;
62
25
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
25
        } else {
66
22
            _update_batch(column, start);
67
22
        }
68
47
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
107
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
107
        if (is_column_nullable(*column)) {
56
70
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
70
            const auto& col = nullable->get_nested_column_ptr();
58
70
            const auto& nullmap = nullable->get_null_map_data();
59
70
            if (nullable->has_null()) {
60
42
                _update_batch(col, nullmap, start);
61
42
                _contain_null = true;
62
42
            } else {
63
28
                _update_batch(col, start);
64
28
            }
65
70
        } else {
66
37
            _update_batch(column, start);
67
37
        }
68
107
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_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
    }
_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
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
    }
69
70
6.40k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
6.40k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
6.40k
        if constexpr (NeedMin) {
73
6.40k
            if constexpr (IsStringValue) {
74
252
                if (other_minmax->_min < _min || !_min_value_set) {
75
59
                    _min = other_minmax->_min;
76
59
                    _min_value_set = true;
77
59
                }
78
6.15k
            } else if (other_minmax->_min < _min) {
79
527
                _min = other_minmax->_min;
80
527
            }
81
6.40k
        }
82
6.40k
        if constexpr (NeedMax) {
83
6.40k
            if (other_minmax->_max > _max) {
84
589
                _max = other_minmax->_max;
85
589
            }
86
6.40k
        }
87
88
6.40k
        _contain_null |= minmax_func->contain_null();
89
6.40k
        return Status::OK();
90
6.40k
    }
_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
2
                _min = other_minmax->_min;
80
2
            }
81
5
        }
82
5
        if constexpr (NeedMax) {
83
5
            if (other_minmax->_max > _max) {
84
1
                _max = other_minmax->_max;
85
1
            }
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
30
    Status merge(MinMaxFuncBase* minmax_func) override {
71
30
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
30
        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
30
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
30
        }
82
30
        if constexpr (NeedMax) {
83
30
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
30
        }
87
88
30
        _contain_null |= minmax_func->contain_null();
89
30
        return Status::OK();
90
30
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
336
    Status merge(MinMaxFuncBase* minmax_func) override {
71
336
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
336
        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
336
            } else if (other_minmax->_min < _min) {
79
11
                _min = other_minmax->_min;
80
11
            }
81
336
        }
82
336
        if constexpr (NeedMax) {
83
336
            if (other_minmax->_max > _max) {
84
17
                _max = other_minmax->_max;
85
17
            }
86
336
        }
87
88
336
        _contain_null |= minmax_func->contain_null();
89
336
        return Status::OK();
90
336
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
403
    Status merge(MinMaxFuncBase* minmax_func) override {
71
403
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
403
        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
403
            } else if (other_minmax->_min < _min) {
79
33
                _min = other_minmax->_min;
80
33
            }
81
403
        }
82
403
        if constexpr (NeedMax) {
83
403
            if (other_minmax->_max > _max) {
84
35
                _max = other_minmax->_max;
85
35
            }
86
403
        }
87
88
403
        _contain_null |= minmax_func->contain_null();
89
403
        return Status::OK();
90
403
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
3.78k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
3.78k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
3.78k
        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
3.78k
            } else if (other_minmax->_min < _min) {
79
310
                _min = other_minmax->_min;
80
310
            }
81
3.78k
        }
82
3.78k
        if constexpr (NeedMax) {
83
3.78k
            if (other_minmax->_max > _max) {
84
311
                _max = other_minmax->_max;
85
311
            }
86
3.78k
        }
87
88
3.78k
        _contain_null |= minmax_func->contain_null();
89
3.78k
        return Status::OK();
90
3.78k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
775
    Status merge(MinMaxFuncBase* minmax_func) override {
71
775
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
775
        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
775
            } else if (other_minmax->_min < _min) {
79
83
                _min = other_minmax->_min;
80
83
            }
81
775
        }
82
775
        if constexpr (NeedMax) {
83
775
            if (other_minmax->_max > _max) {
84
96
                _max = other_minmax->_max;
85
96
            }
86
775
        }
87
88
775
        _contain_null |= minmax_func->contain_null();
89
775
        return Status::OK();
90
775
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
199
    Status merge(MinMaxFuncBase* minmax_func) override {
71
199
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
199
        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
199
            } else if (other_minmax->_min < _min) {
79
8
                _min = other_minmax->_min;
80
8
            }
81
199
        }
82
199
        if constexpr (NeedMax) {
83
199
            if (other_minmax->_max > _max) {
84
10
                _max = other_minmax->_max;
85
10
            }
86
199
        }
87
88
199
        _contain_null |= minmax_func->contain_null();
89
199
        return Status::OK();
90
199
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
28
    Status merge(MinMaxFuncBase* minmax_func) override {
71
28
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
28
        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
28
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
28
        }
82
28
        if constexpr (NeedMax) {
83
28
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
28
        }
87
88
28
        _contain_null |= minmax_func->contain_null();
89
28
        return Status::OK();
90
28
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
358
    Status merge(MinMaxFuncBase* minmax_func) override {
71
358
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
358
        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
358
            } else if (other_minmax->_min < _min) {
79
52
                _min = other_minmax->_min;
80
52
            }
81
358
        }
82
358
        if constexpr (NeedMax) {
83
358
            if (other_minmax->_max > _max) {
84
58
                _max = other_minmax->_max;
85
58
            }
86
358
        }
87
88
358
        _contain_null |= minmax_func->contain_null();
89
358
        return Status::OK();
90
358
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
32
    Status merge(MinMaxFuncBase* minmax_func) override {
71
32
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
32
        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
32
            } else if (other_minmax->_min < _min) {
79
5
                _min = other_minmax->_min;
80
5
            }
81
32
        }
82
32
        if constexpr (NeedMax) {
83
32
            if (other_minmax->_max > _max) {
84
5
                _max = other_minmax->_max;
85
5
            }
86
32
        }
87
88
32
        _contain_null |= minmax_func->contain_null();
89
32
        return Status::OK();
90
32
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
252
    Status merge(MinMaxFuncBase* minmax_func) override {
71
252
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
252
        if constexpr (NeedMin) {
73
252
            if constexpr (IsStringValue) {
74
252
                if (other_minmax->_min < _min || !_min_value_set) {
75
59
                    _min = other_minmax->_min;
76
59
                    _min_value_set = true;
77
59
                }
78
            } else if (other_minmax->_min < _min) {
79
                _min = other_minmax->_min;
80
            }
81
252
        }
82
252
        if constexpr (NeedMax) {
83
252
            if (other_minmax->_max > _max) {
84
33
                _max = other_minmax->_max;
85
33
            }
86
252
        }
87
88
252
        _contain_null |= minmax_func->contain_null();
89
252
        return Status::OK();
90
252
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
36
    Status merge(MinMaxFuncBase* minmax_func) override {
71
36
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
36
        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
36
            } else if (other_minmax->_min < _min) {
79
5
                _min = other_minmax->_min;
80
5
            }
81
36
        }
82
36
        if constexpr (NeedMax) {
83
36
            if (other_minmax->_max > _max) {
84
5
                _max = other_minmax->_max;
85
5
            }
86
36
        }
87
88
36
        _contain_null |= minmax_func->contain_null();
89
36
        return Status::OK();
90
36
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
22
    Status merge(MinMaxFuncBase* minmax_func) override {
71
22
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
22
        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
22
            } else if (other_minmax->_min < _min) {
79
5
                _min = other_minmax->_min;
80
5
            }
81
22
        }
82
22
        if constexpr (NeedMax) {
83
22
            if (other_minmax->_max > _max) {
84
6
                _max = other_minmax->_max;
85
6
            }
86
22
        }
87
88
22
        _contain_null |= minmax_func->contain_null();
89
22
        return Status::OK();
90
22
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
145
    Status merge(MinMaxFuncBase* minmax_func) override {
71
145
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
145
        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
145
            } else if (other_minmax->_min < _min) {
79
12
                _min = other_minmax->_min;
80
12
            }
81
145
        }
82
145
        if constexpr (NeedMax) {
83
145
            if (other_minmax->_max > _max) {
84
12
                _max = other_minmax->_max;
85
12
            }
86
145
        }
87
88
145
        _contain_null |= minmax_func->contain_null();
89
145
        return Status::OK();
90
145
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE5mergeEPNS_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
1
                _min = other_minmax->_min;
80
1
            }
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
    }
91
92
849
    MinMaxFuncBase* clone() const override {
93
849
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
849
        cloned->_max = _max;
95
849
        cloned->_min = _min;
96
849
        cloned->_min_value_set = _min_value_set;
97
849
        cloned->_contain_null = _contain_null;
98
849
        return cloned;
99
849
    }
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
59
    MinMaxFuncBase* clone() const override {
93
59
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
59
        cloned->_max = _max;
95
59
        cloned->_min = _min;
96
59
        cloned->_min_value_set = _min_value_set;
97
59
        cloned->_contain_null = _contain_null;
98
59
        return cloned;
99
59
    }
_ZNK5doris13MinMaxNumFuncIsLb1ELb1EE5cloneEv
Line
Count
Source
92
51
    MinMaxFuncBase* clone() const override {
93
51
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
51
        cloned->_max = _max;
95
51
        cloned->_min = _min;
96
51
        cloned->_min_value_set = _min_value_set;
97
51
        cloned->_contain_null = _contain_null;
98
51
        return cloned;
99
51
    }
_ZNK5doris13MinMaxNumFuncIiLb1ELb1EE5cloneEv
Line
Count
Source
92
495
    MinMaxFuncBase* clone() const override {
93
495
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
495
        cloned->_max = _max;
95
495
        cloned->_min = _min;
96
495
        cloned->_min_value_set = _min_value_set;
97
495
        cloned->_contain_null = _contain_null;
98
495
        return cloned;
99
495
    }
_ZNK5doris13MinMaxNumFuncIlLb1ELb1EE5cloneEv
Line
Count
Source
92
129
    MinMaxFuncBase* clone() const override {
93
129
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
129
        cloned->_max = _max;
95
129
        cloned->_min = _min;
96
129
        cloned->_min_value_set = _min_value_set;
97
129
        cloned->_contain_null = _contain_null;
98
129
        return cloned;
99
129
    }
_ZNK5doris13MinMaxNumFuncInLb1ELb1EE5cloneEv
Line
Count
Source
92
24
    MinMaxFuncBase* clone() const override {
93
24
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
24
        cloned->_max = _max;
95
24
        cloned->_min = _min;
96
24
        cloned->_min_value_set = _min_value_set;
97
24
        cloned->_contain_null = _contain_null;
98
24
        return cloned;
99
24
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncIfLb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncIdLb1ELb1EE5cloneEv
Line
Count
Source
92
10
    MinMaxFuncBase* clone() const override {
93
10
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
10
        cloned->_max = _max;
95
10
        cloned->_min = _min;
96
10
        cloned->_min_value_set = _min_value_set;
97
10
        cloned->_contain_null = _contain_null;
98
10
        return cloned;
99
10
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5cloneEv
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
    }
_ZNK5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5cloneEv
Line
Count
Source
92
10
    MinMaxFuncBase* clone() const override {
93
10
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
10
        cloned->_max = _max;
95
10
        cloned->_min = _min;
96
10
        cloned->_min_value_set = _min_value_set;
97
10
        cloned->_contain_null = _contain_null;
98
10
        return cloned;
99
10
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE5cloneEv
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5cloneEv
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_7DecimalIiEELb1ELb1EE5cloneEv
Line
Count
Source
92
11
    MinMaxFuncBase* clone() const override {
93
11
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
11
        cloned->_max = _max;
95
11
        cloned->_min = _min;
96
11
        cloned->_min_value_set = _min_value_set;
97
11
        cloned->_contain_null = _contain_null;
98
11
        return cloned;
99
11
    }
_ZNK5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5cloneEv
Line
Count
Source
92
4
    MinMaxFuncBase* clone() const override {
93
4
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
4
        cloned->_max = _max;
95
4
        cloned->_min = _min;
96
4
        cloned->_min_value_set = _min_value_set;
97
4
        cloned->_contain_null = _contain_null;
98
4
        return cloned;
99
4
    }
_ZNK5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5cloneEv
Line
Count
Source
92
16
    MinMaxFuncBase* clone() const override {
93
16
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
16
        cloned->_max = _max;
95
16
        cloned->_min = _min;
96
16
        cloned->_min_value_set = _min_value_set;
97
16
        cloned->_contain_null = _contain_null;
98
16
        return cloned;
99
16
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5cloneEv
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncIjLb1ELb1EE5cloneEv
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncIoLb1ELb1EE5cloneEv
100
101
4.44k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_maxEv
Line
Count
Source
101
4
    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
270
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_maxEv
Line
Count
Source
101
235
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_maxEv
Line
Count
Source
101
2.17k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_maxEv
Line
Count
Source
101
1.10k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_maxEv
Line
Count
Source
101
53
    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
13
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
14
    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
64
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
1
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
206
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_maxEv
Line
Count
Source
101
41
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_maxEv
Line
Count
Source
101
53
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_maxEv
Line
Count
Source
101
52
    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
5
    void* get_max() override { return &_max; }
102
103
4.42k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_minEv
Line
Count
Source
103
4
    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
248
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_minEv
Line
Count
Source
103
236
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_minEv
Line
Count
Source
103
2.16k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_minEv
Line
Count
Source
103
1.11k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_minEv
Line
Count
Source
103
52
    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
6
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_minEv
Line
Count
Source
103
14
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
103
130
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
103
64
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE7get_minEv
Line
Count
Source
103
1
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_minEv
Line
Count
Source
103
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_minEv
Line
Count
Source
103
213
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_minEv
Line
Count
Source
103
41
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_minEv
Line
Count
Source
103
53
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_minEv
Line
Count
Source
103
55
    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
5
    void* get_min() override { return &_min; }
104
105
1.21k
    Status assign(void* min_data, void* max_data) override {
106
1.21k
        if constexpr (IsStringValue) {
107
109
            _min_value_set = true;
108
109
        }
109
1.21k
        _min = *(T*)min_data;
110
1.21k
        _max = *(T*)max_data;
111
1.21k
        return Status::OK();
112
1.21k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE6assignEPvS2_
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_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
37
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
37
        _min = *(T*)min_data;
110
37
        _max = *(T*)max_data;
111
37
        return Status::OK();
112
37
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
137
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
137
        _min = *(T*)min_data;
110
137
        _max = *(T*)max_data;
111
137
        return Status::OK();
112
137
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
620
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
620
        _min = *(T*)min_data;
110
620
        _max = *(T*)max_data;
111
620
        return Status::OK();
112
620
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
155
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
155
        _min = *(T*)min_data;
110
155
        _max = *(T*)max_data;
111
155
        return Status::OK();
112
155
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE6assignEPvS2_
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
    }
_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
77
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
77
        _min = *(T*)min_data;
110
77
        _max = *(T*)max_data;
111
77
        return Status::OK();
112
77
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE6assignEPvS5_
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_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
109
    Status assign(void* min_data, void* max_data) override {
106
109
        if constexpr (IsStringValue) {
107
109
            _min_value_set = true;
108
109
        }
109
109
        _min = *(T*)min_data;
110
109
        _max = *(T*)max_data;
111
109
        return Status::OK();
112
109
    }
_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
25
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
25
        _min = *(T*)min_data;
110
25
        _max = *(T*)max_data;
111
25
        return Status::OK();
112
25
    }
_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.55k
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
4
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
48
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
170
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
920
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
163
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
10
    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
76
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
10
    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
111
    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
24
    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.55k
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
1.55k
        if constexpr (NeedMin) {
119
1.55k
            f(filter->mutable_min_val(), _min);
120
1.55k
        }
121
1.55k
        if constexpr (NeedMax) {
122
1.55k
            f(filter->mutable_max_val(), _max);
123
1.55k
        }
124
1.55k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7_set_pbIZNS_13get_convertorIhEEDavEUlPNS_12PColumnValueERKhE_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
    }
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
48
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
48
        if constexpr (NeedMin) {
119
48
            f(filter->mutable_min_val(), _min);
120
48
        }
121
48
        if constexpr (NeedMax) {
122
48
            f(filter->mutable_max_val(), _max);
123
48
        }
124
48
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7_set_pbIZNS_13get_convertorIsEEDavEUlPNS_12PColumnValueERKsE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
170
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
170
        if constexpr (NeedMin) {
119
170
            f(filter->mutable_min_val(), _min);
120
170
        }
121
170
        if constexpr (NeedMax) {
122
170
            f(filter->mutable_max_val(), _max);
123
170
        }
124
170
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7_set_pbIZNS_13get_convertorIiEEDavEUlPNS_12PColumnValueERKiE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
921
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
921
        if constexpr (NeedMin) {
119
921
            f(filter->mutable_min_val(), _min);
120
921
        }
121
921
        if constexpr (NeedMax) {
122
921
            f(filter->mutable_max_val(), _max);
123
921
        }
124
921
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7_set_pbIZNS_13get_convertorIlEEDavEUlPNS_12PColumnValueERKlE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
163
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
163
        if constexpr (NeedMin) {
119
163
            f(filter->mutable_min_val(), _min);
120
163
        }
121
163
        if constexpr (NeedMax) {
122
163
            f(filter->mutable_max_val(), _max);
123
163
        }
124
163
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7_set_pbIZNS_13get_convertorInEEDavEUlPNS_12PColumnValueERKnE_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
    }
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
76
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
76
        if constexpr (NeedMin) {
119
76
            f(filter->mutable_min_val(), _min);
120
76
        }
121
76
        if constexpr (NeedMax) {
122
76
            f(filter->mutable_max_val(), _max);
123
76
        }
124
76
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_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
    }
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
111
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
111
        if constexpr (NeedMin) {
119
111
            f(filter->mutable_min_val(), _min);
120
111
        }
121
111
        if constexpr (NeedMax) {
122
111
            f(filter->mutable_max_val(), _max);
123
111
        }
124
111
    }
_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
24
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
24
        if constexpr (NeedMin) {
119
24
            f(filter->mutable_min_val(), _min);
120
24
        }
121
24
        if constexpr (NeedMax) {
122
24
            f(filter->mutable_max_val(), _max);
123
24
        }
124
24
    }
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
236
                              size_t start, size_t size) {
128
12.5k
        for (size_t i = start; i < size; i++) {
129
12.3k
            if (nullmap == nullptr || !nullmap[i]) {
130
12.2k
                if constexpr (NeedMin) {
131
12.2k
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
132
281
                        _min = column_string.get_data_at(i).to_string();
133
281
                        _min_value_set = true;
134
281
                    }
135
12.2k
                }
136
12.2k
                if constexpr (NeedMax) {
137
12.2k
                    if (column_string.get_data_at(i) > StringRef(_max)) {
138
1.46k
                        _max = column_string.get_data_at(i).to_string();
139
1.46k
                    }
140
12.2k
                }
141
12.2k
            }
142
12.3k
        }
143
236
    }
_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
235
                              size_t start, size_t size) {
128
12.5k
        for (size_t i = start; i < size; i++) {
129
12.3k
            if (nullmap == nullptr || !nullmap[i]) {
130
12.2k
                if constexpr (NeedMin) {
131
12.2k
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
132
280
                        _min = column_string.get_data_at(i).to_string();
133
280
                        _min_value_set = true;
134
280
                    }
135
12.2k
                }
136
12.2k
                if constexpr (NeedMax) {
137
12.2k
                    if (column_string.get_data_at(i) > StringRef(_max)) {
138
1.45k
                        _max = column_string.get_data_at(i).to_string();
139
1.45k
                    }
140
12.2k
                }
141
12.2k
            }
142
12.3k
        }
143
235
    }
144
145
3.08k
    void _update_batch(const ColumnPtr& column, size_t start) {
146
3.08k
        const auto size = column->size();
147
3.08k
        if constexpr (std::is_same_v<T, std::string>) {
148
127
            if (column->is_column_string64()) {
149
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
1
                                     size);
151
126
            } else {
152
126
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
126
                                     size);
154
126
            }
155
2.95k
        } else {
156
2.95k
            const T* data = (T*)column->get_raw_data().data;
157
5.41M
            for (size_t i = start; i < size; i++) {
158
5.40M
                if constexpr (NeedMin) {
159
5.40M
                    _min = std::min(_min, *(data + i));
160
5.40M
                }
161
5.40M
                if constexpr (NeedMax) {
162
5.40M
                    _max = std::max(_max, *(data + i));
163
5.40M
                }
164
5.40M
            }
165
2.95k
        }
166
3.08k
    }
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
261
    void _update_batch(const ColumnPtr& column, size_t start) {
146
261
        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
261
        } else {
156
261
            const T* data = (T*)column->get_raw_data().data;
157
838
            for (size_t i = start; i < size; i++) {
158
577
                if constexpr (NeedMin) {
159
577
                    _min = std::min(_min, *(data + i));
160
577
                }
161
577
                if constexpr (NeedMax) {
162
577
                    _max = std::max(_max, *(data + i));
163
577
                }
164
577
            }
165
261
        }
166
261
    }
_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.95k
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1.95k
        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.95k
        } else {
156
1.95k
            const T* data = (T*)column->get_raw_data().data;
157
5.40M
            for (size_t i = start; i < size; i++) {
158
5.40M
                if constexpr (NeedMin) {
159
5.40M
                    _min = std::min(_min, *(data + i));
160
5.40M
                }
161
5.40M
                if constexpr (NeedMax) {
162
5.40M
                    _max = std::max(_max, *(data + i));
163
5.40M
                }
164
5.40M
            }
165
1.95k
        }
166
1.95k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
192
    void _update_batch(const ColumnPtr& column, size_t start) {
146
192
        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
192
        } else {
156
192
            const T* data = (T*)column->get_raw_data().data;
157
1.29k
            for (size_t i = start; i < size; i++) {
158
1.10k
                if constexpr (NeedMin) {
159
1.10k
                    _min = std::min(_min, *(data + i));
160
1.10k
                }
161
1.10k
                if constexpr (NeedMax) {
162
1.10k
                    _max = std::max(_max, *(data + i));
163
1.10k
                }
164
1.10k
            }
165
192
        }
166
192
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
216
    void _update_batch(const ColumnPtr& column, size_t start) {
146
216
        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
216
        } else {
156
216
            const T* data = (T*)column->get_raw_data().data;
157
560
            for (size_t i = start; i < size; i++) {
158
344
                if constexpr (NeedMin) {
159
344
                    _min = std::min(_min, *(data + i));
160
344
                }
161
344
                if constexpr (NeedMax) {
162
344
                    _max = std::max(_max, *(data + i));
163
344
                }
164
344
            }
165
216
        }
166
216
    }
_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
3
    void _update_batch(const ColumnPtr& column, size_t start) {
146
3
        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
3
        } else {
156
3
            const T* data = (T*)column->get_raw_data().data;
157
8
            for (size_t i = start; i < size; i++) {
158
5
                if constexpr (NeedMin) {
159
5
                    _min = std::min(_min, *(data + i));
160
5
                }
161
5
                if constexpr (NeedMax) {
162
5
                    _max = std::max(_max, *(data + i));
163
5
                }
164
5
            }
165
3
        }
166
3
    }
_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
221
    void _update_batch(const ColumnPtr& column, size_t start) {
146
221
        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
221
        } else {
156
221
            const T* data = (T*)column->get_raw_data().data;
157
632
            for (size_t i = start; i < size; i++) {
158
411
                if constexpr (NeedMin) {
159
411
                    _min = std::min(_min, *(data + i));
160
411
                }
161
411
                if constexpr (NeedMax) {
162
411
                    _max = std::max(_max, *(data + i));
163
411
                }
164
411
            }
165
221
        }
166
221
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
145
11
    void _update_batch(const ColumnPtr& column, size_t start) {
146
11
        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
11
        } else {
156
11
            const T* data = (T*)column->get_raw_data().data;
157
43
            for (size_t i = start; i < size; i++) {
158
32
                if constexpr (NeedMin) {
159
32
                    _min = std::min(_min, *(data + i));
160
32
                }
161
32
                if constexpr (NeedMax) {
162
32
                    _max = std::max(_max, *(data + i));
163
32
                }
164
32
            }
165
11
        }
166
11
    }
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
127
    void _update_batch(const ColumnPtr& column, size_t start) {
146
127
        const auto size = column->size();
147
127
        if constexpr (std::is_same_v<T, std::string>) {
148
127
            if (column->is_column_string64()) {
149
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
1
                                     size);
151
126
            } else {
152
126
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
126
                                     size);
154
126
            }
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
127
    }
_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
22
    void _update_batch(const ColumnPtr& column, size_t start) {
146
22
        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
22
        } else {
156
22
            const T* data = (T*)column->get_raw_data().data;
157
111
            for (size_t i = start; i < size; i++) {
158
89
                if constexpr (NeedMin) {
159
89
                    _min = std::min(_min, *(data + i));
160
89
                }
161
89
                if constexpr (NeedMax) {
162
89
                    _max = std::max(_max, *(data + i));
163
89
                }
164
89
            }
165
22
        }
166
22
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
145
65
    void _update_batch(const ColumnPtr& column, size_t start) {
146
65
        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
65
        } else {
156
65
            const T* data = (T*)column->get_raw_data().data;
157
204
            for (size_t i = start; i < size; i++) {
158
139
                if constexpr (NeedMin) {
159
139
                    _min = std::min(_min, *(data + i));
160
139
                }
161
139
                if constexpr (NeedMax) {
162
139
                    _max = std::max(_max, *(data + i));
163
139
                }
164
139
            }
165
65
        }
166
65
    }
_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
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
    }
167
168
2.98k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
2.98k
        const auto size = column->size();
170
2.98k
        if constexpr (std::is_same_v<T, std::string>) {
171
109
            if (column->is_column_string64()) {
172
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
0
                                     start, size);
174
109
            } else {
175
109
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
109
                                     start, size);
177
109
            }
178
2.87k
        } else {
179
2.87k
            const T* data = (T*)column->get_raw_data().data;
180
2.97M
            for (size_t i = start; i < size; i++) {
181
2.96M
                if (!nullmap[i]) {
182
2.95M
                    if constexpr (NeedMin) {
183
2.95M
                        _min = std::min(_min, *(data + i));
184
2.95M
                    }
185
2.95M
                    if constexpr (NeedMax) {
186
2.95M
                        _max = std::max(_max, *(data + i));
187
2.95M
                    }
188
2.95M
                }
189
2.96M
            }
190
2.87k
        }
191
2.98k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
2
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
2
        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
2
        } else {
179
2
            const T* data = (T*)column->get_raw_data().data;
180
6
            for (size_t i = start; i < size; i++) {
181
4
                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
4
            }
190
2
        }
191
2
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
2
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
2
        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
2
        } else {
179
2
            const T* data = (T*)column->get_raw_data().data;
180
8
            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
2
        }
191
2
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
388
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
388
        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
388
        } else {
179
388
            const T* data = (T*)column->get_raw_data().data;
180
1.38k
            for (size_t i = start; i < size; i++) {
181
997
                if (!nullmap[i]) {
182
972
                    if constexpr (NeedMin) {
183
972
                        _min = std::min(_min, *(data + i));
184
972
                    }
185
972
                    if constexpr (NeedMax) {
186
972
                        _max = std::max(_max, *(data + i));
187
972
                    }
188
972
                }
189
997
            }
190
388
        }
191
388
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
465
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
465
        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
465
        } else {
179
465
            const T* data = (T*)column->get_raw_data().data;
180
2.34k
            for (size_t i = start; i < size; i++) {
181
1.88k
                if (!nullmap[i]) {
182
1.67k
                    if constexpr (NeedMin) {
183
1.67k
                        _min = std::min(_min, *(data + i));
184
1.67k
                    }
185
1.67k
                    if constexpr (NeedMax) {
186
1.67k
                        _max = std::max(_max, *(data + i));
187
1.67k
                    }
188
1.67k
                }
189
1.88k
            }
190
465
        }
191
465
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_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
2.76M
            for (size_t i = start; i < size; i++) {
181
2.76M
                if (!nullmap[i]) {
182
2.75M
                    if constexpr (NeedMin) {
183
2.75M
                        _min = std::min(_min, *(data + i));
184
2.75M
                    }
185
2.75M
                    if constexpr (NeedMax) {
186
2.75M
                        _max = std::max(_max, *(data + i));
187
2.75M
                    }
188
2.75M
                }
189
2.76M
            }
190
1.05k
        }
191
1.05k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
688
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
688
        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
688
        } else {
179
688
            const T* data = (T*)column->get_raw_data().data;
180
202k
            for (size_t i = start; i < size; i++) {
181
202k
                if (!nullmap[i]) {
182
201k
                    if constexpr (NeedMin) {
183
201k
                        _min = std::min(_min, *(data + i));
184
201k
                    }
185
201k
                    if constexpr (NeedMax) {
186
201k
                        _max = std::max(_max, *(data + i));
187
201k
                    }
188
201k
                }
189
202k
            }
190
688
        }
191
688
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
6
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
6
        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
6
        } else {
179
6
            const T* data = (T*)column->get_raw_data().data;
180
12
            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
6
        }
191
6
    }
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
35
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
35
        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
35
        } else {
179
35
            const T* data = (T*)column->get_raw_data().data;
180
91
            for (size_t i = start; i < size; i++) {
181
56
                if (!nullmap[i]) {
182
28
                    if constexpr (NeedMin) {
183
28
                        _min = std::min(_min, *(data + i));
184
28
                    }
185
28
                    if constexpr (NeedMax) {
186
28
                        _max = std::max(_max, *(data + i));
187
28
                    }
188
28
                }
189
56
            }
190
35
        }
191
35
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
8
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
8
        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
8
        } else {
179
8
            const T* data = (T*)column->get_raw_data().data;
180
50
            for (size_t i = start; i < size; i++) {
181
42
                if (!nullmap[i]) {
182
42
                    if constexpr (NeedMin) {
183
42
                        _min = std::min(_min, *(data + i));
184
42
                    }
185
42
                    if constexpr (NeedMax) {
186
42
                        _max = std::max(_max, *(data + i));
187
42
                    }
188
42
                }
189
42
            }
190
8
        }
191
8
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
61
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
61
        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
61
        } else {
179
61
            const T* data = (T*)column->get_raw_data().data;
180
310
            for (size_t i = start; i < size; i++) {
181
249
                if (!nullmap[i]) {
182
212
                    if constexpr (NeedMin) {
183
212
                        _min = std::min(_min, *(data + i));
184
212
                    }
185
212
                    if constexpr (NeedMax) {
186
212
                        _max = std::max(_max, *(data + i));
187
212
                    }
188
212
                }
189
249
            }
190
61
        }
191
61
    }
_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
101
            for (size_t i = start; i < size; i++) {
181
76
                if (!nullmap[i]) {
182
55
                    if constexpr (NeedMin) {
183
55
                        _min = std::min(_min, *(data + i));
184
55
                    }
185
55
                    if constexpr (NeedMax) {
186
55
                        _max = std::max(_max, *(data + i));
187
55
                    }
188
55
                }
189
76
            }
190
25
        }
191
25
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
_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
109
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
109
        const auto size = column->size();
170
109
        if constexpr (std::is_same_v<T, std::string>) {
171
109
            if (column->is_column_string64()) {
172
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
0
                                     start, size);
174
109
            } else {
175
109
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
109
                                     start, size);
177
109
            }
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
109
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
58
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
58
        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
58
        } else {
179
58
            const T* data = (T*)column->get_raw_data().data;
180
215
            for (size_t i = start; i < size; i++) {
181
157
                if (!nullmap[i]) {
182
75
                    if constexpr (NeedMin) {
183
75
                        _min = std::min(_min, *(data + i));
184
75
                    }
185
75
                    if constexpr (NeedMax) {
186
75
                        _max = std::max(_max, *(data + i));
187
75
                    }
188
75
                }
189
157
            }
190
58
        }
191
58
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_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
66
            for (size_t i = start; i < size; i++) {
181
41
                if (!nullmap[i]) {
182
37
                    if constexpr (NeedMin) {
183
37
                        _min = std::min(_min, *(data + i));
184
37
                    }
185
37
                    if constexpr (NeedMax) {
186
37
                        _max = std::max(_max, *(data + i));
187
37
                    }
188
37
                }
189
41
            }
190
25
        }
191
25
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
42
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
42
        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
42
        } else {
179
42
            const T* data = (T*)column->get_raw_data().data;
180
189
            for (size_t i = start; i < size; i++) {
181
147
                if (!nullmap[i]) {
182
76
                    if constexpr (NeedMin) {
183
76
                        _min = std::min(_min, *(data + i));
184
76
                    }
185
76
                    if constexpr (NeedMax) {
186
76
                        _max = std::max(_max, *(data + i));
187
76
                    }
188
76
                }
189
147
            }
190
42
        }
191
42
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_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
156
            for (size_t i = start; i < size; i++) {
181
144
                if (!nullmap[i]) {
182
144
                    if constexpr (NeedMin) {
183
144
                        _min = std::min(_min, *(data + i));
184
144
                    }
185
144
                    if constexpr (NeedMax) {
186
144
                        _max = std::max(_max, *(data + i));
187
144
                    }
188
144
                }
189
144
            }
190
12
        }
191
12
    }
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
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
516
            for (size_t i = start; i < size; i++) {
181
513
                if (!nullmap[i]) {
182
481
                    if constexpr (NeedMin) {
183
481
                        _min = std::min(_min, *(data + i));
184
481
                    }
185
481
                    if constexpr (NeedMax) {
186
481
                        _max = std::max(_max, *(data + i));
187
481
                    }
188
481
                }
189
513
            }
190
3
        }
191
3
    }
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