Coverage Report

Created: 2026-11-02 04:49

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
be/src/exprs/minmax_predicate.h
Line
Count
Source
1
// Licensed to the Apache Software Foundation (ASF) under one
2
// or more contributor license agreements.  See the NOTICE file
3
// distributed with this work for additional information
4
// regarding copyright ownership.  The ASF licenses this file
5
// to you under the Apache License, Version 2.0 (the
6
// "License"); you may not use this file except in compliance
7
// with the License.  You may obtain a copy of the License at
8
//
9
//   http://www.apache.org/licenses/LICENSE-2.0
10
//
11
// Unless required by applicable law or agreed to in writing,
12
// software distributed under the License is distributed on an
13
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
// KIND, either express or implied.  See the License for the
15
// specific language governing permissions and limitations
16
// under the License.
17
18
#pragma once
19
20
#include <gen_cpp/internal_service.pb.h>
21
22
#include "core/column/column_nullable.h"
23
#include "core/column/column_string.h"
24
#include "core/type_limit.h"
25
#include "exprs/filter_base.h"
26
27
namespace doris {
28
29
// only used in Runtime Filter
30
class MinMaxFuncBase : public FilterBase {
31
public:
32
16.4k
    MinMaxFuncBase(bool null_aware) : FilterBase(null_aware) {}
33
    virtual void insert_fixed_len(const ColumnPtr& column, size_t start) = 0;
34
    virtual void* get_max() = 0;
35
    virtual void* get_min() = 0;
36
    // assign minmax data
37
    virtual Status assign(void* min_data, void* max_data) = 0;
38
    // merge from other minmax_func
39
    virtual Status merge(MinMaxFuncBase* minmax_func) = 0;
40
    // Deep copy. The returned object shares nothing with this one.
41
    virtual MinMaxFuncBase* clone() const = 0;
42
16.5k
    virtual ~MinMaxFuncBase() = default;
43
44
    virtual void to_pb(PMinMaxFilter* filter) = 0;
45
};
46
47
template <class T, bool NeedMax = true, bool NeedMin = true>
48
class MinMaxNumFunc : public MinMaxFuncBase {
49
public:
50
    static constexpr bool IsStringValue = std::is_same_v<T, std::string>;
51
16.4k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIhLb1ELb1EEC2Eb
Line
Count
Source
51
1
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EEC2Eb
Line
Count
Source
51
22
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIaLb1ELb1EEC2Eb
Line
Count
Source
51
197
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIsLb1ELb1EEC2Eb
Line
Count
Source
51
212
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIiLb1ELb1EEC2Eb
Line
Count
Source
51
8.64k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIlLb1ELb1EEC2Eb
Line
Count
Source
51
5.59k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncInLb1ELb1EEC2Eb
Line
Count
Source
51
224
    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
56
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EEC2Eb
Line
Count
Source
51
116
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
51
511
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
51
106
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EEC2Eb
Line
Count
Source
51
19
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EEC2Eb
Line
Count
Source
51
18
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EEC2Eb
Line
Count
Source
51
286
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EEC2Eb
Line
Count
Source
51
56
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EEC2Eb
Line
Count
Source
51
119
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EEC2Eb
Line
Count
Source
51
226
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EEC2Eb
Line
Count
Source
51
59
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIjLb1ELb1EEC2Eb
Line
Count
Source
51
6
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIoLb1ELb1EEC2Eb
Line
Count
Source
51
21
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
52
286
    ~MinMaxNumFunc() override = default;
53
54
4.73k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
4.73k
        if (is_column_nullable(*column)) {
56
2.84k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
2.84k
            const auto& col = nullable->get_nested_column_ptr();
58
2.84k
            const auto& nullmap = nullable->get_null_map_data();
59
2.84k
            if (nullable->has_null()) {
60
2.63k
                _update_batch(col, nullmap, start);
61
2.63k
                _contain_null = true;
62
2.63k
            } else {
63
203
                _update_batch(col, start);
64
203
            }
65
2.84k
        } else {
66
1.89k
            _update_batch(column, start);
67
1.89k
        }
68
4.73k
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIhLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
11
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
11
        if (is_column_nullable(*column)) {
56
10
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
10
            const auto& col = nullable->get_nested_column_ptr();
58
10
            const auto& nullmap = nullable->get_null_map_data();
59
10
            if (nullable->has_null()) {
60
10
                _update_batch(col, nullmap, start);
61
10
                _contain_null = true;
62
10
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
10
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
11
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
94
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
94
        if (is_column_nullable(*column)) {
56
93
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
93
            const auto& col = nullable->get_nested_column_ptr();
58
93
            const auto& nullmap = nullable->get_null_map_data();
59
93
            if (nullable->has_null()) {
60
75
                _update_batch(col, nullmap, start);
61
75
                _contain_null = true;
62
75
            } else {
63
18
                _update_batch(col, start);
64
18
            }
65
93
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
94
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
74
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
74
        if (is_column_nullable(*column)) {
56
73
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
73
            const auto& col = nullable->get_nested_column_ptr();
58
73
            const auto& nullmap = nullable->get_null_map_data();
59
73
            if (nullable->has_null()) {
60
73
                _update_batch(col, nullmap, start);
61
73
                _contain_null = true;
62
73
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
73
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
74
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
2.95k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
2.95k
        if (is_column_nullable(*column)) {
56
1.60k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
1.60k
            const auto& col = nullable->get_nested_column_ptr();
58
1.60k
            const auto& nullmap = nullable->get_null_map_data();
59
1.60k
            if (nullable->has_null()) {
60
1.49k
                _update_batch(col, nullmap, start);
61
1.49k
                _contain_null = true;
62
1.49k
            } else {
63
106
                _update_batch(col, start);
64
106
            }
65
1.60k
        } else {
66
1.35k
            _update_batch(column, start);
67
1.35k
        }
68
2.95k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
910
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
910
        if (is_column_nullable(*column)) {
56
773
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
773
            const auto& col = nullable->get_nested_column_ptr();
58
773
            const auto& nullmap = nullable->get_null_map_data();
59
773
            if (nullable->has_null()) {
60
759
                _update_batch(col, nullmap, start);
61
759
                _contain_null = true;
62
759
            } else {
63
14
                _update_batch(col, start);
64
14
            }
65
773
        } else {
66
137
            _update_batch(column, start);
67
137
        }
68
910
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
111
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
111
        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
111
        } else {
66
111
            _update_batch(column, start);
67
111
        }
68
111
    }
_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
27
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
27
        if (is_column_nullable(*column)) {
56
25
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
25
            const auto& col = nullable->get_nested_column_ptr();
58
25
            const auto& nullmap = nullable->get_null_map_data();
59
25
            if (nullable->has_null()) {
60
19
                _update_batch(col, nullmap, start);
61
19
                _contain_null = true;
62
19
            } else {
63
6
                _update_batch(col, start);
64
6
            }
65
25
        } else {
66
2
            _update_batch(column, start);
67
2
        }
68
27
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
10
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
10
        if (is_column_nullable(*column)) {
56
8
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
8
            const auto& col = nullable->get_nested_column_ptr();
58
8
            const auto& nullmap = nullable->get_null_map_data();
59
8
            if (nullable->has_null()) {
60
8
                _update_batch(col, nullmap, start);
61
8
                _contain_null = true;
62
8
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
8
        } else {
66
2
            _update_batch(column, start);
67
2
        }
68
10
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
54
185
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
185
        if (is_column_nullable(*column)) {
56
13
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
13
            const auto& col = nullable->get_nested_column_ptr();
58
13
            const auto& nullmap = nullable->get_null_map_data();
59
13
            if (nullable->has_null()) {
60
12
                _update_batch(col, nullmap, start);
61
12
                _contain_null = true;
62
12
            } else {
63
1
                _update_batch(col, start);
64
1
            }
65
172
        } else {
66
172
            _update_batch(column, start);
67
172
        }
68
185
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
54
46
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
46
        if (is_column_nullable(*column)) {
56
11
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
11
            const auto& col = nullable->get_nested_column_ptr();
58
11
            const auto& nullmap = nullable->get_null_map_data();
59
11
            if (nullable->has_null()) {
60
11
                _update_batch(col, nullmap, start);
61
11
                _contain_null = true;
62
11
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
35
        } else {
66
35
            _update_batch(column, start);
67
35
        }
68
46
    }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_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
16
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
16
            const auto& col = nullable->get_nested_column_ptr();
58
16
            const auto& nullmap = nullable->get_null_map_data();
59
16
            if (nullable->has_null()) {
60
16
                _update_batch(col, nullmap, start);
61
16
                _contain_null = true;
62
16
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
16
        } else {
66
0
            _update_batch(column, start);
67
0
        }
68
16
    }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
2
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
2
        if (is_column_nullable(*column)) {
56
2
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
2
            const auto& col = nullable->get_nested_column_ptr();
58
2
            const auto& nullmap = nullable->get_null_map_data();
59
2
            if (nullable->has_null()) {
60
2
                _update_batch(col, nullmap, start);
61
2
                _contain_null = true;
62
2
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
2
        } else {
66
0
            _update_batch(column, start);
67
0
        }
68
2
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
54
142
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
142
        if (is_column_nullable(*column)) {
56
120
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
120
            const auto& col = nullable->get_nested_column_ptr();
58
120
            const auto& nullmap = nullable->get_null_map_data();
59
120
            if (nullable->has_null()) {
60
75
                _update_batch(col, nullmap, start);
61
75
                _contain_null = true;
62
75
            } else {
63
45
                _update_batch(col, start);
64
45
            }
65
120
        } else {
66
22
            _update_batch(column, start);
67
22
        }
68
142
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
54
49
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
49
        if (is_column_nullable(*column)) {
56
48
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
48
            const auto& col = nullable->get_nested_column_ptr();
58
48
            const auto& nullmap = nullable->get_null_map_data();
59
48
            if (nullable->has_null()) {
60
48
                _update_batch(col, nullmap, start);
61
48
                _contain_null = true;
62
48
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
48
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
49
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
54
17
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
17
        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
16
        } else {
66
16
            _update_batch(column, start);
67
16
        }
68
17
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
54
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
54
        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
4
                _update_batch(col, nullmap, start);
61
4
                _contain_null = true;
62
13
            } else {
63
13
                _update_batch(col, start);
64
13
            }
65
37
        } else {
66
37
            _update_batch(column, start);
67
37
        }
68
54
    }
_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
3
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
3
        if (is_column_nullable(*column)) {
56
2
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
2
            const auto& col = nullable->get_nested_column_ptr();
58
2
            const auto& nullmap = nullable->get_null_map_data();
59
2
            if (nullable->has_null()) {
60
2
                _update_batch(col, nullmap, start);
61
2
                _contain_null = true;
62
2
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
2
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
3
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
12
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
12
        if (is_column_nullable(*column)) {
56
11
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
11
            const auto& col = nullable->get_nested_column_ptr();
58
11
            const auto& nullmap = nullable->get_null_map_data();
59
11
            if (nullable->has_null()) {
60
11
                _update_batch(col, nullmap, start);
61
11
                _contain_null = true;
62
11
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
11
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
12
    }
69
70
6.65k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
6.65k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
6.65k
        if constexpr (NeedMin) {
73
6.65k
            if constexpr (IsStringValue) {
74
107
                if (other_minmax->_min < _min || !_min_value_set) {
75
17
                    _min = other_minmax->_min;
76
17
                    _min_value_set = true;
77
17
                }
78
6.55k
            } else if (other_minmax->_min < _min) {
79
459
                _min = other_minmax->_min;
80
459
            }
81
6.65k
        }
82
6.65k
        if constexpr (NeedMax) {
83
6.65k
            if (other_minmax->_max > _max) {
84
460
                _max = other_minmax->_max;
85
460
            }
86
6.65k
        }
87
88
6.65k
        _contain_null |= minmax_func->contain_null();
89
6.65k
        return Status::OK();
90
6.65k
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIhLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
28
    Status merge(MinMaxFuncBase* minmax_func) override {
71
28
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
28
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
28
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
28
        }
82
28
        if constexpr (NeedMax) {
83
28
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
28
        }
87
88
28
        _contain_null |= minmax_func->contain_null();
89
28
        return Status::OK();
90
28
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
46
    Status merge(MinMaxFuncBase* minmax_func) override {
71
46
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
46
        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
46
            } else if (other_minmax->_min < _min) {
79
3
                _min = other_minmax->_min;
80
3
            }
81
46
        }
82
46
        if constexpr (NeedMax) {
83
46
            if (other_minmax->_max > _max) {
84
3
                _max = other_minmax->_max;
85
3
            }
86
46
        }
87
88
46
        _contain_null |= minmax_func->contain_null();
89
46
        return Status::OK();
90
46
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
3.24k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
3.24k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
3.24k
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
3.24k
            } else if (other_minmax->_min < _min) {
79
262
                _min = other_minmax->_min;
80
262
            }
81
3.24k
        }
82
3.24k
        if constexpr (NeedMax) {
83
3.24k
            if (other_minmax->_max > _max) {
84
264
                _max = other_minmax->_max;
85
264
            }
86
3.24k
        }
87
88
3.24k
        _contain_null |= minmax_func->contain_null();
89
3.24k
        return Status::OK();
90
3.24k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
2.45k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
2.45k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
2.45k
        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.45k
            } else if (other_minmax->_min < _min) {
79
125
                _min = other_minmax->_min;
80
125
            }
81
2.45k
        }
82
2.45k
        if constexpr (NeedMax) {
83
2.45k
            if (other_minmax->_max > _max) {
84
123
                _max = other_minmax->_max;
85
123
            }
86
2.45k
        }
87
88
2.45k
        _contain_null |= minmax_func->contain_null();
89
2.45k
        return Status::OK();
90
2.45k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
109
    Status merge(MinMaxFuncBase* minmax_func) override {
71
109
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
109
        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
109
            } else if (other_minmax->_min < _min) {
79
11
                _min = other_minmax->_min;
80
11
            }
81
109
        }
82
109
        if constexpr (NeedMax) {
83
109
            if (other_minmax->_max > _max) {
84
8
                _max = other_minmax->_max;
85
8
            }
86
109
        }
87
88
109
        _contain_null |= minmax_func->contain_null();
89
109
        return Status::OK();
90
109
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
13
    Status merge(MinMaxFuncBase* minmax_func) override {
71
13
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
13
        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
13
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
13
        }
82
13
        if constexpr (NeedMax) {
83
13
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
13
        }
87
88
13
        _contain_null |= minmax_func->contain_null();
89
13
        return Status::OK();
90
13
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
90
    Status merge(MinMaxFuncBase* minmax_func) override {
71
90
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
90
        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
90
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
90
        }
82
90
        if constexpr (NeedMax) {
83
90
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
90
        }
87
88
90
        _contain_null |= minmax_func->contain_null();
89
90
        return Status::OK();
90
90
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
262
    Status merge(MinMaxFuncBase* minmax_func) override {
71
262
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
262
        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
262
            } else if (other_minmax->_min < _min) {
79
43
                _min = other_minmax->_min;
80
43
            }
81
262
        }
82
262
        if constexpr (NeedMax) {
83
262
            if (other_minmax->_max > _max) {
84
42
                _max = other_minmax->_max;
85
42
            }
86
262
        }
87
88
262
        _contain_null |= minmax_func->contain_null();
89
262
        return Status::OK();
90
262
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
31
    Status merge(MinMaxFuncBase* minmax_func) override {
71
31
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
31
        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
31
            } else if (other_minmax->_min < _min) {
79
4
                _min = other_minmax->_min;
80
4
            }
81
31
        }
82
31
        if constexpr (NeedMax) {
83
31
            if (other_minmax->_max > _max) {
84
4
                _max = other_minmax->_max;
85
4
            }
86
31
        }
87
88
31
        _contain_null |= minmax_func->contain_null();
89
31
        return Status::OK();
90
31
    }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
15
    Status merge(MinMaxFuncBase* minmax_func) override {
71
15
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
15
        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
15
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
15
        }
82
15
        if constexpr (NeedMax) {
83
15
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
15
        }
87
88
15
        _contain_null |= minmax_func->contain_null();
89
15
        return Status::OK();
90
15
    }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
12
    Status merge(MinMaxFuncBase* minmax_func) override {
71
12
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
12
        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
12
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
12
        }
82
12
        if constexpr (NeedMax) {
83
12
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
12
        }
87
88
12
        _contain_null |= minmax_func->contain_null();
89
12
        return Status::OK();
90
12
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
107
    Status merge(MinMaxFuncBase* minmax_func) override {
71
107
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
107
        if constexpr (NeedMin) {
73
107
            if constexpr (IsStringValue) {
74
107
                if (other_minmax->_min < _min || !_min_value_set) {
75
17
                    _min = other_minmax->_min;
76
17
                    _min_value_set = true;
77
17
                }
78
            } else if (other_minmax->_min < _min) {
79
                _min = other_minmax->_min;
80
            }
81
107
        }
82
107
        if constexpr (NeedMax) {
83
107
            if (other_minmax->_max > _max) {
84
8
                _max = other_minmax->_max;
85
8
            }
86
107
        }
87
88
107
        _contain_null |= minmax_func->contain_null();
89
107
        return Status::OK();
90
107
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
45
    Status merge(MinMaxFuncBase* minmax_func) override {
71
45
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
45
        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
45
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
45
        }
82
45
        if constexpr (NeedMax) {
83
45
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
45
        }
87
88
45
        _contain_null |= minmax_func->contain_null();
89
45
        return Status::OK();
90
45
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
96
    Status merge(MinMaxFuncBase* minmax_func) override {
71
96
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
96
        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
96
            } else if (other_minmax->_min < _min) {
79
7
                _min = other_minmax->_min;
80
7
            }
81
96
        }
82
96
        if constexpr (NeedMax) {
83
96
            if (other_minmax->_max > _max) {
84
5
                _max = other_minmax->_max;
85
5
            }
86
96
        }
87
88
96
        _contain_null |= minmax_func->contain_null();
89
96
        return Status::OK();
90
96
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
88
    Status merge(MinMaxFuncBase* minmax_func) override {
71
88
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
88
        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
88
            } else if (other_minmax->_min < _min) {
79
3
                _min = other_minmax->_min;
80
3
            }
81
88
        }
82
88
        if constexpr (NeedMax) {
83
88
            if (other_minmax->_max > _max) {
84
3
                _max = other_minmax->_max;
85
3
            }
86
88
        }
87
88
88
        _contain_null |= minmax_func->contain_null();
89
88
        return Status::OK();
90
88
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
9
    Status merge(MinMaxFuncBase* minmax_func) override {
71
9
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
9
        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
9
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
9
        }
82
9
        if constexpr (NeedMax) {
83
9
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
9
        }
87
88
9
        _contain_null |= minmax_func->contain_null();
89
9
        return Status::OK();
90
9
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE5mergeEPNS_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
1
                _min = other_minmax->_min;
80
1
            }
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
    }
91
92
704
    MinMaxFuncBase* clone() const override {
93
704
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
704
        cloned->_max = _max;
95
704
        cloned->_min = _min;
96
704
        cloned->_min_value_set = _min_value_set;
97
704
        cloned->_contain_null = _contain_null;
98
704
        return cloned;
99
704
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncIhLb1ELb1EE5cloneEv
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncIaLb1ELb1EE5cloneEv
Line
Count
Source
92
8
    MinMaxFuncBase* clone() const override {
93
8
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
8
        cloned->_max = _max;
95
8
        cloned->_min = _min;
96
8
        cloned->_min_value_set = _min_value_set;
97
8
        cloned->_contain_null = _contain_null;
98
8
        return cloned;
99
8
    }
_ZNK5doris13MinMaxNumFuncIsLb1ELb1EE5cloneEv
Line
Count
Source
92
16
    MinMaxFuncBase* clone() const override {
93
16
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
16
        cloned->_max = _max;
95
16
        cloned->_min = _min;
96
16
        cloned->_min_value_set = _min_value_set;
97
16
        cloned->_contain_null = _contain_null;
98
16
        return cloned;
99
16
    }
_ZNK5doris13MinMaxNumFuncIiLb1ELb1EE5cloneEv
Line
Count
Source
92
416
    MinMaxFuncBase* clone() const override {
93
416
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
416
        cloned->_max = _max;
95
416
        cloned->_min = _min;
96
416
        cloned->_min_value_set = _min_value_set;
97
416
        cloned->_contain_null = _contain_null;
98
416
        return cloned;
99
416
    }
_ZNK5doris13MinMaxNumFuncIlLb1ELb1EE5cloneEv
Line
Count
Source
92
181
    MinMaxFuncBase* clone() const override {
93
181
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
181
        cloned->_max = _max;
95
181
        cloned->_min = _min;
96
181
        cloned->_min_value_set = _min_value_set;
97
181
        cloned->_contain_null = _contain_null;
98
181
        return cloned;
99
181
    }
_ZNK5doris13MinMaxNumFuncInLb1ELb1EE5cloneEv
Line
Count
Source
92
17
    MinMaxFuncBase* clone() const override {
93
17
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
17
        cloned->_max = _max;
95
17
        cloned->_min = _min;
96
17
        cloned->_min_value_set = _min_value_set;
97
17
        cloned->_contain_null = _contain_null;
98
17
        return cloned;
99
17
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncIfLb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncIdLb1ELb1EE5cloneEv
Line
Count
Source
92
8
    MinMaxFuncBase* clone() const override {
93
8
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
8
        cloned->_max = _max;
95
8
        cloned->_min = _min;
96
8
        cloned->_min_value_set = _min_value_set;
97
8
        cloned->_contain_null = _contain_null;
98
8
        return cloned;
99
8
    }
_ZNK5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5cloneEv
Line
Count
Source
92
6
    MinMaxFuncBase* clone() const override {
93
6
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
6
        cloned->_max = _max;
95
6
        cloned->_min = _min;
96
6
        cloned->_min_value_set = _min_value_set;
97
6
        cloned->_contain_null = _contain_null;
98
6
        return cloned;
99
6
    }
_ZNK5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5cloneEv
Line
Count
Source
92
17
    MinMaxFuncBase* clone() const override {
93
17
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
17
        cloned->_max = _max;
95
17
        cloned->_min = _min;
96
17
        cloned->_min_value_set = _min_value_set;
97
17
        cloned->_contain_null = _contain_null;
98
17
        return cloned;
99
17
    }
_ZNK5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5cloneEv
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_16TimeStampNsValueELb1ELb1EE5cloneEv
Line
Count
Source
92
1
    MinMaxFuncBase* clone() const override {
93
1
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
1
        cloned->_max = _max;
95
1
        cloned->_min = _min;
96
1
        cloned->_min_value_set = _min_value_set;
97
1
        cloned->_contain_null = _contain_null;
98
1
        return cloned;
99
1
    }
_ZNK5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5cloneEv
Line
Count
Source
92
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
    }
_ZNK5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5cloneEv
Line
Count
Source
92
12
    MinMaxFuncBase* clone() const override {
93
12
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
12
        cloned->_max = _max;
95
12
        cloned->_min = _min;
96
12
        cloned->_min_value_set = _min_value_set;
97
12
        cloned->_contain_null = _contain_null;
98
12
        return cloned;
99
12
    }
_ZNK5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5cloneEv
Line
Count
Source
92
3
    MinMaxFuncBase* clone() const override {
93
3
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
3
        cloned->_max = _max;
95
3
        cloned->_min = _min;
96
3
        cloned->_min_value_set = _min_value_set;
97
3
        cloned->_contain_null = _contain_null;
98
3
        return cloned;
99
3
    }
_ZNK5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5cloneEv
Line
Count
Source
92
4
    MinMaxFuncBase* clone() const override {
93
4
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
4
        cloned->_max = _max;
95
4
        cloned->_min = _min;
96
4
        cloned->_min_value_set = _min_value_set;
97
4
        cloned->_contain_null = _contain_null;
98
4
        return cloned;
99
4
    }
_ZNK5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5cloneEv
Line
Count
Source
92
7
    MinMaxFuncBase* clone() const override {
93
7
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
7
        cloned->_max = _max;
95
7
        cloned->_min = _min;
96
7
        cloned->_min_value_set = _min_value_set;
97
7
        cloned->_contain_null = _contain_null;
98
7
        return cloned;
99
7
    }
_ZNK5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5cloneEv
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: _ZNK5doris13MinMaxNumFuncIjLb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncIoLb1ELb1EE5cloneEv
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
    }
100
101
4.70k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_maxEv
Line
Count
Source
101
1
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
12
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_maxEv
Line
Count
Source
101
80
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_maxEv
Line
Count
Source
101
90
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_maxEv
Line
Count
Source
101
2.27k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_maxEv
Line
Count
Source
101
1.83k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_maxEv
Line
Count
Source
101
47
    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
15
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
12
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
102
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
42
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
86
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_maxEv
Line
Count
Source
101
5
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_maxEv
Line
Count
Source
101
10
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_maxEv
Line
Count
Source
101
49
    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
8
    void* get_max() override { return &_max; }
102
103
4.71k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_minEv
Line
Count
Source
103
1
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_minEv
Line
Count
Source
103
12
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_minEv
Line
Count
Source
103
72
    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.28k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_minEv
Line
Count
Source
103
1.83k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_minEv
Line
Count
Source
103
49
    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
12
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
103
103
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
103
42
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE7get_minEv
Line
Count
Source
103
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_minEv
Line
Count
Source
103
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_minEv
Line
Count
Source
103
83
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_minEv
Line
Count
Source
103
5
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_minEv
Line
Count
Source
103
10
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_minEv
Line
Count
Source
103
51
    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
8
    void* get_min() override { return &_min; }
104
105
905
    Status assign(void* min_data, void* max_data) override {
106
905
        if constexpr (IsStringValue) {
107
33
            _min_value_set = true;
108
33
        }
109
905
        _min = *(T*)min_data;
110
905
        _max = *(T*)max_data;
111
905
        return Status::OK();
112
905
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE6assignEPvS2_
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_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
21
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
21
        _min = *(T*)min_data;
110
21
        _max = *(T*)max_data;
111
21
        return Status::OK();
112
21
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
29
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
29
        _min = *(T*)min_data;
110
29
        _max = *(T*)max_data;
111
29
        return Status::OK();
112
29
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
543
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
543
        _min = *(T*)min_data;
110
543
        _max = *(T*)max_data;
111
543
        return Status::OK();
112
543
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
163
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
163
        _min = *(T*)min_data;
110
163
        _max = *(T*)max_data;
111
163
        return Status::OK();
112
163
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
17
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
17
        _min = *(T*)min_data;
110
17
        _max = *(T*)max_data;
111
17
        return Status::OK();
112
17
    }
_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
57
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
57
        _min = *(T*)min_data;
110
57
        _max = *(T*)max_data;
111
57
        return Status::OK();
112
57
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE6assignEPvS5_
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
    }
_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
33
    Status assign(void* min_data, void* max_data) override {
106
33
        if constexpr (IsStringValue) {
107
33
            _min_value_set = true;
108
33
        }
109
33
        _min = *(T*)min_data;
110
33
        _max = *(T*)max_data;
111
33
        return Status::OK();
112
33
    }
_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
15
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
15
        _min = *(T*)min_data;
110
15
        _max = *(T*)max_data;
111
15
        return Status::OK();
112
15
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE6assignEPvS7_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
3
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
3
        _min = *(T*)min_data;
110
3
        _max = *(T*)max_data;
111
3
        return Status::OK();
112
3
    }
113
114
1.02k
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIhLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
20
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
28
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
658
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
173
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
16
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
6
    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
56
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
6
    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
37
    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
16
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
2
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
115
116
private:
117
1.02k
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
1.02k
        if constexpr (NeedMin) {
119
1.02k
            f(filter->mutable_min_val(), _min);
120
1.02k
        }
121
1.02k
        if constexpr (NeedMax) {
122
1.02k
            f(filter->mutable_max_val(), _max);
123
1.02k
        }
124
1.02k
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIhLb1ELb1EE7_set_pbIZNS_13get_convertorIhEEDavEUlPNS_12PColumnValueERKhE_EEvPNS_13PMinMaxFilterET_
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
20
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
20
        if constexpr (NeedMin) {
119
20
            f(filter->mutable_min_val(), _min);
120
20
        }
121
20
        if constexpr (NeedMax) {
122
20
            f(filter->mutable_max_val(), _max);
123
20
        }
124
20
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7_set_pbIZNS_13get_convertorIsEEDavEUlPNS_12PColumnValueERKsE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
28
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
28
        if constexpr (NeedMin) {
119
28
            f(filter->mutable_min_val(), _min);
120
28
        }
121
28
        if constexpr (NeedMax) {
122
28
            f(filter->mutable_max_val(), _max);
123
28
        }
124
28
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7_set_pbIZNS_13get_convertorIiEEDavEUlPNS_12PColumnValueERKiE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
656
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
656
        if constexpr (NeedMin) {
119
656
            f(filter->mutable_min_val(), _min);
120
656
        }
121
656
        if constexpr (NeedMax) {
122
656
            f(filter->mutable_max_val(), _max);
123
656
        }
124
656
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7_set_pbIZNS_13get_convertorIlEEDavEUlPNS_12PColumnValueERKlE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
173
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
173
        if constexpr (NeedMin) {
119
173
            f(filter->mutable_min_val(), _min);
120
173
        }
121
173
        if constexpr (NeedMax) {
122
173
            f(filter->mutable_max_val(), _max);
123
173
        }
124
173
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7_set_pbIZNS_13get_convertorInEEDavEUlPNS_12PColumnValueERKnE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
16
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
16
        if constexpr (NeedMin) {
119
16
            f(filter->mutable_min_val(), _min);
120
16
        }
121
16
        if constexpr (NeedMax) {
122
16
            f(filter->mutable_max_val(), _max);
123
16
        }
124
16
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE7_set_pbIZNS_13get_convertorIfEEDavEUlPNS_12PColumnValueERKfE_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7_set_pbIZNS_13get_convertorIdEEDavEUlPNS_12PColumnValueERKdE_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
    }
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
56
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
56
        if constexpr (NeedMin) {
119
56
            f(filter->mutable_min_val(), _min);
120
56
        }
121
56
        if constexpr (NeedMax) {
122
56
            f(filter->mutable_max_val(), _max);
123
56
        }
124
56
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_E_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
    }
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
37
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
37
        if constexpr (NeedMin) {
119
37
            f(filter->mutable_min_val(), _min);
120
37
        }
121
37
        if constexpr (NeedMax) {
122
37
            f(filter->mutable_max_val(), _max);
123
37
        }
124
37
    }
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
16
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
16
        if constexpr (NeedMin) {
119
16
            f(filter->mutable_min_val(), _min);
120
16
        }
121
16
        if constexpr (NeedMax) {
122
16
            f(filter->mutable_max_val(), _max);
123
16
        }
124
16
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS5_EEDavEUlPNS_12PColumnValueERKS5_E_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE7_set_pbIZNS_13get_convertorIjEEDavEUlPNS_12PColumnValueERKjE_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7_set_pbIZNS_13get_convertorIoEEDavEUlPNS_12PColumnValueERKoE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
2
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
2
        if constexpr (NeedMin) {
119
2
            f(filter->mutable_min_val(), _min);
120
2
        }
121
2
        if constexpr (NeedMax) {
122
2
            f(filter->mutable_max_val(), _max);
123
2
        }
124
2
    }
125
126
    void _update_batch_string(const auto& column_string, const uint8_t* __restrict nullmap,
127
142
                              size_t start, size_t size) {
128
1.03k
        for (size_t i = start; i < size; i++) {
129
889
            if (nullmap == nullptr || !nullmap[i]) {
130
846
                if constexpr (NeedMin) {
131
846
                    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
846
                }
136
846
                if constexpr (NeedMax) {
137
846
                    if (column_string.get_data_at(i) > StringRef(_max)) {
138
211
                        _max = column_string.get_data_at(i).to_string();
139
211
                    }
140
846
                }
141
846
            }
142
889
        }
143
142
    }
_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
141
                              size_t start, size_t size) {
128
1.02k
        for (size_t i = start; i < size; i++) {
129
881
            if (nullmap == nullptr || !nullmap[i]) {
130
838
                if constexpr (NeedMin) {
131
838
                    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
838
                }
136
838
                if constexpr (NeedMax) {
137
838
                    if (column_string.get_data_at(i) > StringRef(_max)) {
138
203
                        _max = column_string.get_data_at(i).to_string();
139
203
                    }
140
838
                }
141
838
            }
142
881
        }
143
141
    }
144
145
2.08k
    void _update_batch(const ColumnPtr& column, size_t start) {
146
2.08k
        const auto size = column->size();
147
2.08k
        if constexpr (std::is_same_v<T, std::string>) {
148
67
            if (column->is_column_string64()) {
149
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
1
                                     size);
151
66
            } else {
152
66
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
66
                                     size);
154
66
            }
155
2.02k
        } else {
156
2.02k
            const T* data = (T*)column->get_raw_data().data;
157
3.34M
            for (size_t i = start; i < size; i++) {
158
3.34M
                if constexpr (NeedMin) {
159
3.34M
                    _min = std::min(_min, *(data + i));
160
3.34M
                }
161
3.34M
                if constexpr (NeedMax) {
162
3.34M
                    _max = std::max(_max, *(data + i));
163
3.34M
                }
164
3.34M
            }
165
2.02k
        }
166
2.08k
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIhLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
145
1
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1
        } else {
156
1
            const T* data = (T*)column->get_raw_data().data;
157
4
            for (size_t i = start; i < size; i++) {
158
3
                if constexpr (NeedMin) {
159
3
                    _min = std::min(_min, *(data + i));
160
3
                }
161
3
                if constexpr (NeedMax) {
162
3
                    _max = std::max(_max, *(data + i));
163
3
                }
164
3
            }
165
1
        }
166
1
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
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
49
            for (size_t i = start; i < size; i++) {
158
30
                if constexpr (NeedMin) {
159
30
                    _min = std::min(_min, *(data + i));
160
30
                }
161
30
                if constexpr (NeedMax) {
162
30
                    _max = std::max(_max, *(data + i));
163
30
                }
164
30
            }
165
19
        }
166
19
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
1
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1
        } else {
156
1
            const T* data = (T*)column->get_raw_data().data;
157
4
            for (size_t i = start; i < size; i++) {
158
3
                if constexpr (NeedMin) {
159
3
                    _min = std::min(_min, *(data + i));
160
3
                }
161
3
                if constexpr (NeedMax) {
162
3
                    _max = std::max(_max, *(data + i));
163
3
                }
164
3
            }
165
1
        }
166
1
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
1.44k
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1.44k
        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.44k
        } else {
156
1.44k
            const T* data = (T*)column->get_raw_data().data;
157
3.34M
            for (size_t i = start; i < size; i++) {
158
3.33M
                if constexpr (NeedMin) {
159
3.33M
                    _min = std::min(_min, *(data + i));
160
3.33M
                }
161
3.33M
                if constexpr (NeedMax) {
162
3.33M
                    _max = std::max(_max, *(data + i));
163
3.33M
                }
164
3.33M
            }
165
1.44k
        }
166
1.44k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
152
    void _update_batch(const ColumnPtr& column, size_t start) {
146
152
        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
152
        } else {
156
152
            const T* data = (T*)column->get_raw_data().data;
157
547
            for (size_t i = start; i < size; i++) {
158
395
                if constexpr (NeedMin) {
159
395
                    _min = std::min(_min, *(data + i));
160
395
                }
161
395
                if constexpr (NeedMax) {
162
395
                    _max = std::max(_max, *(data + i));
163
395
                }
164
395
            }
165
152
        }
166
152
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
111
    void _update_batch(const ColumnPtr& column, size_t start) {
146
111
        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
111
        } else {
156
111
            const T* data = (T*)column->get_raw_data().data;
157
273
            for (size_t i = start; i < size; i++) {
158
162
                if constexpr (NeedMin) {
159
162
                    _min = std::min(_min, *(data + i));
160
162
                }
161
162
                if constexpr (NeedMax) {
162
162
                    _max = std::max(_max, *(data + i));
163
162
                }
164
162
            }
165
111
        }
166
111
    }
_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
8
    void _update_batch(const ColumnPtr& column, size_t start) {
146
8
        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
8
        } else {
156
8
            const T* data = (T*)column->get_raw_data().data;
157
18
            for (size_t i = start; i < size; i++) {
158
10
                if constexpr (NeedMin) {
159
10
                    _min = std::min(_min, *(data + i));
160
10
                }
161
10
                if constexpr (NeedMax) {
162
10
                    _max = std::max(_max, *(data + i));
163
10
                }
164
10
            }
165
8
        }
166
8
    }
_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
173
    void _update_batch(const ColumnPtr& column, size_t start) {
146
173
        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
173
        } else {
156
173
            const T* data = (T*)column->get_raw_data().data;
157
571
            for (size_t i = start; i < size; i++) {
158
398
                if constexpr (NeedMin) {
159
398
                    _min = std::min(_min, *(data + i));
160
398
                }
161
398
                if constexpr (NeedMax) {
162
398
                    _max = std::max(_max, *(data + i));
163
398
                }
164
398
            }
165
173
        }
166
173
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
145
35
    void _update_batch(const ColumnPtr& column, size_t start) {
146
35
        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
35
        } else {
156
35
            const T* data = (T*)column->get_raw_data().data;
157
146
            for (size_t i = start; i < size; i++) {
158
111
                if constexpr (NeedMin) {
159
111
                    _min = std::min(_min, *(data + i));
160
111
                }
161
111
                if constexpr (NeedMax) {
162
111
                    _max = std::max(_max, *(data + i));
163
111
                }
164
111
            }
165
35
        }
166
35
    }
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
67
    void _update_batch(const ColumnPtr& column, size_t start) {
146
67
        const auto size = column->size();
147
67
        if constexpr (std::is_same_v<T, std::string>) {
148
67
            if (column->is_column_string64()) {
149
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
1
                                     size);
151
66
            } else {
152
66
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
66
                                     size);
154
66
            }
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
67
    }
_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
16
    void _update_batch(const ColumnPtr& column, size_t start) {
146
16
        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
16
        } else {
156
16
            const T* data = (T*)column->get_raw_data().data;
157
122
            for (size_t i = start; i < size; i++) {
158
106
                if constexpr (NeedMin) {
159
106
                    _min = std::min(_min, *(data + i));
160
106
                }
161
106
                if constexpr (NeedMax) {
162
106
                    _max = std::max(_max, *(data + i));
163
106
                }
164
106
            }
165
16
        }
166
16
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_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
114
            for (size_t i = start; i < size; i++) {
158
65
                if constexpr (NeedMin) {
159
65
                    _min = std::min(_min, *(data + i));
160
65
                }
161
65
                if constexpr (NeedMax) {
162
65
                    _max = std::max(_max, *(data + i));
163
65
                }
164
65
            }
165
49
        }
166
49
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EEm
Line
Count
Source
145
1
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1
        } else {
156
1
            const T* data = (T*)column->get_raw_data().data;
157
4
            for (size_t i = start; i < size; i++) {
158
3
                if constexpr (NeedMin) {
159
3
                    _min = std::min(_min, *(data + i));
160
3
                }
161
3
                if constexpr (NeedMax) {
162
3
                    _max = std::max(_max, *(data + i));
163
3
                }
164
3
            }
165
1
        }
166
1
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
1
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1
        } else {
156
1
            const T* data = (T*)column->get_raw_data().data;
157
4
            for (size_t i = start; i < size; i++) {
158
3
                if constexpr (NeedMin) {
159
3
                    _min = std::min(_min, *(data + i));
160
3
                }
161
3
                if constexpr (NeedMax) {
162
3
                    _max = std::max(_max, *(data + i));
163
3
                }
164
3
            }
165
1
        }
166
1
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
1
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1
        } else {
156
1
            const T* data = (T*)column->get_raw_data().data;
157
4
            for (size_t i = start; i < size; i++) {
158
3
                if constexpr (NeedMin) {
159
3
                    _min = std::min(_min, *(data + i));
160
3
                }
161
3
                if constexpr (NeedMax) {
162
3
                    _max = std::max(_max, *(data + i));
163
3
                }
164
3
            }
165
1
        }
166
1
    }
167
168
2.63k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
2.63k
        const auto size = column->size();
170
2.63k
        if constexpr (std::is_same_v<T, std::string>) {
171
75
            if (column->is_column_string64()) {
172
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
0
                                     start, size);
174
75
            } else {
175
75
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
75
                                     start, size);
177
75
            }
178
2.55k
        } else {
179
2.55k
            const T* data = (T*)column->get_raw_data().data;
180
1.92M
            for (size_t i = start; i < size; i++) {
181
1.92M
                if (!nullmap[i]) {
182
1.91M
                    if constexpr (NeedMin) {
183
1.91M
                        _min = std::min(_min, *(data + i));
184
1.91M
                    }
185
1.91M
                    if constexpr (NeedMax) {
186
1.91M
                        _max = std::max(_max, *(data + i));
187
1.91M
                    }
188
1.91M
                }
189
1.92M
            }
190
2.55k
        }
191
2.63k
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIhLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
10
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
10
        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
10
        } else {
179
10
            const T* data = (T*)column->get_raw_data().data;
180
39
            for (size_t i = start; i < size; i++) {
181
29
                if (!nullmap[i]) {
182
28
                    if constexpr (NeedMin) {
183
28
                        _min = std::min(_min, *(data + i));
184
28
                    }
185
28
                    if constexpr (NeedMax) {
186
28
                        _max = std::max(_max, *(data + i));
187
28
                    }
188
28
                }
189
29
            }
190
10
        }
191
10
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
75
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
75
        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
75
        } else {
179
75
            const T* data = (T*)column->get_raw_data().data;
180
198
            for (size_t i = start; i < size; i++) {
181
123
                if (!nullmap[i]) {
182
123
                    if constexpr (NeedMin) {
183
123
                        _min = std::min(_min, *(data + i));
184
123
                    }
185
123
                    if constexpr (NeedMax) {
186
123
                        _max = std::max(_max, *(data + i));
187
123
                    }
188
123
                }
189
123
            }
190
75
        }
191
75
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
73
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
73
        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
73
        } else {
179
73
            const T* data = (T*)column->get_raw_data().data;
180
676
            for (size_t i = start; i < size; i++) {
181
603
                if (!nullmap[i]) {
182
555
                    if constexpr (NeedMin) {
183
555
                        _min = std::min(_min, *(data + i));
184
555
                    }
185
555
                    if constexpr (NeedMax) {
186
555
                        _max = std::max(_max, *(data + i));
187
555
                    }
188
555
                }
189
603
            }
190
73
        }
191
73
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
1.49k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
1.49k
        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.49k
        } else {
179
1.49k
            const T* data = (T*)column->get_raw_data().data;
180
1.72M
            for (size_t i = start; i < size; i++) {
181
1.71M
                if (!nullmap[i]) {
182
1.71M
                    if constexpr (NeedMin) {
183
1.71M
                        _min = std::min(_min, *(data + i));
184
1.71M
                    }
185
1.71M
                    if constexpr (NeedMax) {
186
1.71M
                        _max = std::max(_max, *(data + i));
187
1.71M
                    }
188
1.71M
                }
189
1.71M
            }
190
1.49k
        }
191
1.49k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
757
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
757
        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
757
        } else {
179
757
            const T* data = (T*)column->get_raw_data().data;
180
203k
            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
757
        }
191
757
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
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
18
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
18
        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
18
        } else {
179
18
            const T* data = (T*)column->get_raw_data().data;
180
37
            for (size_t i = start; i < size; i++) {
181
19
                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
19
            }
190
18
        }
191
18
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
8
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
8
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
8
        } else {
179
8
            const T* data = (T*)column->get_raw_data().data;
180
50
            for (size_t i = start; i < size; i++) {
181
42
                if (!nullmap[i]) {
182
42
                    if constexpr (NeedMin) {
183
42
                        _min = std::min(_min, *(data + i));
184
42
                    }
185
42
                    if constexpr (NeedMax) {
186
42
                        _max = std::max(_max, *(data + i));
187
42
                    }
188
42
                }
189
42
            }
190
8
        }
191
8
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
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
154
            for (size_t i = start; i < size; i++) {
181
142
                if (!nullmap[i]) {
182
134
                    if constexpr (NeedMin) {
183
134
                        _min = std::min(_min, *(data + i));
184
134
                    }
185
134
                    if constexpr (NeedMax) {
186
134
                        _max = std::max(_max, *(data + i));
187
134
                    }
188
134
                }
189
142
            }
190
12
        }
191
12
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
11
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
11
        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
11
        } else {
179
11
            const T* data = (T*)column->get_raw_data().data;
180
22
            for (size_t i = start; i < size; i++) {
181
11
                if (!nullmap[i]) {
182
11
                    if constexpr (NeedMin) {
183
11
                        _min = std::min(_min, *(data + i));
184
11
                    }
185
11
                    if constexpr (NeedMax) {
186
11
                        _max = std::max(_max, *(data + i));
187
11
                    }
188
11
                }
189
11
            }
190
11
        }
191
11
    }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
16
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
16
        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
16
        } else {
179
16
            const T* data = (T*)column->get_raw_data().data;
180
48
            for (size_t i = start; i < size; i++) {
181
32
                if (!nullmap[i]) {
182
32
                    if constexpr (NeedMin) {
183
32
                        _min = std::min(_min, *(data + i));
184
32
                    }
185
32
                    if constexpr (NeedMax) {
186
32
                        _max = std::max(_max, *(data + i));
187
32
                    }
188
32
                }
189
32
            }
190
16
        }
191
16
    }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
2
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
2
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
2
        } else {
179
2
            const T* data = (T*)column->get_raw_data().data;
180
8
            for (size_t i = start; i < size; i++) {
181
6
                if (!nullmap[i]) {
182
6
                    if constexpr (NeedMin) {
183
6
                        _min = std::min(_min, *(data + i));
184
6
                    }
185
6
                    if constexpr (NeedMax) {
186
6
                        _max = std::max(_max, *(data + i));
187
6
                    }
188
6
                }
189
6
            }
190
2
        }
191
2
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
75
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
75
        const auto size = column->size();
170
75
        if constexpr (std::is_same_v<T, std::string>) {
171
75
            if (column->is_column_string64()) {
172
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
0
                                     start, size);
174
75
            } else {
175
75
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
75
                                     start, size);
177
75
            }
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
75
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
48
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
48
        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
48
        } else {
179
48
            const T* data = (T*)column->get_raw_data().data;
180
96
            for (size_t i = start; i < size; i++) {
181
48
                if (!nullmap[i]) {
182
48
                    if constexpr (NeedMin) {
183
48
                        _min = std::min(_min, *(data + i));
184
48
                    }
185
48
                    if constexpr (NeedMax) {
186
48
                        _max = std::max(_max, *(data + i));
187
48
                    }
188
48
                }
189
48
            }
190
48
        }
191
48
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_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
6
            for (size_t i = start; i < size; i++) {
181
5
                if (!nullmap[i]) {
182
4
                    if constexpr (NeedMin) {
183
4
                        _min = std::min(_min, *(data + i));
184
4
                    }
185
4
                    if constexpr (NeedMax) {
186
4
                        _max = std::max(_max, *(data + i));
187
4
                    }
188
4
                }
189
5
            }
190
1
        }
191
1
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_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
13
            for (size_t i = start; i < size; i++) {
181
9
                if (!nullmap[i]) {
182
7
                    if constexpr (NeedMin) {
183
7
                        _min = std::min(_min, *(data + i));
184
7
                    }
185
7
                    if constexpr (NeedMax) {
186
7
                        _max = std::max(_max, *(data + i));
187
7
                    }
188
7
                }
189
9
            }
190
4
        }
191
4
    }
_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
103
            for (size_t i = start; i < size; i++) {
181
88
                if (!nullmap[i]) {
182
87
                    if constexpr (NeedMin) {
183
87
                        _min = std::min(_min, *(data + i));
184
87
                    }
185
87
                    if constexpr (NeedMax) {
186
87
                        _max = std::max(_max, *(data + i));
187
87
                    }
188
87
                }
189
88
            }
190
15
        }
191
15
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
2
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
2
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
2
        } else {
179
2
            const T* data = (T*)column->get_raw_data().data;
180
24
            for (size_t i = start; i < size; i++) {
181
22
                if (!nullmap[i]) {
182
20
                    if constexpr (NeedMin) {
183
20
                        _min = std::min(_min, *(data + i));
184
20
                    }
185
20
                    if constexpr (NeedMax) {
186
20
                        _max = std::max(_max, *(data + i));
187
20
                    }
188
20
                }
189
22
            }
190
2
        }
191
2
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
11
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
11
        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
11
        } else {
179
11
            const T* data = (T*)column->get_raw_data().data;
180
528
            for (size_t i = start; i < size; i++) {
181
517
                if (!nullmap[i]) {
182
493
                    if constexpr (NeedMin) {
183
493
                        _min = std::min(_min, *(data + i));
184
493
                    }
185
493
                    if constexpr (NeedMax) {
186
493
                        _max = std::max(_max, *(data + i));
187
493
                    }
188
493
                }
189
517
            }
190
11
        }
191
11
    }
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