Coverage Report

Created: 2026-10-21 18:39

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
be/src/exprs/minmax_predicate.h
Line
Count
Source
1
// Licensed to the Apache Software Foundation (ASF) under one
2
// or more contributor license agreements.  See the NOTICE file
3
// distributed with this work for additional information
4
// regarding copyright ownership.  The ASF licenses this file
5
// to you under the Apache License, Version 2.0 (the
6
// "License"); you may not use this file except in compliance
7
// with the License.  You may obtain a copy of the License at
8
//
9
//   http://www.apache.org/licenses/LICENSE-2.0
10
//
11
// Unless required by applicable law or agreed to in writing,
12
// software distributed under the License is distributed on an
13
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
// KIND, either express or implied.  See the License for the
15
// specific language governing permissions and limitations
16
// under the License.
17
18
#pragma once
19
20
#include <gen_cpp/internal_service.pb.h>
21
22
#include "core/column/column_nullable.h"
23
#include "core/column/column_string.h"
24
#include "core/type_limit.h"
25
#include "exprs/filter_base.h"
26
27
namespace doris {
28
29
// only used in Runtime Filter
30
class MinMaxFuncBase : public FilterBase {
31
public:
32
27.3k
    MinMaxFuncBase(bool null_aware) : FilterBase(null_aware) {}
33
    virtual void insert_fixed_len(const ColumnPtr& column, size_t start) = 0;
34
    virtual void* get_max() = 0;
35
    virtual void* get_min() = 0;
36
    // assign minmax data
37
    virtual Status assign(void* min_data, void* max_data) = 0;
38
    // merge from other minmax_func
39
    virtual Status merge(MinMaxFuncBase* minmax_func) = 0;
40
    // Deep copy. The returned object shares nothing with this one.
41
    virtual MinMaxFuncBase* clone() const = 0;
42
27.4k
    virtual ~MinMaxFuncBase() = default;
43
44
    virtual void to_pb(PMinMaxFilter* filter) = 0;
45
};
46
47
template <class T, bool NeedMax = true, bool NeedMin = true>
48
class MinMaxNumFunc : public MinMaxFuncBase {
49
public:
50
    static constexpr bool IsStringValue = std::is_same_v<T, std::string>;
51
27.4k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIhLb1ELb1EEC2Eb
Line
Count
Source
51
9
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EEC2Eb
Line
Count
Source
51
18
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIaLb1ELb1EEC2Eb
Line
Count
Source
51
377
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIsLb1ELb1EEC2Eb
Line
Count
Source
51
259
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIiLb1ELb1EEC2Eb
Line
Count
Source
51
18.1k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIlLb1ELb1EEC2Eb
Line
Count
Source
51
4.31k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncInLb1ELb1EEC2Eb
Line
Count
Source
51
136
    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
73
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EEC2Eb
Line
Count
Source
51
48
    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
2.41k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EEC2Eb
Line
Count
Source
51
1
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EEC2Eb
Line
Count
Source
51
8
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EEC2Eb
Line
Count
Source
51
615
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EEC2Eb
Line
Count
Source
51
6
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EEC2Eb
Line
Count
Source
51
343
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EEC2Eb
Line
Count
Source
51
110
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EEC2Eb
Line
Count
Source
51
53
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIjLb1ELb1EEC2Eb
Line
Count
Source
51
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIoLb1ELb1EEC2Eb
Line
Count
Source
51
9
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
52
616
    ~MinMaxNumFunc() override = default;
53
54
7.93k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
7.93k
        if (is_column_nullable(*column)) {
56
5.72k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
5.72k
            const auto& col = nullable->get_nested_column_ptr();
58
5.72k
            const auto& nullmap = nullable->get_null_map_data();
59
5.72k
            if (nullable->has_null()) {
60
4.87k
                _update_batch(col, nullmap, start);
61
4.87k
                _contain_null = true;
62
4.87k
            } else {
63
847
                _update_batch(col, start);
64
847
            }
65
5.72k
        } else {
66
2.21k
            _update_batch(column, start);
67
2.21k
        }
68
7.93k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
1
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
1
        if (is_column_nullable(*column)) {
56
1
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
1
            const auto& col = nullable->get_nested_column_ptr();
58
1
            const auto& nullmap = nullable->get_null_map_data();
59
1
            if (nullable->has_null()) {
60
1
                _update_batch(col, nullmap, start);
61
1
                _contain_null = true;
62
1
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
1
        } else {
66
0
            _update_batch(column, start);
67
0
        }
68
1
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
9
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
9
        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
1
            _update_batch(column, start);
67
1
        }
68
9
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
145
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
145
        if (is_column_nullable(*column)) {
56
142
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
142
            const auto& col = nullable->get_nested_column_ptr();
58
142
            const auto& nullmap = nullable->get_null_map_data();
59
142
            if (nullable->has_null()) {
60
111
                _update_batch(col, nullmap, start);
61
111
                _contain_null = true;
62
111
            } else {
63
31
                _update_batch(col, start);
64
31
            }
65
142
        } else {
66
3
            _update_batch(column, start);
67
3
        }
68
145
    }
_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
5.69k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
5.69k
        if (is_column_nullable(*column)) {
56
3.97k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
3.97k
            const auto& col = nullable->get_nested_column_ptr();
58
3.97k
            const auto& nullmap = nullable->get_null_map_data();
59
3.97k
            if (nullable->has_null()) {
60
3.22k
                _update_batch(col, nullmap, start);
61
3.22k
                _contain_null = true;
62
3.22k
            } else {
63
751
                _update_batch(col, start);
64
751
            }
65
3.97k
        } else {
66
1.71k
            _update_batch(column, start);
67
1.71k
        }
68
5.69k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
909
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
909
        if (is_column_nullable(*column)) {
56
805
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
805
            const auto& col = nullable->get_nested_column_ptr();
58
805
            const auto& nullmap = nullable->get_null_map_data();
59
805
            if (nullable->has_null()) {
60
779
                _update_batch(col, nullmap, start);
61
779
                _contain_null = true;
62
779
            } else {
63
26
                _update_batch(col, start);
64
26
            }
65
805
        } else {
66
104
            _update_batch(column, start);
67
104
        }
68
909
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
48
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
48
        if (is_column_nullable(*column)) {
56
3
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
3
            const auto& col = nullable->get_nested_column_ptr();
58
3
            const auto& nullmap = nullable->get_null_map_data();
59
3
            if (nullable->has_null()) {
60
3
                _update_batch(col, nullmap, start);
61
3
                _contain_null = true;
62
3
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
45
        } else {
66
45
            _update_batch(column, start);
67
45
        }
68
48
    }
_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
50
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
50
        if (is_column_nullable(*column)) {
56
49
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
49
            const auto& col = nullable->get_nested_column_ptr();
58
49
            const auto& nullmap = nullable->get_null_map_data();
59
49
            if (nullable->has_null()) {
60
43
                _update_batch(col, nullmap, start);
61
43
                _contain_null = true;
62
43
            } else {
63
6
                _update_batch(col, start);
64
6
            }
65
49
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
50
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
8
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
8
        if (is_column_nullable(*column)) {
56
6
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
6
            const auto& col = nullable->get_nested_column_ptr();
58
6
            const auto& nullmap = nullable->get_null_map_data();
59
6
            if (nullable->has_null()) {
60
6
                _update_batch(col, nullmap, start);
61
6
                _contain_null = true;
62
6
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
6
        } else {
66
2
            _update_batch(column, start);
67
2
        }
68
8
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
54
184
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
184
        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
9
                _update_batch(col, nullmap, start);
61
9
                _contain_null = true;
62
9
            } else {
63
2
                _update_batch(col, start);
64
2
            }
65
173
        } else {
66
173
            _update_batch(column, start);
67
173
        }
68
184
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
54
350
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
350
        if (is_column_nullable(*column)) {
56
299
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
299
            const auto& col = nullable->get_nested_column_ptr();
58
299
            const auto& nullmap = nullable->get_null_map_data();
59
300
            if (nullable->has_null()) {
60
300
                _update_batch(col, nullmap, start);
61
300
                _contain_null = true;
62
18.4E
            } else {
63
18.4E
                _update_batch(col, start);
64
18.4E
            }
65
299
        } else {
66
51
            _update_batch(column, start);
67
51
        }
68
350
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
6
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
6
        if (is_column_nullable(*column)) {
56
6
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
6
            const auto& col = nullable->get_nested_column_ptr();
58
6
            const auto& nullmap = nullable->get_null_map_data();
59
6
            if (nullable->has_null()) {
60
6
                _update_batch(col, nullmap, start);
61
6
                _contain_null = true;
62
6
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
6
        } else {
66
0
            _update_batch(column, start);
67
0
        }
68
6
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
54
251
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
251
        if (is_column_nullable(*column)) {
56
174
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
174
            const auto& col = nullable->get_nested_column_ptr();
58
174
            const auto& nullmap = nullable->get_null_map_data();
59
174
            if (nullable->has_null()) {
60
149
                _update_batch(col, nullmap, start);
61
149
                _contain_null = true;
62
149
            } else {
63
25
                _update_batch(col, start);
64
25
            }
65
174
        } else {
66
77
            _update_batch(column, start);
67
77
        }
68
251
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_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
1
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
1
            const auto& col = nullable->get_nested_column_ptr();
58
1
            const auto& nullmap = nullable->get_null_map_data();
59
1
            if (nullable->has_null()) {
60
1
                _update_batch(col, nullmap, start);
61
1
                _contain_null = true;
62
1
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
1
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
2
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
54
141
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
141
        if (is_column_nullable(*column)) {
56
121
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
121
            const auto& col = nullable->get_nested_column_ptr();
58
121
            const auto& nullmap = nullable->get_null_map_data();
59
121
            if (nullable->has_null()) {
60
121
                _update_batch(col, nullmap, start);
61
121
                _contain_null = true;
62
121
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
121
        } else {
66
20
            _update_batch(column, start);
67
20
        }
68
141
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
34
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
34
        if (is_column_nullable(*column)) {
56
18
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
18
            const auto& col = nullable->get_nested_column_ptr();
58
18
            const auto& nullmap = nullable->get_null_map_data();
59
18
            if (nullable->has_null()) {
60
11
                _update_batch(col, nullmap, start);
61
11
                _contain_null = true;
62
11
            } else {
63
7
                _update_batch(col, start);
64
7
            }
65
18
        } else {
66
16
            _update_batch(column, start);
67
16
        }
68
34
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EEm
Line
Count
Source
54
25
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
25
        if (is_column_nullable(*column)) {
56
24
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
24
            const auto& col = nullable->get_nested_column_ptr();
58
24
            const auto& nullmap = nullable->get_null_map_data();
59
24
            if (nullable->has_null()) {
60
24
                _update_batch(col, nullmap, start);
61
24
                _contain_null = true;
62
24
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
24
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
25
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
1
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
1
        if (is_column_nullable(*column)) {
56
0
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
0
            const auto& col = nullable->get_nested_column_ptr();
58
0
            const auto& nullmap = nullable->get_null_map_data();
59
0
            if (nullable->has_null()) {
60
0
                _update_batch(col, nullmap, start);
61
0
                _contain_null = true;
62
0
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
1
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
1
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
4
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
4
        if (is_column_nullable(*column)) {
56
3
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
3
            const auto& col = nullable->get_nested_column_ptr();
58
3
            const auto& nullmap = nullable->get_null_map_data();
59
3
            if (nullable->has_null()) {
60
3
                _update_batch(col, nullmap, start);
61
3
                _contain_null = true;
62
3
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
3
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
4
    }
69
70
14.1k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
14.1k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
14.1k
        if constexpr (NeedMin) {
73
14.1k
            if constexpr (IsStringValue) {
74
270
                if (other_minmax->_min < _min || !_min_value_set) {
75
46
                    _min = other_minmax->_min;
76
46
                    _min_value_set = true;
77
46
                }
78
13.8k
            } else if (other_minmax->_min < _min) {
79
1.37k
                _min = other_minmax->_min;
80
1.37k
            }
81
14.1k
        }
82
14.1k
        if constexpr (NeedMax) {
83
14.1k
            if (other_minmax->_max > _max) {
84
1.28k
                _max = other_minmax->_max;
85
1.28k
            }
86
14.1k
        }
87
88
14.1k
        _contain_null |= minmax_func->contain_null();
89
14.1k
        return Status::OK();
90
14.1k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
5
    Status merge(MinMaxFuncBase* minmax_func) override {
71
5
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
5
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
5
            } else if (other_minmax->_min < _min) {
79
1
                _min = other_minmax->_min;
80
1
            }
81
5
        }
82
5
        if constexpr (NeedMax) {
83
5
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
5
        }
87
88
5
        _contain_null |= minmax_func->contain_null();
89
5
        return Status::OK();
90
5
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
74
    Status merge(MinMaxFuncBase* minmax_func) override {
71
74
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
74
        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
74
            } else if (other_minmax->_min < _min) {
79
5
                _min = other_minmax->_min;
80
5
            }
81
74
        }
82
74
        if constexpr (NeedMax) {
83
74
            if (other_minmax->_max > _max) {
84
4
                _max = other_minmax->_max;
85
4
            }
86
74
        }
87
88
74
        _contain_null |= minmax_func->contain_null();
89
74
        return Status::OK();
90
74
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
29
    Status merge(MinMaxFuncBase* minmax_func) override {
71
29
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
29
        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
29
            } else if (other_minmax->_min < _min) {
79
10
                _min = other_minmax->_min;
80
10
            }
81
29
        }
82
29
        if constexpr (NeedMax) {
83
29
            if (other_minmax->_max > _max) {
84
10
                _max = other_minmax->_max;
85
10
            }
86
29
        }
87
88
29
        _contain_null |= minmax_func->contain_null();
89
29
        return Status::OK();
90
29
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
9.93k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
9.93k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
9.93k
        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.93k
            } else if (other_minmax->_min < _min) {
79
1.08k
                _min = other_minmax->_min;
80
1.08k
            }
81
9.93k
        }
82
9.93k
        if constexpr (NeedMax) {
83
9.93k
            if (other_minmax->_max > _max) {
84
986
                _max = other_minmax->_max;
85
986
            }
86
9.93k
        }
87
88
9.93k
        _contain_null |= minmax_func->contain_null();
89
9.93k
        return Status::OK();
90
9.93k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
1.14k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
1.14k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
1.14k
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
1.14k
            } else if (other_minmax->_min < _min) {
79
94
                _min = other_minmax->_min;
80
94
            }
81
1.14k
        }
82
1.14k
        if constexpr (NeedMax) {
83
1.14k
            if (other_minmax->_max > _max) {
84
93
                _max = other_minmax->_max;
85
93
            }
86
1.14k
        }
87
88
1.14k
        _contain_null |= minmax_func->contain_null();
89
1.14k
        return Status::OK();
90
1.14k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
53
    Status merge(MinMaxFuncBase* minmax_func) override {
71
53
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
53
        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
53
            } else if (other_minmax->_min < _min) {
79
2
                _min = other_minmax->_min;
80
2
            }
81
53
        }
82
53
        if constexpr (NeedMax) {
83
53
            if (other_minmax->_max > _max) {
84
2
                _max = other_minmax->_max;
85
2
            }
86
53
        }
87
88
53
        _contain_null |= minmax_func->contain_null();
89
53
        return Status::OK();
90
53
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
41
    Status merge(MinMaxFuncBase* minmax_func) override {
71
41
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
41
        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
41
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
41
        }
82
41
        if constexpr (NeedMax) {
83
41
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
41
        }
87
88
41
        _contain_null |= minmax_func->contain_null();
89
41
        return Status::OK();
90
41
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
30
    Status merge(MinMaxFuncBase* minmax_func) override {
71
30
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
30
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
30
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
30
        }
82
30
        if constexpr (NeedMax) {
83
30
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
30
        }
87
88
30
        _contain_null |= minmax_func->contain_null();
89
30
        return Status::OK();
90
30
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
258
    Status merge(MinMaxFuncBase* minmax_func) override {
71
258
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
258
        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
258
            } else if (other_minmax->_min < _min) {
79
40
                _min = other_minmax->_min;
80
40
            }
81
258
        }
82
258
        if constexpr (NeedMax) {
83
258
            if (other_minmax->_max > _max) {
84
33
                _max = other_minmax->_max;
85
33
            }
86
258
        }
87
88
258
        _contain_null |= minmax_func->contain_null();
89
258
        return Status::OK();
90
258
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
2.10k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
2.10k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
2.10k
        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.10k
            } else if (other_minmax->_min < _min) {
79
131
                _min = other_minmax->_min;
80
131
            }
81
2.10k
        }
82
2.10k
        if constexpr (NeedMax) {
83
2.10k
            if (other_minmax->_max > _max) {
84
118
                _max = other_minmax->_max;
85
118
            }
86
2.10k
        }
87
88
2.10k
        _contain_null |= minmax_func->contain_null();
89
2.10k
        return Status::OK();
90
2.10k
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
5
    Status merge(MinMaxFuncBase* minmax_func) override {
71
5
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
5
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
5
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
5
        }
82
5
        if constexpr (NeedMax) {
83
5
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
5
        }
87
88
5
        _contain_null |= minmax_func->contain_null();
89
5
        return Status::OK();
90
5
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
270
    Status merge(MinMaxFuncBase* minmax_func) override {
71
270
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
270
        if constexpr (NeedMin) {
73
270
            if constexpr (IsStringValue) {
74
270
                if (other_minmax->_min < _min || !_min_value_set) {
75
46
                    _min = other_minmax->_min;
76
46
                    _min_value_set = true;
77
46
                }
78
            } else if (other_minmax->_min < _min) {
79
                _min = other_minmax->_min;
80
            }
81
270
        }
82
270
        if constexpr (NeedMax) {
83
270
            if (other_minmax->_max > _max) {
84
37
                _max = other_minmax->_max;
85
37
            }
86
270
        }
87
88
270
        _contain_null |= minmax_func->contain_null();
89
270
        return Status::OK();
90
270
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
129
    Status merge(MinMaxFuncBase* minmax_func) override {
71
129
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
129
        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
129
            } else if (other_minmax->_min < _min) {
79
7
                _min = other_minmax->_min;
80
7
            }
81
129
        }
82
129
        if constexpr (NeedMax) {
83
129
            if (other_minmax->_max > _max) {
84
4
                _max = other_minmax->_max;
85
4
            }
86
129
        }
87
88
129
        _contain_null |= minmax_func->contain_null();
89
129
        return Status::OK();
90
129
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
49
    Status merge(MinMaxFuncBase* minmax_func) override {
71
49
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
49
        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
49
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
49
        }
82
49
        if constexpr (NeedMax) {
83
49
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
49
        }
87
88
49
        _contain_null |= minmax_func->contain_null();
89
49
        return Status::OK();
90
49
    }
_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
1
    Status merge(MinMaxFuncBase* minmax_func) override {
71
1
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
1
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
1
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
1
        }
82
1
        if constexpr (NeedMax) {
83
1
            if (other_minmax->_max > _max) {
84
1
                _max = other_minmax->_max;
85
1
            }
86
1
        }
87
88
1
        _contain_null |= minmax_func->contain_null();
89
1
        return Status::OK();
90
1
    }
91
92
1.03k
    MinMaxFuncBase* clone() const override {
93
1.03k
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
1.03k
        cloned->_max = _max;
95
1.03k
        cloned->_min = _min;
96
1.03k
        cloned->_min_value_set = _min_value_set;
97
1.03k
        cloned->_contain_null = _contain_null;
98
1.03k
        return cloned;
99
1.03k
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncIhLb1ELb1EE5cloneEv
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncIaLb1ELb1EE5cloneEv
Line
Count
Source
92
18
    MinMaxFuncBase* clone() const override {
93
18
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
18
        cloned->_max = _max;
95
18
        cloned->_min = _min;
96
18
        cloned->_min_value_set = _min_value_set;
97
18
        cloned->_contain_null = _contain_null;
98
18
        return cloned;
99
18
    }
_ZNK5doris13MinMaxNumFuncIsLb1ELb1EE5cloneEv
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
    }
_ZNK5doris13MinMaxNumFuncIiLb1ELb1EE5cloneEv
Line
Count
Source
92
785
    MinMaxFuncBase* clone() const override {
93
785
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
785
        cloned->_max = _max;
95
785
        cloned->_min = _min;
96
785
        cloned->_min_value_set = _min_value_set;
97
785
        cloned->_contain_null = _contain_null;
98
785
        return cloned;
99
785
    }
_ZNK5doris13MinMaxNumFuncIlLb1ELb1EE5cloneEv
Line
Count
Source
92
103
    MinMaxFuncBase* clone() const override {
93
103
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
103
        cloned->_max = _max;
95
103
        cloned->_min = _min;
96
103
        cloned->_min_value_set = _min_value_set;
97
103
        cloned->_contain_null = _contain_null;
98
103
        return cloned;
99
103
    }
_ZNK5doris13MinMaxNumFuncInLb1ELb1EE5cloneEv
Line
Count
Source
92
13
    MinMaxFuncBase* clone() const override {
93
13
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
13
        cloned->_max = _max;
95
13
        cloned->_min = _min;
96
13
        cloned->_min_value_set = _min_value_set;
97
13
        cloned->_contain_null = _contain_null;
98
13
        return cloned;
99
13
    }
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
2
    MinMaxFuncBase* clone() const override {
93
2
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
2
        cloned->_max = _max;
95
2
        cloned->_min = _min;
96
2
        cloned->_min_value_set = _min_value_set;
97
2
        cloned->_contain_null = _contain_null;
98
2
        return cloned;
99
2
    }
_ZNK5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5cloneEv
Line
Count
Source
92
22
    MinMaxFuncBase* clone() const override {
93
22
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
22
        cloned->_max = _max;
95
22
        cloned->_min = _min;
96
22
        cloned->_min_value_set = _min_value_set;
97
22
        cloned->_contain_null = _contain_null;
98
22
        return cloned;
99
22
    }
_ZNK5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5cloneEv
Line
Count
Source
92
11
    MinMaxFuncBase* clone() const override {
93
11
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
11
        cloned->_max = _max;
95
11
        cloned->_min = _min;
96
11
        cloned->_min_value_set = _min_value_set;
97
11
        cloned->_contain_null = _contain_null;
98
11
        return cloned;
99
11
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5cloneEv
Line
Count
Source
92
1
    MinMaxFuncBase* clone() const override {
93
1
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
1
        cloned->_max = _max;
95
1
        cloned->_min = _min;
96
1
        cloned->_min_value_set = _min_value_set;
97
1
        cloned->_contain_null = _contain_null;
98
1
        return cloned;
99
1
    }
_ZNK5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5cloneEv
Line
Count
Source
92
23
    MinMaxFuncBase* clone() const override {
93
23
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
23
        cloned->_max = _max;
95
23
        cloned->_min = _min;
96
23
        cloned->_min_value_set = _min_value_set;
97
23
        cloned->_contain_null = _contain_null;
98
23
        return cloned;
99
23
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5cloneEv
Line
Count
Source
92
24
    MinMaxFuncBase* clone() const override {
93
24
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
24
        cloned->_max = _max;
95
24
        cloned->_min = _min;
96
24
        cloned->_min_value_set = _min_value_set;
97
24
        cloned->_contain_null = _contain_null;
98
24
        return cloned;
99
24
    }
_ZNK5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5cloneEv
Line
Count
Source
92
9
    MinMaxFuncBase* clone() const override {
93
9
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
9
        cloned->_max = _max;
95
9
        cloned->_min = _min;
96
9
        cloned->_min_value_set = _min_value_set;
97
9
        cloned->_contain_null = _contain_null;
98
9
        return cloned;
99
9
    }
_ZNK5doris13MinMaxNumFuncINS_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
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncIoLb1ELb1EE5cloneEv
100
101
6.13k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_maxEv
Line
Count
Source
101
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
10
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_maxEv
Line
Count
Source
101
113
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_maxEv
Line
Count
Source
101
78
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_maxEv
Line
Count
Source
101
3.51k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_maxEv
Line
Count
Source
101
1.60k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_maxEv
Line
Count
Source
101
41
    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
16
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
10
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
110
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
179
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
1
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
1
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
226
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_maxEv
Line
Count
Source
101
4
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_maxEv
Line
Count
Source
101
155
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_maxEv
Line
Count
Source
101
35
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
26
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_maxEv
Line
Count
Source
101
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_maxEv
Line
Count
Source
101
5
    void* get_max() override { return &_max; }
102
103
6.15k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_minEv
Line
Count
Source
103
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_minEv
Line
Count
Source
103
10
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_minEv
Line
Count
Source
103
104
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_minEv
Line
Count
Source
103
78
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_minEv
Line
Count
Source
103
3.51k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_minEv
Line
Count
Source
103
1.61k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_minEv
Line
Count
Source
103
45
    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
9
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_minEv
Line
Count
Source
103
10
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
103
110
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
103
179
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE7get_minEv
Line
Count
Source
103
1
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_minEv
Line
Count
Source
103
1
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_minEv
Line
Count
Source
103
235
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_minEv
Line
Count
Source
103
4
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_minEv
Line
Count
Source
103
157
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_minEv
Line
Count
Source
103
36
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_minEv
Line
Count
Source
103
26
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_minEv
Line
Count
Source
103
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_minEv
Line
Count
Source
103
5
    void* get_min() override { return &_min; }
104
105
1.74k
    Status assign(void* min_data, void* max_data) override {
106
1.74k
        if constexpr (IsStringValue) {
107
43
            _min_value_set = true;
108
43
        }
109
1.74k
        _min = *(T*)min_data;
110
1.74k
        _max = *(T*)max_data;
111
1.74k
        return Status::OK();
112
1.74k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
3
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
3
        _min = *(T*)min_data;
110
3
        _max = *(T*)max_data;
111
3
        return Status::OK();
112
3
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE6assignEPvS3_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
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
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
75
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
75
        _min = *(T*)min_data;
110
75
        _max = *(T*)max_data;
111
75
        return Status::OK();
112
75
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
1.28k
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1.28k
        _min = *(T*)min_data;
110
1.28k
        _max = *(T*)max_data;
111
1.28k
        return Status::OK();
112
1.28k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
123
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
123
        _min = *(T*)min_data;
110
123
        _max = *(T*)max_data;
111
123
        return Status::OK();
112
123
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE6assignEPvS2_
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
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE6assignEPvS3_
Line
Count
Source
105
2
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
2
        _min = *(T*)min_data;
110
2
        _max = *(T*)max_data;
111
2
        return Status::OK();
112
2
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
105
55
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
55
        _min = *(T*)min_data;
110
55
        _max = *(T*)max_data;
111
55
        return Status::OK();
112
55
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
105
107
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
107
        _min = *(T*)min_data;
110
107
        _max = *(T*)max_data;
111
107
        return Status::OK();
112
107
    }
_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
43
    Status assign(void* min_data, void* max_data) override {
106
43
        if constexpr (IsStringValue) {
107
43
            _min_value_set = true;
108
43
        }
109
43
        _min = *(T*)min_data;
110
43
        _max = *(T*)max_data;
111
43
        return Status::OK();
112
43
    }
_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
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_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
2.05k
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
2
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
38
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
86
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
1.53k
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
177
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
4
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIdLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
54
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
106
    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
46
    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>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
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
2.05k
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
2.05k
        if constexpr (NeedMin) {
119
2.05k
            f(filter->mutable_min_val(), _min);
120
2.05k
        }
121
2.05k
        if constexpr (NeedMax) {
122
2.05k
            f(filter->mutable_max_val(), _max);
123
2.05k
        }
124
2.05k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7_set_pbIZNS_13get_convertorIhEEDavEUlPNS_12PColumnValueERKhE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
2
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
2
        if constexpr (NeedMin) {
119
2
            f(filter->mutable_min_val(), _min);
120
2
        }
121
2
        if constexpr (NeedMax) {
122
2
            f(filter->mutable_max_val(), _max);
123
2
        }
124
2
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7_set_pbIZNS_13get_convertorIaEEDavEUlPNS_12PColumnValueERKaE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
38
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
38
        if constexpr (NeedMin) {
119
38
            f(filter->mutable_min_val(), _min);
120
38
        }
121
38
        if constexpr (NeedMax) {
122
38
            f(filter->mutable_max_val(), _max);
123
38
        }
124
38
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7_set_pbIZNS_13get_convertorIsEEDavEUlPNS_12PColumnValueERKsE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
86
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
86
        if constexpr (NeedMin) {
119
86
            f(filter->mutable_min_val(), _min);
120
86
        }
121
86
        if constexpr (NeedMax) {
122
86
            f(filter->mutable_max_val(), _max);
123
86
        }
124
86
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7_set_pbIZNS_13get_convertorIiEEDavEUlPNS_12PColumnValueERKiE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
1.53k
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
1.53k
        if constexpr (NeedMin) {
119
1.53k
            f(filter->mutable_min_val(), _min);
120
1.53k
        }
121
1.53k
        if constexpr (NeedMax) {
122
1.53k
            f(filter->mutable_max_val(), _max);
123
1.53k
        }
124
1.53k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7_set_pbIZNS_13get_convertorIlEEDavEUlPNS_12PColumnValueERKlE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
177
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
177
        if constexpr (NeedMin) {
119
177
            f(filter->mutable_min_val(), _min);
120
177
        }
121
177
        if constexpr (NeedMax) {
122
177
            f(filter->mutable_max_val(), _max);
123
177
        }
124
177
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7_set_pbIZNS_13get_convertorInEEDavEUlPNS_12PColumnValueERKnE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
4
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
4
        if constexpr (NeedMin) {
119
4
            f(filter->mutable_min_val(), _min);
120
4
        }
121
4
        if constexpr (NeedMax) {
122
4
            f(filter->mutable_max_val(), _max);
123
4
        }
124
4
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE7_set_pbIZNS_13get_convertorIfEEDavEUlPNS_12PColumnValueERKfE_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIdLb1ELb1EE7_set_pbIZNS_13get_convertorIdEEDavEUlPNS_12PColumnValueERKdE_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
54
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
54
        if constexpr (NeedMin) {
119
54
            f(filter->mutable_min_val(), _min);
120
54
        }
121
54
        if constexpr (NeedMax) {
122
54
            f(filter->mutable_max_val(), _max);
123
54
        }
124
54
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
106
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
106
        if constexpr (NeedMin) {
119
106
            f(filter->mutable_min_val(), _min);
120
106
        }
121
106
        if constexpr (NeedMax) {
122
106
            f(filter->mutable_max_val(), _max);
123
106
        }
124
106
    }
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
46
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
46
        if constexpr (NeedMin) {
119
46
            f(filter->mutable_min_val(), _min);
120
46
        }
121
46
        if constexpr (NeedMax) {
122
46
            f(filter->mutable_max_val(), _max);
123
46
        }
124
46
    }
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
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
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
251
                              size_t start, size_t size) {
128
756
        for (size_t i = start; i < size; i++) {
129
505
            if (nullmap == nullptr || !nullmap[i]) {
130
489
                if constexpr (NeedMin) {
131
489
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
132
278
                        _min = column_string.get_data_at(i).to_string();
133
278
                        _min_value_set = true;
134
278
                    }
135
489
                }
136
489
                if constexpr (NeedMax) {
137
489
                    if (column_string.get_data_at(i) > StringRef(_max)) {
138
339
                        _max = column_string.get_data_at(i).to_string();
139
339
                    }
140
489
                }
141
489
            }
142
505
        }
143
251
    }
_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
250
                              size_t start, size_t size) {
128
747
        for (size_t i = start; i < size; i++) {
129
497
            if (nullmap == nullptr || !nullmap[i]) {
130
481
                if constexpr (NeedMin) {
131
481
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
132
277
                        _min = column_string.get_data_at(i).to_string();
133
277
                        _min_value_set = true;
134
277
                    }
135
481
                }
136
481
                if constexpr (NeedMax) {
137
481
                    if (column_string.get_data_at(i) > StringRef(_max)) {
138
331
                        _max = column_string.get_data_at(i).to_string();
139
331
                    }
140
481
                }
141
481
            }
142
497
        }
143
250
    }
144
145
3.05k
    void _update_batch(const ColumnPtr& column, size_t start) {
146
3.05k
        const auto size = column->size();
147
3.05k
        if constexpr (std::is_same_v<T, std::string>) {
148
102
            if (column->is_column_string64()) {
149
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
1
                                     size);
151
101
            } else {
152
101
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
101
                                     size);
154
101
            }
155
2.95k
        } else {
156
2.95k
            const T* data = (T*)column->get_raw_data().data;
157
25.7M
            for (size_t i = start; i < size; i++) {
158
25.7M
                if constexpr (NeedMin) {
159
25.7M
                    _min = std::min(_min, *(data + i));
160
25.7M
                }
161
25.7M
                if constexpr (NeedMax) {
162
25.7M
                    _max = std::max(_max, *(data + i));
163
25.7M
                }
164
25.7M
            }
165
2.95k
        }
166
3.05k
    }
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
34
    void _update_batch(const ColumnPtr& column, size_t start) {
146
34
        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
34
        } else {
156
34
            const T* data = (T*)column->get_raw_data().data;
157
118
            for (size_t i = start; i < size; i++) {
158
84
                if constexpr (NeedMin) {
159
84
                    _min = std::min(_min, *(data + i));
160
84
                }
161
84
                if constexpr (NeedMax) {
162
84
                    _max = std::max(_max, *(data + i));
163
84
                }
164
84
            }
165
34
        }
166
34
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
1
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1
        } else {
156
1
            const T* data = (T*)column->get_raw_data().data;
157
4
            for (size_t i = start; i < size; i++) {
158
3
                if constexpr (NeedMin) {
159
3
                    _min = std::min(_min, *(data + i));
160
3
                }
161
3
                if constexpr (NeedMax) {
162
3
                    _max = std::max(_max, *(data + i));
163
3
                }
164
3
            }
165
1
        }
166
1
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
2.46k
    void _update_batch(const ColumnPtr& column, size_t start) {
146
2.46k
        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.46k
        } else {
156
2.46k
            const T* data = (T*)column->get_raw_data().data;
157
25.7M
            for (size_t i = start; i < size; i++) {
158
25.7M
                if constexpr (NeedMin) {
159
25.7M
                    _min = std::min(_min, *(data + i));
160
25.7M
                }
161
25.7M
                if constexpr (NeedMax) {
162
25.7M
                    _max = std::max(_max, *(data + i));
163
25.7M
                }
164
25.7M
            }
165
2.46k
        }
166
2.46k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
127
    void _update_batch(const ColumnPtr& column, size_t start) {
146
127
        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
127
        } else {
156
127
            const T* data = (T*)column->get_raw_data().data;
157
555
            for (size_t i = start; i < size; i++) {
158
428
                if constexpr (NeedMin) {
159
428
                    _min = std::min(_min, *(data + i));
160
428
                }
161
428
                if constexpr (NeedMax) {
162
428
                    _max = std::max(_max, *(data + i));
163
428
                }
164
428
            }
165
127
        }
166
127
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
45
    void _update_batch(const ColumnPtr& column, size_t start) {
146
45
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
45
        } else {
156
45
            const T* data = (T*)column->get_raw_data().data;
157
126
            for (size_t i = start; i < size; i++) {
158
81
                if constexpr (NeedMin) {
159
81
                    _min = std::min(_min, *(data + i));
160
81
                }
161
81
                if constexpr (NeedMax) {
162
81
                    _max = std::max(_max, *(data + i));
163
81
                }
164
81
            }
165
45
        }
166
45
    }
_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
7
    void _update_batch(const ColumnPtr& column, size_t start) {
146
7
        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
7
        } else {
156
7
            const T* data = (T*)column->get_raw_data().data;
157
16
            for (size_t i = start; i < size; i++) {
158
9
                if constexpr (NeedMin) {
159
9
                    _min = std::min(_min, *(data + i));
160
9
                }
161
9
                if constexpr (NeedMax) {
162
9
                    _max = std::max(_max, *(data + i));
163
9
                }
164
9
            }
165
7
        }
166
7
    }
_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
174
    void _update_batch(const ColumnPtr& column, size_t start) {
146
174
        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
174
        } else {
156
174
            const T* data = (T*)column->get_raw_data().data;
157
540
            for (size_t i = start; i < size; i++) {
158
366
                if constexpr (NeedMin) {
159
366
                    _min = std::min(_min, *(data + i));
160
366
                }
161
366
                if constexpr (NeedMax) {
162
366
                    _max = std::max(_max, *(data + i));
163
366
                }
164
366
            }
165
174
        }
166
174
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
145
52
    void _update_batch(const ColumnPtr& column, size_t start) {
146
52
        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
52
        } else {
156
52
            const T* data = (T*)column->get_raw_data().data;
157
220
            for (size_t i = start; i < size; i++) {
158
168
                if constexpr (NeedMin) {
159
168
                    _min = std::min(_min, *(data + i));
160
168
                }
161
168
                if constexpr (NeedMax) {
162
168
                    _max = std::max(_max, *(data + i));
163
168
                }
164
168
            }
165
52
        }
166
52
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
145
102
    void _update_batch(const ColumnPtr& column, size_t start) {
146
102
        const auto size = column->size();
147
102
        if constexpr (std::is_same_v<T, std::string>) {
148
102
            if (column->is_column_string64()) {
149
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
1
                                     size);
151
101
            } else {
152
101
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
101
                                     size);
154
101
            }
155
        } else {
156
            const T* data = (T*)column->get_raw_data().data;
157
            for (size_t i = start; i < size; i++) {
158
                if constexpr (NeedMin) {
159
                    _min = std::min(_min, *(data + i));
160
                }
161
                if constexpr (NeedMax) {
162
                    _max = std::max(_max, *(data + i));
163
                }
164
            }
165
        }
166
102
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
145
1
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1
        } else {
156
1
            const T* data = (T*)column->get_raw_data().data;
157
4
            for (size_t i = start; i < size; i++) {
158
3
                if constexpr (NeedMin) {
159
3
                    _min = std::min(_min, *(data + i));
160
3
                }
161
3
                if constexpr (NeedMax) {
162
3
                    _max = std::max(_max, *(data + i));
163
3
                }
164
3
            }
165
1
        }
166
1
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
145
20
    void _update_batch(const ColumnPtr& column, size_t start) {
146
20
        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
20
        } else {
156
20
            const T* data = (T*)column->get_raw_data().data;
157
170
            for (size_t i = start; i < size; i++) {
158
150
                if constexpr (NeedMin) {
159
150
                    _min = std::min(_min, *(data + i));
160
150
                }
161
150
                if constexpr (NeedMax) {
162
150
                    _max = std::max(_max, *(data + i));
163
150
                }
164
150
            }
165
20
        }
166
20
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
145
23
    void _update_batch(const ColumnPtr& column, size_t start) {
146
23
        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
23
        } else {
156
23
            const T* data = (T*)column->get_raw_data().data;
157
60
            for (size_t i = start; i < size; i++) {
158
37
                if constexpr (NeedMin) {
159
37
                    _min = std::min(_min, *(data + i));
160
37
                }
161
37
                if constexpr (NeedMax) {
162
37
                    _max = std::max(_max, *(data + i));
163
37
                }
164
37
            }
165
23
        }
166
23
    }
_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
4.87k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
4.87k
        const auto size = column->size();
170
4.87k
        if constexpr (std::is_same_v<T, std::string>) {
171
149
            if (column->is_column_string64()) {
172
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
0
                                     start, size);
174
149
            } else {
175
149
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
149
                                     start, size);
177
149
            }
178
4.72k
        } else {
179
4.72k
            const T* data = (T*)column->get_raw_data().data;
180
1.89M
            for (size_t i = start; i < size; i++) {
181
1.89M
                if (!nullmap[i]) {
182
1.89M
                    if constexpr (NeedMin) {
183
1.89M
                        _min = std::min(_min, *(data + i));
184
1.89M
                    }
185
1.89M
                    if constexpr (NeedMax) {
186
1.89M
                        _max = std::max(_max, *(data + i));
187
1.89M
                    }
188
1.89M
                }
189
1.89M
            }
190
4.72k
        }
191
4.87k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
1
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
1
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
1
        } else {
179
1
            const T* data = (T*)column->get_raw_data().data;
180
2
            for (size_t i = start; i < size; i++) {
181
1
                if (!nullmap[i]) {
182
1
                    if constexpr (NeedMin) {
183
1
                        _min = std::min(_min, *(data + i));
184
1
                    }
185
1
                    if constexpr (NeedMax) {
186
1
                        _max = std::max(_max, *(data + i));
187
1
                    }
188
1
                }
189
1
            }
190
1
        }
191
1
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
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
32
            for (size_t i = start; i < size; i++) {
181
24
                if (!nullmap[i]) {
182
23
                    if constexpr (NeedMin) {
183
23
                        _min = std::min(_min, *(data + i));
184
23
                    }
185
23
                    if constexpr (NeedMax) {
186
23
                        _max = std::max(_max, *(data + i));
187
23
                    }
188
23
                }
189
24
            }
190
8
        }
191
8
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
111
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
111
        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
111
        } else {
179
111
            const T* data = (T*)column->get_raw_data().data;
180
351
            for (size_t i = start; i < size; i++) {
181
240
                if (!nullmap[i]) {
182
236
                    if constexpr (NeedMin) {
183
236
                        _min = std::min(_min, *(data + i));
184
236
                    }
185
236
                    if constexpr (NeedMax) {
186
236
                        _max = std::max(_max, *(data + i));
187
236
                    }
188
236
                }
189
240
            }
190
111
        }
191
111
    }
_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
342
            for (size_t i = start; i < size; i++) {
181
269
                if (!nullmap[i]) {
182
268
                    if constexpr (NeedMin) {
183
268
                        _min = std::min(_min, *(data + i));
184
268
                    }
185
268
                    if constexpr (NeedMax) {
186
268
                        _max = std::max(_max, *(data + i));
187
268
                    }
188
268
                }
189
269
            }
190
73
        }
191
73
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
3.22k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
3.22k
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
3.22k
        } else {
179
3.22k
            const T* data = (T*)column->get_raw_data().data;
180
1.89M
            for (size_t i = start; i < size; i++) {
181
1.88M
                if (!nullmap[i]) {
182
1.88M
                    if constexpr (NeedMin) {
183
1.88M
                        _min = std::min(_min, *(data + i));
184
1.88M
                    }
185
1.88M
                    if constexpr (NeedMax) {
186
1.88M
                        _max = std::max(_max, *(data + i));
187
1.88M
                    }
188
1.88M
                }
189
1.88M
            }
190
3.22k
        }
191
3.22k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
778
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
778
        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
778
        } else {
179
778
            const T* data = (T*)column->get_raw_data().data;
180
3.23k
            for (size_t i = start; i < size; i++) {
181
2.45k
                if (!nullmap[i]) {
182
2.21k
                    if constexpr (NeedMin) {
183
2.21k
                        _min = std::min(_min, *(data + i));
184
2.21k
                    }
185
2.21k
                    if constexpr (NeedMax) {
186
2.21k
                        _max = std::max(_max, *(data + i));
187
2.21k
                    }
188
2.21k
                }
189
2.45k
            }
190
778
        }
191
778
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
3
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
3
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
3
        } else {
179
3
            const T* data = (T*)column->get_raw_data().data;
180
6
            for (size_t i = start; i < size; i++) {
181
3
                if (!nullmap[i]) {
182
3
                    if constexpr (NeedMin) {
183
3
                        _min = std::min(_min, *(data + i));
184
3
                    }
185
3
                    if constexpr (NeedMax) {
186
3
                        _max = std::max(_max, *(data + i));
187
3
                    }
188
3
                }
189
3
            }
190
3
        }
191
3
    }
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
43
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
43
        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
43
        } else {
179
43
            const T* data = (T*)column->get_raw_data().data;
180
86
            for (size_t i = start; i < size; i++) {
181
43
                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
43
            }
190
43
        }
191
43
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
6
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
6
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
6
        } else {
179
6
            const T* data = (T*)column->get_raw_data().data;
180
36
            for (size_t i = start; i < size; i++) {
181
30
                if (!nullmap[i]) {
182
30
                    if constexpr (NeedMin) {
183
30
                        _min = std::min(_min, *(data + i));
184
30
                    }
185
30
                    if constexpr (NeedMax) {
186
30
                        _max = std::max(_max, *(data + i));
187
30
                    }
188
30
                }
189
30
            }
190
6
        }
191
6
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
9
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
9
        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
9
        } else {
179
9
            const T* data = (T*)column->get_raw_data().data;
180
18
            for (size_t i = start; i < size; i++) {
181
9
                if (!nullmap[i]) {
182
9
                    if constexpr (NeedMin) {
183
9
                        _min = std::min(_min, *(data + i));
184
9
                    }
185
9
                    if constexpr (NeedMax) {
186
9
                        _max = std::max(_max, *(data + i));
187
9
                    }
188
9
                }
189
9
            }
190
9
        }
191
9
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
299
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
299
        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
299
        } else {
179
299
            const T* data = (T*)column->get_raw_data().data;
180
621
            for (size_t i = start; i < size; i++) {
181
323
                if (!nullmap[i]) {
182
323
                    if constexpr (NeedMin) {
183
323
                        _min = std::min(_min, *(data + i));
184
323
                    }
185
323
                    if constexpr (NeedMax) {
186
323
                        _max = std::max(_max, *(data + i));
187
323
                    }
188
323
                }
189
322
            }
190
299
        }
191
299
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
6
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
6
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
6
        } else {
179
6
            const T* data = (T*)column->get_raw_data().data;
180
24
            for (size_t i = start; i < size; i++) {
181
18
                if (!nullmap[i]) {
182
18
                    if constexpr (NeedMin) {
183
18
                        _min = std::min(_min, *(data + i));
184
18
                    }
185
18
                    if constexpr (NeedMax) {
186
18
                        _max = std::max(_max, *(data + i));
187
18
                    }
188
18
                }
189
18
            }
190
6
        }
191
6
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
149
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
149
        const auto size = column->size();
170
149
        if constexpr (std::is_same_v<T, std::string>) {
171
149
            if (column->is_column_string64()) {
172
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
0
                                     start, size);
174
149
            } else {
175
149
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
149
                                     start, size);
177
149
            }
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
149
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE13_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
3
            for (size_t i = start; i < size; i++) {
181
2
                if (!nullmap[i]) {
182
2
                    if constexpr (NeedMin) {
183
2
                        _min = std::min(_min, *(data + i));
184
2
                    }
185
2
                    if constexpr (NeedMax) {
186
2
                        _max = std::max(_max, *(data + i));
187
2
                    }
188
2
                }
189
2
            }
190
1
        }
191
1
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
121
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
121
        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
121
        } else {
179
121
            const T* data = (T*)column->get_raw_data().data;
180
246
            for (size_t i = start; i < size; i++) {
181
125
                if (!nullmap[i]) {
182
124
                    if constexpr (NeedMin) {
183
124
                        _min = std::min(_min, *(data + i));
184
124
                    }
185
124
                    if constexpr (NeedMax) {
186
124
                        _max = std::max(_max, *(data + i));
187
124
                    }
188
124
                }
189
125
            }
190
121
        }
191
121
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_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
46
            for (size_t i = start; i < size; i++) {
181
35
                if (!nullmap[i]) {
182
25
                    if constexpr (NeedMin) {
183
25
                        _min = std::min(_min, *(data + i));
184
25
                    }
185
25
                    if constexpr (NeedMax) {
186
25
                        _max = std::max(_max, *(data + i));
187
25
                    }
188
25
                }
189
35
            }
190
11
        }
191
11
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
24
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
24
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
24
        } else {
179
24
            const T* data = (T*)column->get_raw_data().data;
180
312
            for (size_t i = start; i < size; i++) {
181
288
                if (!nullmap[i]) {
182
285
                    if constexpr (NeedMin) {
183
285
                        _min = std::min(_min, *(data + i));
184
285
                    }
185
285
                    if constexpr (NeedMax) {
186
285
                        _max = std::max(_max, *(data + i));
187
285
                    }
188
285
                }
189
288
            }
190
24
        }
191
24
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
3
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
3
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
3
        } else {
179
3
            const T* data = (T*)column->get_raw_data().data;
180
441
            for (size_t i = start; i < size; i++) {
181
438
                if (!nullmap[i]) {
182
410
                    if constexpr (NeedMin) {
183
410
                        _min = std::min(_min, *(data + i));
184
410
                    }
185
410
                    if constexpr (NeedMax) {
186
410
                        _max = std::max(_max, *(data + i));
187
410
                    }
188
410
                }
189
438
            }
190
3
        }
191
3
    }
192
193
    T _max = type_limit<T>::min();
194
    T _min = type_limit<T>::max();
195
196
    bool _min_value_set = false;
197
};
198
199
template <class T>
200
using MinNumFunc = MinMaxNumFunc<T, false, true>;
201
202
template <class T>
203
using MaxNumFunc = MinMaxNumFunc<T, true, false>;
204
205
} // namespace doris