Coverage Report

Created: 2026-10-21 13:39

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
21.8k
    MinMaxFuncBase(bool null_aware) : FilterBase(null_aware) {}
33
    virtual void insert_fixed_len(const ColumnPtr& column, size_t start) = 0;
34
    virtual void* get_max() = 0;
35
    virtual void* get_min() = 0;
36
    // assign minmax data
37
    virtual Status assign(void* min_data, void* max_data) = 0;
38
    // merge from other minmax_func
39
    virtual Status merge(MinMaxFuncBase* minmax_func) = 0;
40
    // Deep copy. The returned object shares nothing with this one.
41
    virtual MinMaxFuncBase* clone() const = 0;
42
22.1k
    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
21.9k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIhLb1ELb1EEC2Eb
Line
Count
Source
51
4
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EEC2Eb
Line
Count
Source
51
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIaLb1ELb1EEC2Eb
Line
Count
Source
51
519
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIsLb1ELb1EEC2Eb
Line
Count
Source
51
296
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIiLb1ELb1EEC2Eb
Line
Count
Source
51
13.6k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIlLb1ELb1EEC2Eb
Line
Count
Source
51
2.92k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncInLb1ELb1EEC2Eb
Line
Count
Source
51
249
    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
26
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EEC2Eb
Line
Count
Source
51
26
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
51
469
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
51
2.28k
    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
8
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EEC2Eb
Line
Count
Source
51
735
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EEC2Eb
Line
Count
Source
51
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EEC2Eb
Line
Count
Source
51
364
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EEC2Eb
Line
Count
Source
51
222
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EEC2Eb
Line
Count
Source
51
56
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIjLb1ELb1EEC2Eb
Line
Count
Source
51
18
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIoLb1ELb1EEC2Eb
Line
Count
Source
51
31
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
52
735
    ~MinMaxNumFunc() override = default;
53
54
5.92k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
5.92k
        if (is_column_nullable(*column)) {
56
3.89k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
3.89k
            const auto& col = nullable->get_nested_column_ptr();
58
3.89k
            const auto& nullmap = nullable->get_null_map_data();
59
3.89k
            if (nullable->has_null()) {
60
3.14k
                _update_batch(col, nullmap, start);
61
3.14k
                _contain_null = true;
62
3.14k
            } else {
63
749
                _update_batch(col, start);
64
749
            }
65
3.89k
        } else {
66
2.02k
            _update_batch(column, start);
67
2.02k
        }
68
5.92k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
1
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
1
        if (is_column_nullable(*column)) {
56
1
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
1
            const auto& col = nullable->get_nested_column_ptr();
58
1
            const auto& nullmap = nullable->get_null_map_data();
59
1
            if (nullable->has_null()) {
60
1
                _update_batch(col, nullmap, start);
61
1
                _contain_null = true;
62
1
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
1
        } else {
66
0
            _update_batch(column, start);
67
0
        }
68
1
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
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
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
201
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
201
        if (is_column_nullable(*column)) {
56
188
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
188
            const auto& col = nullable->get_nested_column_ptr();
58
188
            const auto& nullmap = nullable->get_null_map_data();
59
188
            if (nullable->has_null()) {
60
152
                _update_batch(col, nullmap, start);
61
152
                _contain_null = true;
62
152
            } else {
63
36
                _update_batch(col, start);
64
36
            }
65
188
        } else {
66
13
            _update_batch(column, start);
67
13
        }
68
201
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
69
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
69
        if (is_column_nullable(*column)) {
56
68
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
68
            const auto& col = nullable->get_nested_column_ptr();
58
68
            const auto& nullmap = nullable->get_null_map_data();
59
68
            if (nullable->has_null()) {
60
68
                _update_batch(col, nullmap, start);
61
68
                _contain_null = true;
62
68
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
68
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
69
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
3.98k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
3.98k
        if (is_column_nullable(*column)) {
56
2.44k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
2.44k
            const auto& col = nullable->get_nested_column_ptr();
58
2.44k
            const auto& nullmap = nullable->get_null_map_data();
59
2.44k
            if (nullable->has_null()) {
60
1.81k
                _update_batch(col, nullmap, start);
61
1.81k
                _contain_null = true;
62
1.81k
            } else {
63
624
                _update_batch(col, start);
64
624
            }
65
2.44k
        } else {
66
1.54k
            _update_batch(column, start);
67
1.54k
        }
68
3.98k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
720
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
720
        if (is_column_nullable(*column)) {
56
602
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
602
            const auto& col = nullable->get_nested_column_ptr();
58
602
            const auto& nullmap = nullable->get_null_map_data();
59
602
            if (nullable->has_null()) {
60
593
                _update_batch(col, nullmap, start);
61
593
                _contain_null = true;
62
593
            } else {
63
9
                _update_batch(col, start);
64
9
            }
65
602
        } else {
66
118
            _update_batch(column, start);
67
118
        }
68
720
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
112
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
112
        if (is_column_nullable(*column)) {
56
24
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
24
            const auto& col = nullable->get_nested_column_ptr();
58
24
            const auto& nullmap = nullable->get_null_map_data();
59
24
            if (nullable->has_null()) {
60
24
                _update_batch(col, nullmap, start);
61
24
                _contain_null = true;
62
24
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
88
        } else {
66
88
            _update_batch(column, start);
67
88
        }
68
112
    }
_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
6
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
6
        if (is_column_nullable(*column)) {
56
5
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
5
            const auto& col = nullable->get_nested_column_ptr();
58
5
            const auto& nullmap = nullable->get_null_map_data();
59
5
            if (nullable->has_null()) {
60
1
                _update_batch(col, nullmap, start);
61
1
                _contain_null = true;
62
4
            } else {
63
4
                _update_batch(col, start);
64
4
            }
65
5
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
6
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
7
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
7
        if (is_column_nullable(*column)) {
56
5
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
5
            const auto& col = nullable->get_nested_column_ptr();
58
5
            const auto& nullmap = nullable->get_null_map_data();
59
5
            if (nullable->has_null()) {
60
5
                _update_batch(col, nullmap, start);
61
5
                _contain_null = true;
62
5
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
5
        } else {
66
2
            _update_batch(column, start);
67
2
        }
68
7
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
54
154
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
154
        if (is_column_nullable(*column)) {
56
14
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
14
            const auto& col = nullable->get_nested_column_ptr();
58
14
            const auto& nullmap = nullable->get_null_map_data();
59
14
            if (nullable->has_null()) {
60
14
                _update_batch(col, nullmap, start);
61
14
                _contain_null = true;
62
14
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
140
        } else {
66
140
            _update_batch(column, start);
67
140
        }
68
154
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE16insert_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
268
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
268
            const auto& col = nullable->get_nested_column_ptr();
58
268
            const auto& nullmap = nullable->get_null_map_data();
59
268
            if (nullable->has_null()) {
60
264
                _update_batch(col, nullmap, start);
61
264
                _contain_null = true;
62
264
            } else {
63
4
                _update_batch(col, start);
64
4
            }
65
268
        } else {
66
15
            _update_batch(column, start);
67
15
        }
68
283
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_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
4
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
4
            const auto& col = nullable->get_nested_column_ptr();
58
4
            const auto& nullmap = nullable->get_null_map_data();
59
4
            if (nullable->has_null()) {
60
4
                _update_batch(col, nullmap, start);
61
4
                _contain_null = true;
62
4
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
4
        } else {
66
0
            _update_batch(column, start);
67
0
        }
68
4
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
54
189
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
189
        if (is_column_nullable(*column)) {
56
136
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
136
            const auto& col = nullable->get_nested_column_ptr();
58
136
            const auto& nullmap = nullable->get_null_map_data();
59
136
            if (nullable->has_null()) {
60
87
                _update_batch(col, nullmap, start);
61
87
                _contain_null = true;
62
87
            } else {
63
49
                _update_batch(col, start);
64
49
            }
65
136
        } else {
66
53
            _update_batch(column, start);
67
53
        }
68
189
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_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
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
54
51
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
51
        if (is_column_nullable(*column)) {
56
24
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
24
            const auto& col = nullable->get_nested_column_ptr();
58
24
            const auto& nullmap = nullable->get_null_map_data();
59
24
            if (nullable->has_null()) {
60
24
                _update_batch(col, nullmap, start);
61
24
                _contain_null = true;
62
24
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
27
        } else {
66
27
            _update_batch(column, start);
67
27
        }
68
51
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
89
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
89
        if (is_column_nullable(*column)) {
56
68
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
68
            const auto& col = nullable->get_nested_column_ptr();
58
68
            const auto& nullmap = nullable->get_null_map_data();
59
68
            if (nullable->has_null()) {
60
45
                _update_batch(col, nullmap, start);
61
45
                _contain_null = true;
62
45
            } else {
63
23
                _update_batch(col, start);
64
23
            }
65
68
        } else {
66
21
            _update_batch(column, start);
67
21
        }
68
89
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EEm
Line
Count
Source
54
16
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
16
        if (is_column_nullable(*column)) {
56
15
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
15
            const auto& col = nullable->get_nested_column_ptr();
58
15
            const auto& nullmap = nullable->get_null_map_data();
59
15
            if (nullable->has_null()) {
60
15
                _update_batch(col, nullmap, start);
61
15
                _contain_null = true;
62
15
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
15
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
16
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
13
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
13
        if (is_column_nullable(*column)) {
56
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
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
18
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
18
        if (is_column_nullable(*column)) {
56
17
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
17
            const auto& col = nullable->get_nested_column_ptr();
58
17
            const auto& nullmap = nullable->get_null_map_data();
59
17
            if (nullable->has_null()) {
60
17
                _update_batch(col, nullmap, start);
61
17
                _contain_null = true;
62
17
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
17
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
18
    }
69
70
11.3k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
11.3k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
11.3k
        if constexpr (NeedMin) {
73
11.3k
            if constexpr (IsStringValue) {
74
292
                if (other_minmax->_min < _min || !_min_value_set) {
75
49
                    _min = other_minmax->_min;
76
49
                    _min_value_set = true;
77
49
                }
78
11.0k
            } else if (other_minmax->_min < _min) {
79
856
                _min = other_minmax->_min;
80
856
            }
81
11.3k
        }
82
11.3k
        if constexpr (NeedMax) {
83
11.3k
            if (other_minmax->_max > _max) {
84
900
                _max = other_minmax->_max;
85
900
            }
86
11.3k
        }
87
88
11.3k
        _contain_null |= minmax_func->contain_null();
89
11.3k
        return Status::OK();
90
11.3k
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIhLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
94
    Status merge(MinMaxFuncBase* minmax_func) override {
71
94
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
94
        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
94
            } else if (other_minmax->_min < _min) {
79
9
                _min = other_minmax->_min;
80
9
            }
81
94
        }
82
94
        if constexpr (NeedMax) {
83
94
            if (other_minmax->_max > _max) {
84
11
                _max = other_minmax->_max;
85
11
            }
86
94
        }
87
88
94
        _contain_null |= minmax_func->contain_null();
89
94
        return Status::OK();
90
94
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
48
    Status merge(MinMaxFuncBase* minmax_func) override {
71
48
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
48
        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
48
            } else if (other_minmax->_min < _min) {
79
9
                _min = other_minmax->_min;
80
9
            }
81
48
        }
82
48
        if constexpr (NeedMax) {
83
48
            if (other_minmax->_max > _max) {
84
9
                _max = other_minmax->_max;
85
9
            }
86
48
        }
87
88
48
        _contain_null |= minmax_func->contain_null();
89
48
        return Status::OK();
90
48
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
7.48k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
7.48k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
7.48k
        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
7.48k
            } else if (other_minmax->_min < _min) {
79
578
                _min = other_minmax->_min;
80
578
            }
81
7.48k
        }
82
7.48k
        if constexpr (NeedMax) {
83
7.48k
            if (other_minmax->_max > _max) {
84
566
                _max = other_minmax->_max;
85
566
            }
86
7.48k
        }
87
88
7.48k
        _contain_null |= minmax_func->contain_null();
89
7.48k
        return Status::OK();
90
7.48k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
799
    Status merge(MinMaxFuncBase* minmax_func) override {
71
799
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
799
        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
799
            } else if (other_minmax->_min < _min) {
79
90
                _min = other_minmax->_min;
80
90
            }
81
799
        }
82
799
        if constexpr (NeedMax) {
83
799
            if (other_minmax->_max > _max) {
84
98
                _max = other_minmax->_max;
85
98
            }
86
799
        }
87
88
799
        _contain_null |= minmax_func->contain_null();
89
799
        return Status::OK();
90
799
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
92
    Status merge(MinMaxFuncBase* minmax_func) override {
71
92
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
92
        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
92
            } else if (other_minmax->_min < _min) {
79
9
                _min = other_minmax->_min;
80
9
            }
81
92
        }
82
92
        if constexpr (NeedMax) {
83
92
            if (other_minmax->_max > _max) {
84
7
                _max = other_minmax->_max;
85
7
            }
86
92
        }
87
88
92
        _contain_null |= minmax_func->contain_null();
89
92
        return Status::OK();
90
92
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
6
    Status merge(MinMaxFuncBase* minmax_func) override {
71
6
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
6
        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
6
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
6
        }
82
6
        if constexpr (NeedMax) {
83
6
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
6
        }
87
88
6
        _contain_null |= minmax_func->contain_null();
89
6
        return Status::OK();
90
6
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
10
    Status merge(MinMaxFuncBase* minmax_func) override {
71
10
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
10
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
10
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
10
        }
82
10
        if constexpr (NeedMax) {
83
10
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
10
        }
87
88
10
        _contain_null |= minmax_func->contain_null();
89
10
        return Status::OK();
90
10
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
255
    Status merge(MinMaxFuncBase* minmax_func) override {
71
255
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
255
        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
255
            } else if (other_minmax->_min < _min) {
79
26
                _min = other_minmax->_min;
80
26
            }
81
255
        }
82
255
        if constexpr (NeedMax) {
83
255
            if (other_minmax->_max > _max) {
84
33
                _max = other_minmax->_max;
85
33
            }
86
255
        }
87
88
255
        _contain_null |= minmax_func->contain_null();
89
255
        return Status::OK();
90
255
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
2.03k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
2.03k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
2.03k
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
2.03k
            } else if (other_minmax->_min < _min) {
79
118
                _min = other_minmax->_min;
80
118
            }
81
2.03k
        }
82
2.03k
        if constexpr (NeedMax) {
83
2.03k
            if (other_minmax->_max > _max) {
84
131
                _max = other_minmax->_max;
85
131
            }
86
2.03k
        }
87
88
2.03k
        _contain_null |= minmax_func->contain_null();
89
2.03k
        return Status::OK();
90
2.03k
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
292
    Status merge(MinMaxFuncBase* minmax_func) override {
71
292
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
292
        if constexpr (NeedMin) {
73
292
            if constexpr (IsStringValue) {
74
292
                if (other_minmax->_min < _min || !_min_value_set) {
75
49
                    _min = other_minmax->_min;
76
49
                    _min_value_set = true;
77
49
                }
78
            } else if (other_minmax->_min < _min) {
79
                _min = other_minmax->_min;
80
            }
81
292
        }
82
292
        if constexpr (NeedMax) {
83
292
            if (other_minmax->_max > _max) {
84
27
                _max = other_minmax->_max;
85
27
            }
86
292
        }
87
88
292
        _contain_null |= minmax_func->contain_null();
89
292
        return Status::OK();
90
292
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
134
    Status merge(MinMaxFuncBase* minmax_func) override {
71
134
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
134
        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
134
            } else if (other_minmax->_min < _min) {
79
5
                _min = other_minmax->_min;
80
5
            }
81
134
        }
82
134
        if constexpr (NeedMax) {
83
134
            if (other_minmax->_max > _max) {
84
5
                _max = other_minmax->_max;
85
5
            }
86
134
        }
87
88
134
        _contain_null |= minmax_func->contain_null();
89
134
        return Status::OK();
90
134
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
81
    Status merge(MinMaxFuncBase* minmax_func) override {
71
81
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
81
        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
81
            } else if (other_minmax->_min < _min) {
79
12
                _min = other_minmax->_min;
80
12
            }
81
81
        }
82
81
        if constexpr (NeedMax) {
83
81
            if (other_minmax->_max > _max) {
84
12
                _max = other_minmax->_max;
85
12
            }
86
81
        }
87
88
81
        _contain_null |= minmax_func->contain_null();
89
81
        return Status::OK();
90
81
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
10
    Status merge(MinMaxFuncBase* minmax_func) override {
71
10
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
10
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
10
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
10
        }
82
10
        if constexpr (NeedMax) {
83
10
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
10
        }
87
88
10
        _contain_null |= minmax_func->contain_null();
89
10
        return Status::OK();
90
10
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
11
    Status merge(MinMaxFuncBase* minmax_func) override {
71
11
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
11
        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
11
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
11
        }
82
11
        if constexpr (NeedMax) {
83
11
            if (other_minmax->_max > _max) {
84
1
                _max = other_minmax->_max;
85
1
            }
86
11
        }
87
88
11
        _contain_null |= minmax_func->contain_null();
89
11
        return Status::OK();
90
11
    }
91
92
662
    MinMaxFuncBase* clone() const override {
93
662
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
662
        cloned->_max = _max;
95
662
        cloned->_min = _min;
96
662
        cloned->_min_value_set = _min_value_set;
97
662
        cloned->_contain_null = _contain_null;
98
662
        return cloned;
99
662
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncIhLb1ELb1EE5cloneEv
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncIaLb1ELb1EE5cloneEv
Line
Count
Source
92
19
    MinMaxFuncBase* clone() const override {
93
19
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
19
        cloned->_max = _max;
95
19
        cloned->_min = _min;
96
19
        cloned->_min_value_set = _min_value_set;
97
19
        cloned->_contain_null = _contain_null;
98
19
        return cloned;
99
19
    }
_ZNK5doris13MinMaxNumFuncIsLb1ELb1EE5cloneEv
Line
Count
Source
92
13
    MinMaxFuncBase* clone() const override {
93
13
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
13
        cloned->_max = _max;
95
13
        cloned->_min = _min;
96
13
        cloned->_min_value_set = _min_value_set;
97
13
        cloned->_contain_null = _contain_null;
98
13
        return cloned;
99
13
    }
_ZNK5doris13MinMaxNumFuncIiLb1ELb1EE5cloneEv
Line
Count
Source
92
404
    MinMaxFuncBase* clone() const override {
93
404
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
404
        cloned->_max = _max;
95
404
        cloned->_min = _min;
96
404
        cloned->_min_value_set = _min_value_set;
97
404
        cloned->_contain_null = _contain_null;
98
404
        return cloned;
99
404
    }
_ZNK5doris13MinMaxNumFuncIlLb1ELb1EE5cloneEv
Line
Count
Source
92
116
    MinMaxFuncBase* clone() const override {
93
116
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
116
        cloned->_max = _max;
95
116
        cloned->_min = _min;
96
116
        cloned->_min_value_set = _min_value_set;
97
116
        cloned->_contain_null = _contain_null;
98
116
        return cloned;
99
116
    }
_ZNK5doris13MinMaxNumFuncInLb1ELb1EE5cloneEv
Line
Count
Source
92
14
    MinMaxFuncBase* clone() const override {
93
14
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
14
        cloned->_max = _max;
95
14
        cloned->_min = _min;
96
14
        cloned->_min_value_set = _min_value_set;
97
14
        cloned->_contain_null = _contain_null;
98
14
        return cloned;
99
14
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncIfLb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncIdLb1ELb1EE5cloneEv
Line
Count
Source
92
1
    MinMaxFuncBase* clone() const override {
93
1
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
1
        cloned->_max = _max;
95
1
        cloned->_min = _min;
96
1
        cloned->_min_value_set = _min_value_set;
97
1
        cloned->_contain_null = _contain_null;
98
1
        return cloned;
99
1
    }
_ZNK5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5cloneEv
Line
Count
Source
92
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
    }
_ZNK5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5cloneEv
Line
Count
Source
92
22
    MinMaxFuncBase* clone() const override {
93
22
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
22
        cloned->_max = _max;
95
22
        cloned->_min = _min;
96
22
        cloned->_min_value_set = _min_value_set;
97
22
        cloned->_contain_null = _contain_null;
98
22
        return cloned;
99
22
    }
_ZNK5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5cloneEv
Line
Count
Source
92
3
    MinMaxFuncBase* clone() const override {
93
3
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
3
        cloned->_max = _max;
95
3
        cloned->_min = _min;
96
3
        cloned->_min_value_set = _min_value_set;
97
3
        cloned->_contain_null = _contain_null;
98
3
        return cloned;
99
3
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE5cloneEv
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5cloneEv
Line
Count
Source
92
33
    MinMaxFuncBase* clone() const override {
93
33
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
33
        cloned->_max = _max;
95
33
        cloned->_min = _min;
96
33
        cloned->_min_value_set = _min_value_set;
97
33
        cloned->_contain_null = _contain_null;
98
33
        return cloned;
99
33
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5cloneEv
Line
Count
Source
92
20
    MinMaxFuncBase* clone() const override {
93
20
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
20
        cloned->_max = _max;
95
20
        cloned->_min = _min;
96
20
        cloned->_min_value_set = _min_value_set;
97
20
        cloned->_contain_null = _contain_null;
98
20
        return cloned;
99
20
    }
_ZNK5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5cloneEv
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
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncIjLb1ELb1EE5cloneEv
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
    }
_ZNK5doris13MinMaxNumFuncIoLb1ELb1EE5cloneEv
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
    }
100
101
5.15k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_maxEv
Line
Count
Source
101
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_maxEv
Line
Count
Source
101
203
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_maxEv
Line
Count
Source
101
92
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_maxEv
Line
Count
Source
101
2.93k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_maxEv
Line
Count
Source
101
1.03k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_maxEv
Line
Count
Source
101
74
    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
9
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
9
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
91
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
138
    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
4
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
296
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_maxEv
Line
Count
Source
101
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_maxEv
Line
Count
Source
101
165
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_maxEv
Line
Count
Source
101
58
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
28
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_maxEv
Line
Count
Source
101
4
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_maxEv
Line
Count
Source
101
7
    void* get_max() override { return &_max; }
102
103
5.16k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_minEv
Line
Count
Source
103
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_minEv
Line
Count
Source
103
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_minEv
Line
Count
Source
103
190
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_minEv
Line
Count
Source
103
92
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_minEv
Line
Count
Source
103
2.92k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_minEv
Line
Count
Source
103
1.04k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_minEv
Line
Count
Source
103
68
    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
13
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_minEv
Line
Count
Source
103
9
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
103
91
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
103
138
    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
4
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_minEv
Line
Count
Source
103
306
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_minEv
Line
Count
Source
103
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_minEv
Line
Count
Source
103
168
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_minEv
Line
Count
Source
103
60
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_minEv
Line
Count
Source
103
29
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_minEv
Line
Count
Source
103
4
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_minEv
Line
Count
Source
103
7
    void* get_min() override { return &_min; }
104
105
1.32k
    Status assign(void* min_data, void* max_data) override {
106
1.32k
        if constexpr (IsStringValue) {
107
57
            _min_value_set = true;
108
57
        }
109
1.32k
        _min = *(T*)min_data;
110
1.32k
        _max = *(T*)max_data;
111
1.32k
        return Status::OK();
112
1.32k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
3
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
3
        _min = *(T*)min_data;
110
3
        _max = *(T*)max_data;
111
3
        return Status::OK();
112
3
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE6assignEPvS3_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
27
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
27
        _min = *(T*)min_data;
110
27
        _max = *(T*)max_data;
111
27
        return Status::OK();
112
27
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
67
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
67
        _min = *(T*)min_data;
110
67
        _max = *(T*)max_data;
111
67
        return Status::OK();
112
67
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
825
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
825
        _min = *(T*)min_data;
110
825
        _max = *(T*)max_data;
111
825
        return Status::OK();
112
825
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
121
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
121
        _min = *(T*)min_data;
110
121
        _max = *(T*)max_data;
111
121
        return Status::OK();
112
121
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
13
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
13
        _min = *(T*)min_data;
110
13
        _max = *(T*)max_data;
111
13
        return Status::OK();
112
13
    }
_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
3
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
3
        _min = *(T*)min_data;
110
3
        _max = *(T*)max_data;
111
3
        return Status::OK();
112
3
    }
_ZN5doris13MinMaxNumFuncINS_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
41
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
41
        _min = *(T*)min_data;
110
41
        _max = *(T*)max_data;
111
41
        return Status::OK();
112
41
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
105
113
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
113
        _min = *(T*)min_data;
110
113
        _max = *(T*)max_data;
111
113
        return Status::OK();
112
113
    }
_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
57
    Status assign(void* min_data, void* max_data) override {
106
57
        if constexpr (IsStringValue) {
107
57
            _min_value_set = true;
108
57
        }
109
57
        _min = *(T*)min_data;
110
57
        _max = *(T*)max_data;
111
57
        return Status::OK();
112
57
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE6assignEPvS4_
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_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
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
    }
_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
7
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
7
        _min = *(T*)min_data;
110
7
        _max = *(T*)max_data;
111
7
        return Status::OK();
112
7
    }
113
114
1.49k
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
2
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
26
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
66
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
1.01k
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
120
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
12
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
5
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
42
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
112
    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
54
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
4
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
36
    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
6
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
115
116
private:
117
1.50k
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
1.50k
        if constexpr (NeedMin) {
119
1.50k
            f(filter->mutable_min_val(), _min);
120
1.50k
        }
121
1.50k
        if constexpr (NeedMax) {
122
1.50k
            f(filter->mutable_max_val(), _max);
123
1.50k
        }
124
1.50k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7_set_pbIZNS_13get_convertorIhEEDavEUlPNS_12PColumnValueERKhE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
2
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
2
        if constexpr (NeedMin) {
119
2
            f(filter->mutable_min_val(), _min);
120
2
        }
121
2
        if constexpr (NeedMax) {
122
2
            f(filter->mutable_max_val(), _max);
123
2
        }
124
2
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7_set_pbIZNS_13get_convertorIaEEDavEUlPNS_12PColumnValueERKaE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
26
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
26
        if constexpr (NeedMin) {
119
26
            f(filter->mutable_min_val(), _min);
120
26
        }
121
26
        if constexpr (NeedMax) {
122
26
            f(filter->mutable_max_val(), _max);
123
26
        }
124
26
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7_set_pbIZNS_13get_convertorIsEEDavEUlPNS_12PColumnValueERKsE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
66
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
66
        if constexpr (NeedMin) {
119
66
            f(filter->mutable_min_val(), _min);
120
66
        }
121
66
        if constexpr (NeedMax) {
122
66
            f(filter->mutable_max_val(), _max);
123
66
        }
124
66
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7_set_pbIZNS_13get_convertorIiEEDavEUlPNS_12PColumnValueERKiE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
1.01k
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
1.01k
        if constexpr (NeedMin) {
119
1.01k
            f(filter->mutable_min_val(), _min);
120
1.01k
        }
121
1.01k
        if constexpr (NeedMax) {
122
1.01k
            f(filter->mutable_max_val(), _max);
123
1.01k
        }
124
1.01k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7_set_pbIZNS_13get_convertorIlEEDavEUlPNS_12PColumnValueERKlE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
120
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
120
        if constexpr (NeedMin) {
119
120
            f(filter->mutable_min_val(), _min);
120
120
        }
121
120
        if constexpr (NeedMax) {
122
120
            f(filter->mutable_max_val(), _max);
123
120
        }
124
120
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7_set_pbIZNS_13get_convertorInEEDavEUlPNS_12PColumnValueERKnE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
12
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
12
        if constexpr (NeedMin) {
119
12
            f(filter->mutable_min_val(), _min);
120
12
        }
121
12
        if constexpr (NeedMax) {
122
12
            f(filter->mutable_max_val(), _max);
123
12
        }
124
12
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE7_set_pbIZNS_13get_convertorIfEEDavEUlPNS_12PColumnValueERKfE_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7_set_pbIZNS_13get_convertorIdEEDavEUlPNS_12PColumnValueERKdE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
5
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
5
        if constexpr (NeedMin) {
119
5
            f(filter->mutable_min_val(), _min);
120
5
        }
121
5
        if constexpr (NeedMax) {
122
5
            f(filter->mutable_max_val(), _max);
123
5
        }
124
5
    }
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
42
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
42
        if constexpr (NeedMin) {
119
42
            f(filter->mutable_min_val(), _min);
120
42
        }
121
42
        if constexpr (NeedMax) {
122
42
            f(filter->mutable_max_val(), _max);
123
42
        }
124
42
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
112
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
112
        if constexpr (NeedMin) {
119
112
            f(filter->mutable_min_val(), _min);
120
112
        }
121
112
        if constexpr (NeedMax) {
122
112
            f(filter->mutable_max_val(), _max);
123
112
        }
124
112
    }
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
54
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
54
        if constexpr (NeedMin) {
119
54
            f(filter->mutable_min_val(), _min);
120
54
        }
121
54
        if constexpr (NeedMax) {
122
54
            f(filter->mutable_max_val(), _max);
123
54
        }
124
54
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7_set_pbIZNS_13get_convertorIS2_EEDavEUlPNS_12PColumnValueERKS2_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7_set_pbIZNS_13get_convertorIS2_EEDavEUlPNS_12PColumnValueERKS2_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
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
36
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
36
        if constexpr (NeedMin) {
119
36
            f(filter->mutable_min_val(), _min);
120
36
        }
121
36
        if constexpr (NeedMax) {
122
36
            f(filter->mutable_max_val(), _max);
123
36
        }
124
36
    }
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
6
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
6
        if constexpr (NeedMin) {
119
6
            f(filter->mutable_min_val(), _min);
120
6
        }
121
6
        if constexpr (NeedMax) {
122
6
            f(filter->mutable_max_val(), _max);
123
6
        }
124
6
    }
125
126
    void _update_batch_string(const auto& column_string, const uint8_t* __restrict nullmap,
127
188
                              size_t start, size_t size) {
128
10.6k
        for (size_t i = start; i < size; i++) {
129
10.4k
            if (nullmap == nullptr || !nullmap[i]) {
130
10.4k
                if constexpr (NeedMin) {
131
10.4k
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
132
183
                        _min = column_string.get_data_at(i).to_string();
133
183
                        _min_value_set = true;
134
183
                    }
135
10.4k
                }
136
10.4k
                if constexpr (NeedMax) {
137
10.4k
                    if (column_string.get_data_at(i) > StringRef(_max)) {
138
319
                        _max = column_string.get_data_at(i).to_string();
139
319
                    }
140
10.4k
                }
141
10.4k
            }
142
10.4k
        }
143
188
    }
_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
187
                              size_t start, size_t size) {
128
10.6k
        for (size_t i = start; i < size; i++) {
129
10.4k
            if (nullmap == nullptr || !nullmap[i]) {
130
10.4k
                if constexpr (NeedMin) {
131
10.4k
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
132
182
                        _min = column_string.get_data_at(i).to_string();
133
182
                        _min_value_set = true;
134
182
                    }
135
10.4k
                }
136
10.4k
                if constexpr (NeedMax) {
137
10.4k
                    if (column_string.get_data_at(i) > StringRef(_max)) {
138
311
                        _max = column_string.get_data_at(i).to_string();
139
311
                    }
140
10.4k
                }
141
10.4k
            }
142
10.4k
        }
143
187
    }
144
145
2.77k
    void _update_batch(const ColumnPtr& column, size_t start) {
146
2.77k
        const auto size = column->size();
147
2.77k
        if constexpr (std::is_same_v<T, std::string>) {
148
102
            if (column->is_column_string64()) {
149
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
1
                                     size);
151
101
            } else {
152
101
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
101
                                     size);
154
101
            }
155
2.67k
        } else {
156
2.67k
            const T* data = (T*)column->get_raw_data().data;
157
13.1M
            for (size_t i = start; i < size; i++) {
158
13.1M
                if constexpr (NeedMin) {
159
13.1M
                    _min = std::min(_min, *(data + i));
160
13.1M
                }
161
13.1M
                if constexpr (NeedMax) {
162
13.1M
                    _max = std::max(_max, *(data + i));
163
13.1M
                }
164
13.1M
            }
165
2.67k
        }
166
2.77k
    }
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
49
    void _update_batch(const ColumnPtr& column, size_t start) {
146
49
        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
49
        } else {
156
49
            const T* data = (T*)column->get_raw_data().data;
157
125
            for (size_t i = start; i < size; i++) {
158
76
                if constexpr (NeedMin) {
159
76
                    _min = std::min(_min, *(data + i));
160
76
                }
161
76
                if constexpr (NeedMax) {
162
76
                    _max = std::max(_max, *(data + i));
163
76
                }
164
76
            }
165
49
        }
166
49
    }
_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
2.16k
    void _update_batch(const ColumnPtr& column, size_t start) {
146
2.16k
        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.16k
        } else {
156
2.16k
            const T* data = (T*)column->get_raw_data().data;
157
13.1M
            for (size_t i = start; i < size; i++) {
158
13.1M
                if constexpr (NeedMin) {
159
13.1M
                    _min = std::min(_min, *(data + i));
160
13.1M
                }
161
13.1M
                if constexpr (NeedMax) {
162
13.1M
                    _max = std::max(_max, *(data + i));
163
13.1M
                }
164
13.1M
            }
165
2.16k
        }
166
2.16k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
128
    void _update_batch(const ColumnPtr& column, size_t start) {
146
128
        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
128
        } else {
156
128
            const T* data = (T*)column->get_raw_data().data;
157
1.21k
            for (size_t i = start; i < size; i++) {
158
1.08k
                if constexpr (NeedMin) {
159
1.08k
                    _min = std::min(_min, *(data + i));
160
1.08k
                }
161
1.08k
                if constexpr (NeedMax) {
162
1.08k
                    _max = std::max(_max, *(data + i));
163
1.08k
                }
164
1.08k
            }
165
128
        }
166
128
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
88
    void _update_batch(const ColumnPtr& column, size_t start) {
146
88
        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
88
        } else {
156
88
            const T* data = (T*)column->get_raw_data().data;
157
235
            for (size_t i = start; i < size; i++) {
158
147
                if constexpr (NeedMin) {
159
147
                    _min = std::min(_min, *(data + i));
160
147
                }
161
147
                if constexpr (NeedMax) {
162
147
                    _max = std::max(_max, *(data + i));
163
147
                }
164
147
            }
165
88
        }
166
88
    }
_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
5
    void _update_batch(const ColumnPtr& column, size_t start) {
146
5
        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
5
        } else {
156
5
            const T* data = (T*)column->get_raw_data().data;
157
12
            for (size_t i = start; i < size; i++) {
158
7
                if constexpr (NeedMin) {
159
7
                    _min = std::min(_min, *(data + i));
160
7
                }
161
7
                if constexpr (NeedMax) {
162
7
                    _max = std::max(_max, *(data + i));
163
7
                }
164
7
            }
165
5
        }
166
5
    }
_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
140
    void _update_batch(const ColumnPtr& column, size_t start) {
146
140
        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
140
        } else {
156
140
            const T* data = (T*)column->get_raw_data().data;
157
841
            for (size_t i = start; i < size; i++) {
158
701
                if constexpr (NeedMin) {
159
701
                    _min = std::min(_min, *(data + i));
160
701
                }
161
701
                if constexpr (NeedMax) {
162
701
                    _max = std::max(_max, *(data + i));
163
701
                }
164
701
            }
165
140
        }
166
140
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
145
19
    void _update_batch(const ColumnPtr& column, size_t start) {
146
19
        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
19
        } else {
156
19
            const T* data = (T*)column->get_raw_data().data;
157
72
            for (size_t i = start; i < size; i++) {
158
53
                if constexpr (NeedMin) {
159
53
                    _min = std::min(_min, *(data + i));
160
53
                }
161
53
                if constexpr (NeedMax) {
162
53
                    _max = std::max(_max, *(data + i));
163
53
                }
164
53
            }
165
19
        }
166
19
    }
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
102
    void _update_batch(const ColumnPtr& column, size_t start) {
146
102
        const auto size = column->size();
147
102
        if constexpr (std::is_same_v<T, std::string>) {
148
102
            if (column->is_column_string64()) {
149
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
1
                                     size);
151
101
            } else {
152
101
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
101
                                     size);
154
101
            }
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
102
    }
_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
27
    void _update_batch(const ColumnPtr& column, size_t start) {
146
27
        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
27
        } else {
156
27
            const T* data = (T*)column->get_raw_data().data;
157
153
            for (size_t i = start; i < size; i++) {
158
126
                if constexpr (NeedMin) {
159
126
                    _min = std::min(_min, *(data + i));
160
126
                }
161
126
                if constexpr (NeedMax) {
162
126
                    _max = std::max(_max, *(data + i));
163
126
                }
164
126
            }
165
27
        }
166
27
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
145
45
    void _update_batch(const ColumnPtr& column, size_t start) {
146
45
        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
45
        } else {
156
45
            const T* data = (T*)column->get_raw_data().data;
157
120
            for (size_t i = start; i < size; i++) {
158
75
                if constexpr (NeedMin) {
159
75
                    _min = std::min(_min, *(data + i));
160
75
                }
161
75
                if constexpr (NeedMax) {
162
75
                    _max = std::max(_max, *(data + i));
163
75
                }
164
75
            }
165
45
        }
166
45
    }
_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
3.13k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
3.13k
        const auto size = column->size();
170
3.13k
        if constexpr (std::is_same_v<T, std::string>) {
171
87
            if (column->is_column_string64()) {
172
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
0
                                     start, size);
174
87
            } else {
175
87
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
87
                                     start, size);
177
87
            }
178
3.05k
        } else {
179
3.05k
            const T* data = (T*)column->get_raw_data().data;
180
861k
            for (size_t i = start; i < size; i++) {
181
858k
                if (!nullmap[i]) {
182
854k
                    if constexpr (NeedMin) {
183
854k
                        _min = std::min(_min, *(data + i));
184
854k
                    }
185
854k
                    if constexpr (NeedMax) {
186
854k
                        _max = std::max(_max, *(data + i));
187
854k
                    }
188
854k
                }
189
858k
            }
190
3.05k
        }
191
3.13k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
1
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
1
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
1
        } else {
179
1
            const T* data = (T*)column->get_raw_data().data;
180
2
            for (size_t i = start; i < size; i++) {
181
1
                if (!nullmap[i]) {
182
1
                    if constexpr (NeedMin) {
183
1
                        _min = std::min(_min, *(data + i));
184
1
                    }
185
1
                    if constexpr (NeedMax) {
186
1
                        _max = std::max(_max, *(data + i));
187
1
                    }
188
1
                }
189
1
            }
190
1
        }
191
1
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
152
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
152
        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
152
        } else {
179
152
            const T* data = (T*)column->get_raw_data().data;
180
435
            for (size_t i = start; i < size; i++) {
181
283
                if (!nullmap[i]) {
182
281
                    if constexpr (NeedMin) {
183
281
                        _min = std::min(_min, *(data + i));
184
281
                    }
185
281
                    if constexpr (NeedMax) {
186
281
                        _max = std::max(_max, *(data + i));
187
281
                    }
188
281
                }
189
283
            }
190
152
        }
191
152
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
68
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
68
        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
68
        } else {
179
68
            const T* data = (T*)column->get_raw_data().data;
180
316
            for (size_t i = start; i < size; i++) {
181
248
                if (!nullmap[i]) {
182
247
                    if constexpr (NeedMin) {
183
247
                        _min = std::min(_min, *(data + i));
184
247
                    }
185
247
                    if constexpr (NeedMax) {
186
247
                        _max = std::max(_max, *(data + i));
187
247
                    }
188
247
                }
189
248
            }
190
68
        }
191
68
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
1.81k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
1.81k
        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.81k
        } else {
179
1.81k
            const T* data = (T*)column->get_raw_data().data;
180
655k
            for (size_t i = start; i < size; i++) {
181
653k
                if (!nullmap[i]) {
182
650k
                    if constexpr (NeedMin) {
183
650k
                        _min = std::min(_min, *(data + i));
184
650k
                    }
185
650k
                    if constexpr (NeedMax) {
186
650k
                        _max = std::max(_max, *(data + i));
187
650k
                    }
188
650k
                }
189
653k
            }
190
1.81k
        }
191
1.81k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
589
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
589
        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
589
        } else {
179
589
            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
202k
                    if constexpr (NeedMin) {
183
202k
                        _min = std::min(_min, *(data + i));
184
202k
                    }
185
202k
                    if constexpr (NeedMax) {
186
202k
                        _max = std::max(_max, *(data + i));
187
202k
                    }
188
202k
                }
189
202k
            }
190
589
        }
191
589
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
24
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
24
        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
24
        } else {
179
24
            const T* data = (T*)column->get_raw_data().data;
180
48
            for (size_t i = start; i < size; i++) {
181
24
                if (!nullmap[i]) {
182
24
                    if constexpr (NeedMin) {
183
24
                        _min = std::min(_min, *(data + i));
184
24
                    }
185
24
                    if constexpr (NeedMax) {
186
24
                        _max = std::max(_max, *(data + i));
187
24
                    }
188
24
                }
189
24
            }
190
24
        }
191
24
    }
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
1
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
1
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
1
        } else {
179
1
            const T* data = (T*)column->get_raw_data().data;
180
2
            for (size_t i = start; i < size; i++) {
181
1
                if (!nullmap[i]) {
182
0
                    if constexpr (NeedMin) {
183
0
                        _min = std::min(_min, *(data + i));
184
0
                    }
185
0
                    if constexpr (NeedMax) {
186
0
                        _max = std::max(_max, *(data + i));
187
0
                    }
188
0
                }
189
1
            }
190
1
        }
191
1
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
5
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
5
        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
5
        } else {
179
5
            const T* data = (T*)column->get_raw_data().data;
180
35
            for (size_t i = start; i < size; i++) {
181
30
                if (!nullmap[i]) {
182
30
                    if constexpr (NeedMin) {
183
30
                        _min = std::min(_min, *(data + i));
184
30
                    }
185
30
                    if constexpr (NeedMax) {
186
30
                        _max = std::max(_max, *(data + i));
187
30
                    }
188
30
                }
189
30
            }
190
5
        }
191
5
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
14
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
14
        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
14
        } else {
179
14
            const T* data = (T*)column->get_raw_data().data;
180
492
            for (size_t i = start; i < size; i++) {
181
478
                if (!nullmap[i]) {
182
421
                    if constexpr (NeedMin) {
183
421
                        _min = std::min(_min, *(data + i));
184
421
                    }
185
421
                    if constexpr (NeedMax) {
186
421
                        _max = std::max(_max, *(data + i));
187
421
                    }
188
421
                }
189
478
            }
190
14
        }
191
14
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
264
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
264
        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
264
        } else {
179
264
            const T* data = (T*)column->get_raw_data().data;
180
551
            for (size_t i = start; i < size; i++) {
181
287
                if (!nullmap[i]) {
182
287
                    if constexpr (NeedMin) {
183
287
                        _min = std::min(_min, *(data + i));
184
287
                    }
185
287
                    if constexpr (NeedMax) {
186
287
                        _max = std::max(_max, *(data + i));
187
287
                    }
188
287
                }
189
287
            }
190
264
        }
191
264
    }
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
4
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
4
        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
4
        } else {
179
4
            const T* data = (T*)column->get_raw_data().data;
180
16
            for (size_t i = start; i < size; i++) {
181
12
                if (!nullmap[i]) {
182
12
                    if constexpr (NeedMin) {
183
12
                        _min = std::min(_min, *(data + i));
184
12
                    }
185
12
                    if constexpr (NeedMax) {
186
12
                        _max = std::max(_max, *(data + i));
187
12
                    }
188
12
                }
189
12
            }
190
4
        }
191
4
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
87
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
87
        const auto size = column->size();
170
87
        if constexpr (std::is_same_v<T, std::string>) {
171
87
            if (column->is_column_string64()) {
172
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
0
                                     start, size);
174
87
            } else {
175
87
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
87
                                     start, size);
177
87
            }
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
87
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
24
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
24
        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
24
        } else {
179
24
            const T* data = (T*)column->get_raw_data().data;
180
64
            for (size_t i = start; i < size; i++) {
181
40
                if (!nullmap[i]) {
182
36
                    if constexpr (NeedMin) {
183
36
                        _min = std::min(_min, *(data + i));
184
36
                    }
185
36
                    if constexpr (NeedMax) {
186
36
                        _max = std::max(_max, *(data + i));
187
36
                    }
188
36
                }
189
40
            }
190
24
        }
191
24
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
44
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
44
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
44
        } else {
179
44
            const T* data = (T*)column->get_raw_data().data;
180
194
            for (size_t i = start; i < size; i++) {
181
150
                if (!nullmap[i]) {
182
86
                    if constexpr (NeedMin) {
183
86
                        _min = std::min(_min, *(data + i));
184
86
                    }
185
86
                    if constexpr (NeedMax) {
186
86
                        _max = std::max(_max, *(data + i));
187
86
                    }
188
86
                }
189
150
            }
190
44
        }
191
44
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
15
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
15
        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
15
        } else {
179
15
            const T* data = (T*)column->get_raw_data().data;
180
195
            for (size_t i = start; i < size; i++) {
181
180
                if (!nullmap[i]) {
182
180
                    if constexpr (NeedMin) {
183
180
                        _min = std::min(_min, *(data + i));
184
180
                    }
185
180
                    if constexpr (NeedMax) {
186
180
                        _max = std::max(_max, *(data + i));
187
180
                    }
188
180
                }
189
180
            }
190
15
        }
191
15
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_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
144
            for (size_t i = start; i < size; i++) {
181
132
                if (!nullmap[i]) {
182
120
                    if constexpr (NeedMin) {
183
120
                        _min = std::min(_min, *(data + i));
184
120
                    }
185
120
                    if constexpr (NeedMax) {
186
120
                        _max = std::max(_max, *(data + i));
187
120
                    }
188
120
                }
189
132
            }
190
12
        }
191
12
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
17
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
17
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
17
        } else {
179
17
            const T* data = (T*)column->get_raw_data().data;
180
674
            for (size_t i = start; i < size; i++) {
181
657
                if (!nullmap[i]) {
182
611
                    if constexpr (NeedMin) {
183
611
                        _min = std::min(_min, *(data + i));
184
611
                    }
185
611
                    if constexpr (NeedMax) {
186
611
                        _max = std::max(_max, *(data + i));
187
611
                    }
188
611
                }
189
657
            }
190
17
        }
191
17
    }
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