Coverage Report

Created: 2026-10-21 08:35

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
22.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
22.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
22.3k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIhLb1ELb1EEC2Eb
Line
Count
Source
51
17
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EEC2Eb
Line
Count
Source
51
14
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIaLb1ELb1EEC2Eb
Line
Count
Source
51
255
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIsLb1ELb1EEC2Eb
Line
Count
Source
51
240
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIiLb1ELb1EEC2Eb
Line
Count
Source
51
12.8k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIlLb1ELb1EEC2Eb
Line
Count
Source
51
4.80k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncInLb1ELb1EEC2Eb
Line
Count
Source
51
345
    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
72
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EEC2Eb
Line
Count
Source
51
51
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
51
621
    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
13
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EEC2Eb
Line
Count
Source
51
17
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EEC2Eb
Line
Count
Source
51
257
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EEC2Eb
Line
Count
Source
51
36
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EEC2Eb
Line
Count
Source
51
25
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EEC2Eb
Line
Count
Source
51
96
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EEC2Eb
Line
Count
Source
51
29
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIjLb1ELb1EEC2Eb
Line
Count
Source
51
38
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIoLb1ELb1EEC2Eb
Line
Count
Source
51
143
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
52
259
    ~MinMaxNumFunc() override = default;
53
54
6.81k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
6.81k
        if (is_column_nullable(*column)) {
56
3.84k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
3.84k
            const auto& col = nullable->get_nested_column_ptr();
58
3.84k
            const auto& nullmap = nullable->get_null_map_data();
59
3.84k
            if (nullable->has_null()) {
60
3.01k
                _update_batch(col, nullmap, start);
61
3.01k
                _contain_null = true;
62
3.01k
            } else {
63
824
                _update_batch(col, start);
64
824
            }
65
3.84k
        } else {
66
2.97k
            _update_batch(column, start);
67
2.97k
        }
68
6.81k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
3
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
3
        if (is_column_nullable(*column)) {
56
3
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
3
            const auto& col = nullable->get_nested_column_ptr();
58
3
            const auto& nullmap = nullable->get_null_map_data();
59
3
            if (nullable->has_null()) {
60
3
                _update_batch(col, nullmap, start);
61
3
                _contain_null = true;
62
3
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
3
        } else {
66
0
            _update_batch(column, start);
67
0
        }
68
3
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
3
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
3
        if (is_column_nullable(*column)) {
56
2
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
2
            const auto& col = nullable->get_nested_column_ptr();
58
2
            const auto& nullmap = nullable->get_null_map_data();
59
2
            if (nullable->has_null()) {
60
2
                _update_batch(col, nullmap, start);
61
2
                _contain_null = true;
62
2
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
2
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
3
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
110
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
110
        if (is_column_nullable(*column)) {
56
100
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
100
            const auto& col = nullable->get_nested_column_ptr();
58
100
            const auto& nullmap = nullable->get_null_map_data();
59
100
            if (nullable->has_null()) {
60
84
                _update_batch(col, nullmap, start);
61
84
                _contain_null = true;
62
84
            } else {
63
16
                _update_batch(col, start);
64
16
            }
65
100
        } else {
66
10
            _update_batch(column, start);
67
10
        }
68
110
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
102
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
102
        if (is_column_nullable(*column)) {
56
102
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
102
            const auto& col = nullable->get_nested_column_ptr();
58
102
            const auto& nullmap = nullable->get_null_map_data();
59
102
            if (nullable->has_null()) {
60
101
                _update_batch(col, nullmap, start);
61
101
                _contain_null = true;
62
101
            } else {
63
1
                _update_batch(col, start);
64
1
            }
65
102
        } else {
66
0
            _update_batch(column, start);
67
0
        }
68
102
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
3.41k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
3.41k
        if (is_column_nullable(*column)) {
56
1.84k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
1.84k
            const auto& col = nullable->get_nested_column_ptr();
58
1.84k
            const auto& nullmap = nullable->get_null_map_data();
59
1.84k
            if (nullable->has_null()) {
60
1.16k
                _update_batch(col, nullmap, start);
61
1.16k
                _contain_null = true;
62
1.16k
            } else {
63
685
                _update_batch(col, start);
64
685
            }
65
1.84k
        } else {
66
1.56k
            _update_batch(column, start);
67
1.56k
        }
68
3.41k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
2.07k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
2.07k
        if (is_column_nullable(*column)) {
56
1.19k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
1.19k
            const auto& col = nullable->get_nested_column_ptr();
58
1.19k
            const auto& nullmap = nullable->get_null_map_data();
59
1.19k
            if (nullable->has_null()) {
60
1.12k
                _update_batch(col, nullmap, start);
61
1.12k
                _contain_null = true;
62
1.12k
            } else {
63
78
                _update_batch(col, start);
64
78
            }
65
1.19k
        } else {
66
877
            _update_batch(column, start);
67
877
        }
68
2.07k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
183
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
183
        if (is_column_nullable(*column)) {
56
4
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
4
            const auto& col = nullable->get_nested_column_ptr();
58
4
            const auto& nullmap = nullable->get_null_map_data();
59
4
            if (nullable->has_null()) {
60
4
                _update_batch(col, nullmap, start);
61
4
                _contain_null = true;
62
4
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
179
        } else {
66
179
            _update_batch(column, start);
67
179
        }
68
183
    }
_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
37
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
37
        if (is_column_nullable(*column)) {
56
36
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
36
            const auto& col = nullable->get_nested_column_ptr();
58
36
            const auto& nullmap = nullable->get_null_map_data();
59
36
            if (nullable->has_null()) {
60
27
                _update_batch(col, nullmap, start);
61
27
                _contain_null = true;
62
27
            } else {
63
9
                _update_batch(col, start);
64
9
            }
65
36
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
37
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_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
23
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
23
            const auto& col = nullable->get_nested_column_ptr();
58
23
            const auto& nullmap = nullable->get_null_map_data();
59
23
            if (nullable->has_null()) {
60
23
                _update_batch(col, nullmap, start);
61
23
                _contain_null = true;
62
23
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
23
        } else {
66
2
            _update_batch(column, start);
67
2
        }
68
25
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
54
249
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
249
        if (is_column_nullable(*column)) {
56
16
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
16
            const auto& col = nullable->get_nested_column_ptr();
58
16
            const auto& nullmap = nullable->get_null_map_data();
59
16
            if (nullable->has_null()) {
60
16
                _update_batch(col, nullmap, start);
61
16
                _contain_null = true;
62
16
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
233
        } else {
66
233
            _update_batch(column, start);
67
233
        }
68
249
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
54
301
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
301
        if (is_column_nullable(*column)) {
56
266
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
266
            const auto& col = nullable->get_nested_column_ptr();
58
266
            const auto& nullmap = nullable->get_null_map_data();
59
266
            if (nullable->has_null()) {
60
266
                _update_batch(col, nullmap, start);
61
266
                _contain_null = true;
62
266
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
266
        } else {
66
35
            _update_batch(column, start);
67
35
        }
68
301
    }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE16insert_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
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
0
            _update_batch(column, start);
67
0
        }
68
8
    }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE16insert_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
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
0
            _update_batch(column, start);
67
0
        }
68
8
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
54
109
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
109
        if (is_column_nullable(*column)) {
56
65
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
65
            const auto& col = nullable->get_nested_column_ptr();
58
65
            const auto& nullmap = nullable->get_null_map_data();
59
65
            if (nullable->has_null()) {
60
54
                _update_batch(col, nullmap, start);
61
54
                _contain_null = true;
62
54
            } else {
63
11
                _update_batch(col, start);
64
11
            }
65
65
        } else {
66
44
            _update_batch(column, start);
67
44
        }
68
109
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
54
18
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
18
        if (is_column_nullable(*column)) {
56
17
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
17
            const auto& col = nullable->get_nested_column_ptr();
58
17
            const auto& nullmap = nullable->get_null_map_data();
59
17
            if (nullable->has_null()) {
60
17
                _update_batch(col, nullmap, start);
61
17
                _contain_null = true;
62
17
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
17
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
18
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
54
12
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
12
        if (is_column_nullable(*column)) {
56
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
11
        } else {
66
11
            _update_batch(column, start);
67
11
        }
68
12
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
52
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
52
        if (is_column_nullable(*column)) {
56
45
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
45
            const auto& col = nullable->get_nested_column_ptr();
58
45
            const auto& nullmap = nullable->get_null_map_data();
59
45
            if (nullable->has_null()) {
60
23
                _update_batch(col, nullmap, start);
61
23
                _contain_null = true;
62
23
            } else {
63
22
                _update_batch(col, start);
64
22
            }
65
45
        } else {
66
7
            _update_batch(column, start);
67
7
        }
68
52
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EEm
Line
Count
Source
54
13
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
13
        if (is_column_nullable(*column)) {
56
12
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
12
            const auto& col = nullable->get_nested_column_ptr();
58
12
            const auto& nullmap = nullable->get_null_map_data();
59
12
            if (nullable->has_null()) {
60
12
                _update_batch(col, nullmap, start);
61
12
                _contain_null = true;
62
12
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
12
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
13
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
33
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
33
        if (is_column_nullable(*column)) {
56
32
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
32
            const auto& col = nullable->get_nested_column_ptr();
58
32
            const auto& nullmap = nullable->get_null_map_data();
59
32
            if (nullable->has_null()) {
60
32
                _update_batch(col, nullmap, start);
61
32
                _contain_null = true;
62
32
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
32
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
33
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
58
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
58
        if (is_column_nullable(*column)) {
56
53
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
53
            const auto& col = nullable->get_nested_column_ptr();
58
53
            const auto& nullmap = nullable->get_null_map_data();
59
53
            if (nullable->has_null()) {
60
51
                _update_batch(col, nullmap, start);
61
51
                _contain_null = true;
62
51
            } else {
63
2
                _update_batch(col, start);
64
2
            }
65
53
        } else {
66
5
            _update_batch(column, start);
67
5
        }
68
58
    }
69
70
11.7k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
11.7k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
11.7k
        if constexpr (NeedMin) {
73
11.7k
            if constexpr (IsStringValue) {
74
98
                if (other_minmax->_min < _min || !_min_value_set) {
75
16
                    _min = other_minmax->_min;
76
16
                    _min_value_set = true;
77
16
                }
78
11.6k
            } else if (other_minmax->_min < _min) {
79
865
                _min = other_minmax->_min;
80
865
            }
81
11.7k
        }
82
11.7k
        if constexpr (NeedMax) {
83
11.7k
            if (other_minmax->_max > _max) {
84
875
                _max = other_minmax->_max;
85
875
            }
86
11.7k
        }
87
88
11.7k
        _contain_null |= minmax_func->contain_null();
89
11.7k
        return Status::OK();
90
11.7k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
8
    Status merge(MinMaxFuncBase* minmax_func) override {
71
8
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
8
        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
8
            } else if (other_minmax->_min < _min) {
79
2
                _min = other_minmax->_min;
80
2
            }
81
8
        }
82
8
        if constexpr (NeedMax) {
83
8
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
8
        }
87
88
8
        _contain_null |= minmax_func->contain_null();
89
8
        return Status::OK();
90
8
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
47
    Status merge(MinMaxFuncBase* minmax_func) override {
71
47
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
47
        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
47
            } else if (other_minmax->_min < _min) {
79
9
                _min = other_minmax->_min;
80
9
            }
81
47
        }
82
47
        if constexpr (NeedMax) {
83
47
            if (other_minmax->_max > _max) {
84
9
                _max = other_minmax->_max;
85
9
            }
86
47
        }
87
88
47
        _contain_null |= minmax_func->contain_null();
89
47
        return Status::OK();
90
47
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
66
    Status merge(MinMaxFuncBase* minmax_func) override {
71
66
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
66
        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
66
            } else if (other_minmax->_min < _min) {
79
8
                _min = other_minmax->_min;
80
8
            }
81
66
        }
82
66
        if constexpr (NeedMax) {
83
66
            if (other_minmax->_max > _max) {
84
6
                _max = other_minmax->_max;
85
6
            }
86
66
        }
87
88
66
        _contain_null |= minmax_func->contain_null();
89
66
        return Status::OK();
90
66
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
7.41k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
7.41k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
7.41k
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
7.41k
            } else if (other_minmax->_min < _min) {
79
617
                _min = other_minmax->_min;
80
617
            }
81
7.41k
        }
82
7.41k
        if constexpr (NeedMax) {
83
7.41k
            if (other_minmax->_max > _max) {
84
593
                _max = other_minmax->_max;
85
593
            }
86
7.41k
        }
87
88
7.41k
        _contain_null |= minmax_func->contain_null();
89
7.41k
        return Status::OK();
90
7.41k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
1.25k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
1.25k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
1.25k
        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.25k
            } else if (other_minmax->_min < _min) {
79
71
                _min = other_minmax->_min;
80
71
            }
81
1.25k
        }
82
1.25k
        if constexpr (NeedMax) {
83
1.25k
            if (other_minmax->_max > _max) {
84
71
                _max = other_minmax->_max;
85
71
            }
86
1.25k
        }
87
88
1.25k
        _contain_null |= minmax_func->contain_null();
89
1.25k
        return Status::OK();
90
1.25k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
208
    Status merge(MinMaxFuncBase* minmax_func) override {
71
208
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
208
        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
208
            } else if (other_minmax->_min < _min) {
79
7
                _min = other_minmax->_min;
80
7
            }
81
208
        }
82
208
        if constexpr (NeedMax) {
83
208
            if (other_minmax->_max > _max) {
84
4
                _max = other_minmax->_max;
85
4
            }
86
208
        }
87
88
208
        _contain_null |= minmax_func->contain_null();
89
208
        return Status::OK();
90
208
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
26
    Status merge(MinMaxFuncBase* minmax_func) override {
71
26
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
26
        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
26
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
26
        }
82
26
        if constexpr (NeedMax) {
83
26
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
26
        }
87
88
26
        _contain_null |= minmax_func->contain_null();
89
26
        return Status::OK();
90
26
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
18
    Status merge(MinMaxFuncBase* minmax_func) override {
71
18
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
18
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
18
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
18
        }
82
18
        if constexpr (NeedMax) {
83
18
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
18
        }
87
88
18
        _contain_null |= minmax_func->contain_null();
89
18
        return Status::OK();
90
18
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
324
    Status merge(MinMaxFuncBase* minmax_func) override {
71
324
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
324
        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
324
            } else if (other_minmax->_min < _min) {
79
46
                _min = other_minmax->_min;
80
46
            }
81
324
        }
82
324
        if constexpr (NeedMax) {
83
324
            if (other_minmax->_max > _max) {
84
50
                _max = other_minmax->_max;
85
50
            }
86
324
        }
87
88
324
        _contain_null |= minmax_func->contain_null();
89
324
        return Status::OK();
90
324
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
2.09k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
2.09k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
2.09k
        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.09k
            } else if (other_minmax->_min < _min) {
79
103
                _min = other_minmax->_min;
80
103
            }
81
2.09k
        }
82
2.09k
        if constexpr (NeedMax) {
83
2.09k
            if (other_minmax->_max > _max) {
84
127
                _max = other_minmax->_max;
85
127
            }
86
2.09k
        }
87
88
2.09k
        _contain_null |= minmax_func->contain_null();
89
2.09k
        return Status::OK();
90
2.09k
    }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
6
    Status merge(MinMaxFuncBase* minmax_func) override {
71
6
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
6
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
6
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
6
        }
82
6
        if constexpr (NeedMax) {
83
6
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
6
        }
87
88
6
        _contain_null |= minmax_func->contain_null();
89
6
        return Status::OK();
90
6
    }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
11
    Status merge(MinMaxFuncBase* minmax_func) override {
71
11
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
11
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
11
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
11
        }
82
11
        if constexpr (NeedMax) {
83
11
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
11
        }
87
88
11
        _contain_null |= minmax_func->contain_null();
89
11
        return Status::OK();
90
11
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
98
    Status merge(MinMaxFuncBase* minmax_func) override {
71
98
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
98
        if constexpr (NeedMin) {
73
98
            if constexpr (IsStringValue) {
74
98
                if (other_minmax->_min < _min || !_min_value_set) {
75
16
                    _min = other_minmax->_min;
76
16
                    _min_value_set = true;
77
16
                }
78
            } else if (other_minmax->_min < _min) {
79
                _min = other_minmax->_min;
80
            }
81
98
        }
82
98
        if constexpr (NeedMax) {
83
98
            if (other_minmax->_max > _max) {
84
11
                _max = other_minmax->_max;
85
11
            }
86
98
        }
87
88
98
        _contain_null |= minmax_func->contain_null();
89
98
        return Status::OK();
90
98
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
2
    Status merge(MinMaxFuncBase* minmax_func) override {
71
2
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
2
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
2
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
2
        }
82
2
        if constexpr (NeedMax) {
83
2
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
2
        }
87
88
2
        _contain_null |= minmax_func->contain_null();
89
2
        return Status::OK();
90
2
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
25
    Status merge(MinMaxFuncBase* minmax_func) override {
71
25
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
25
        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
25
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
25
        }
82
25
        if constexpr (NeedMax) {
83
25
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
25
        }
87
88
25
        _contain_null |= minmax_func->contain_null();
89
25
        return Status::OK();
90
25
    }
_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
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE5mergeEPNS_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
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
82
    Status merge(MinMaxFuncBase* minmax_func) override {
71
82
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
82
        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
82
            } else if (other_minmax->_min < _min) {
79
2
                _min = other_minmax->_min;
80
2
            }
81
82
        }
82
82
        if constexpr (NeedMax) {
83
82
            if (other_minmax->_max > _max) {
84
4
                _max = other_minmax->_max;
85
4
            }
86
82
        }
87
88
82
        _contain_null |= minmax_func->contain_null();
89
82
        return Status::OK();
90
82
    }
91
92
676
    MinMaxFuncBase* clone() const override {
93
676
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
676
        cloned->_max = _max;
95
676
        cloned->_min = _min;
96
676
        cloned->_min_value_set = _min_value_set;
97
676
        cloned->_contain_null = _contain_null;
98
676
        return cloned;
99
676
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncIhLb1ELb1EE5cloneEv
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncIaLb1ELb1EE5cloneEv
Line
Count
Source
92
10
    MinMaxFuncBase* clone() const override {
93
10
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
10
        cloned->_max = _max;
95
10
        cloned->_min = _min;
96
10
        cloned->_min_value_set = _min_value_set;
97
10
        cloned->_contain_null = _contain_null;
98
10
        return cloned;
99
10
    }
_ZNK5doris13MinMaxNumFuncIsLb1ELb1EE5cloneEv
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
    }
_ZNK5doris13MinMaxNumFuncIiLb1ELb1EE5cloneEv
Line
Count
Source
92
449
    MinMaxFuncBase* clone() const override {
93
449
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
449
        cloned->_max = _max;
95
449
        cloned->_min = _min;
96
449
        cloned->_min_value_set = _min_value_set;
97
449
        cloned->_contain_null = _contain_null;
98
449
        return cloned;
99
449
    }
_ZNK5doris13MinMaxNumFuncIlLb1ELb1EE5cloneEv
Line
Count
Source
92
115
    MinMaxFuncBase* clone() const override {
93
115
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
115
        cloned->_max = _max;
95
115
        cloned->_min = _min;
96
115
        cloned->_min_value_set = _min_value_set;
97
115
        cloned->_contain_null = _contain_null;
98
115
        return cloned;
99
115
    }
_ZNK5doris13MinMaxNumFuncInLb1ELb1EE5cloneEv
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
    }
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
3
    MinMaxFuncBase* clone() const override {
93
3
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
3
        cloned->_max = _max;
95
3
        cloned->_min = _min;
96
3
        cloned->_min_value_set = _min_value_set;
97
3
        cloned->_contain_null = _contain_null;
98
3
        return cloned;
99
3
    }
_ZNK5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5cloneEv
Line
Count
Source
92
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
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_16TimeStampNsValueELb1ELb1EE5cloneEv
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_16TimestampTzValueELb1ELb1EE5cloneEv
Line
Count
Source
92
2
    MinMaxFuncBase* clone() const override {
93
2
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
2
        cloned->_max = _max;
95
2
        cloned->_min = _min;
96
2
        cloned->_min_value_set = _min_value_set;
97
2
        cloned->_contain_null = _contain_null;
98
2
        return cloned;
99
2
    }
_ZNK5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5cloneEv
Line
Count
Source
92
4
    MinMaxFuncBase* clone() const override {
93
4
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
4
        cloned->_max = _max;
95
4
        cloned->_min = _min;
96
4
        cloned->_min_value_set = _min_value_set;
97
4
        cloned->_contain_null = _contain_null;
98
4
        return cloned;
99
4
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5cloneEv
Line
Count
Source
92
1
    MinMaxFuncBase* clone() const override {
93
1
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
1
        cloned->_max = _max;
95
1
        cloned->_min = _min;
96
1
        cloned->_min_value_set = _min_value_set;
97
1
        cloned->_contain_null = _contain_null;
98
1
        return cloned;
99
1
    }
_ZNK5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5cloneEv
Line
Count
Source
92
3
    MinMaxFuncBase* clone() const override {
93
3
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
3
        cloned->_max = _max;
95
3
        cloned->_min = _min;
96
3
        cloned->_min_value_set = _min_value_set;
97
3
        cloned->_contain_null = _contain_null;
98
3
        return cloned;
99
3
    }
_ZNK5doris13MinMaxNumFuncINS_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
    }
_ZNK5doris13MinMaxNumFuncIjLb1ELb1EE5cloneEv
Line
Count
Source
92
2
    MinMaxFuncBase* clone() const override {
93
2
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
2
        cloned->_max = _max;
95
2
        cloned->_min = _min;
96
2
        cloned->_min_value_set = _min_value_set;
97
2
        cloned->_contain_null = _contain_null;
98
2
        return cloned;
99
2
    }
_ZNK5doris13MinMaxNumFuncIoLb1ELb1EE5cloneEv
Line
Count
Source
92
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
    }
100
101
4.98k
    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
8
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_maxEv
Line
Count
Source
101
93
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_maxEv
Line
Count
Source
101
66
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_maxEv
Line
Count
Source
101
2.59k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_maxEv
Line
Count
Source
101
1.67k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_maxEv
Line
Count
Source
101
59
    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
17
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
17
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
117
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
160
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
3
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
73
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_maxEv
Line
Count
Source
101
19
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_maxEv
Line
Count
Source
101
11
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_maxEv
Line
Count
Source
101
24
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
12
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_maxEv
Line
Count
Source
101
4
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_maxEv
Line
Count
Source
101
24
    void* get_max() override { return &_max; }
102
103
5.00k
    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
8
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_minEv
Line
Count
Source
103
93
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_minEv
Line
Count
Source
103
66
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_minEv
Line
Count
Source
103
2.59k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_minEv
Line
Count
Source
103
1.68k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_minEv
Line
Count
Source
103
54
    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
15
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_minEv
Line
Count
Source
103
17
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
103
119
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
103
162
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE7get_minEv
Line
Count
Source
103
3
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_minEv
Line
Count
Source
103
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_minEv
Line
Count
Source
103
79
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_minEv
Line
Count
Source
103
19
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_minEv
Line
Count
Source
103
11
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_minEv
Line
Count
Source
103
27
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_minEv
Line
Count
Source
103
14
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_minEv
Line
Count
Source
103
4
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_minEv
Line
Count
Source
103
24
    void* get_min() override { return &_min; }
104
105
1.27k
    Status assign(void* min_data, void* max_data) override {
106
1.27k
        if constexpr (IsStringValue) {
107
43
            _min_value_set = true;
108
43
        }
109
1.27k
        _min = *(T*)min_data;
110
1.27k
        _max = *(T*)max_data;
111
1.27k
        return Status::OK();
112
1.27k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
4
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
4
        _min = *(T*)min_data;
110
4
        _max = *(T*)max_data;
111
4
        return Status::OK();
112
4
    }
_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
7
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
7
        _min = *(T*)min_data;
110
7
        _max = *(T*)max_data;
111
7
        return Status::OK();
112
7
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
41
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
41
        _min = *(T*)min_data;
110
41
        _max = *(T*)max_data;
111
41
        return Status::OK();
112
41
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
851
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
851
        _min = *(T*)min_data;
110
851
        _max = *(T*)max_data;
111
851
        return Status::OK();
112
851
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
113
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
113
        _min = *(T*)min_data;
110
113
        _max = *(T*)max_data;
111
113
        return Status::OK();
112
113
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
9
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
9
        _min = *(T*)min_data;
110
9
        _max = *(T*)max_data;
111
9
        return Status::OK();
112
9
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
3
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
3
        _min = *(T*)min_data;
110
3
        _max = *(T*)max_data;
111
3
        return Status::OK();
112
3
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE6assignEPvS3_
Line
Count
Source
105
2
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
2
        _min = *(T*)min_data;
110
2
        _max = *(T*)max_data;
111
2
        return Status::OK();
112
2
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
105
67
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
67
        _min = *(T*)min_data;
110
67
        _max = *(T*)max_data;
111
67
        return Status::OK();
112
67
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
105
111
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
111
        _min = *(T*)min_data;
110
111
        _max = *(T*)max_data;
111
111
        return Status::OK();
112
111
    }
_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
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_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
11
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
11
        _min = *(T*)min_data;
110
11
        _max = *(T*)max_data;
111
11
        return Status::OK();
112
11
    }
113
114
1.59k
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
4
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
6
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
43
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
1.09k
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
173
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
8
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
6
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
66
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
110
    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
57
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
4
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
14
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
10
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
115
116
private:
117
1.59k
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
1.59k
        if constexpr (NeedMin) {
119
1.59k
            f(filter->mutable_min_val(), _min);
120
1.59k
        }
121
1.59k
        if constexpr (NeedMax) {
122
1.59k
            f(filter->mutable_max_val(), _max);
123
1.59k
        }
124
1.59k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7_set_pbIZNS_13get_convertorIhEEDavEUlPNS_12PColumnValueERKhE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
4
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
4
        if constexpr (NeedMin) {
119
4
            f(filter->mutable_min_val(), _min);
120
4
        }
121
4
        if constexpr (NeedMax) {
122
4
            f(filter->mutable_max_val(), _max);
123
4
        }
124
4
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7_set_pbIZNS_13get_convertorIaEEDavEUlPNS_12PColumnValueERKaE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
6
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
6
        if constexpr (NeedMin) {
119
6
            f(filter->mutable_min_val(), _min);
120
6
        }
121
6
        if constexpr (NeedMax) {
122
6
            f(filter->mutable_max_val(), _max);
123
6
        }
124
6
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7_set_pbIZNS_13get_convertorIsEEDavEUlPNS_12PColumnValueERKsE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
43
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
43
        if constexpr (NeedMin) {
119
43
            f(filter->mutable_min_val(), _min);
120
43
        }
121
43
        if constexpr (NeedMax) {
122
43
            f(filter->mutable_max_val(), _max);
123
43
        }
124
43
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7_set_pbIZNS_13get_convertorIiEEDavEUlPNS_12PColumnValueERKiE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
1.09k
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
1.09k
        if constexpr (NeedMin) {
119
1.09k
            f(filter->mutable_min_val(), _min);
120
1.09k
        }
121
1.09k
        if constexpr (NeedMax) {
122
1.09k
            f(filter->mutable_max_val(), _max);
123
1.09k
        }
124
1.09k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7_set_pbIZNS_13get_convertorIlEEDavEUlPNS_12PColumnValueERKlE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
173
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
173
        if constexpr (NeedMin) {
119
173
            f(filter->mutable_min_val(), _min);
120
173
        }
121
173
        if constexpr (NeedMax) {
122
173
            f(filter->mutable_max_val(), _max);
123
173
        }
124
173
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7_set_pbIZNS_13get_convertorInEEDavEUlPNS_12PColumnValueERKnE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
8
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
8
        if constexpr (NeedMin) {
119
8
            f(filter->mutable_min_val(), _min);
120
8
        }
121
8
        if constexpr (NeedMax) {
122
8
            f(filter->mutable_max_val(), _max);
123
8
        }
124
8
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE7_set_pbIZNS_13get_convertorIfEEDavEUlPNS_12PColumnValueERKfE_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7_set_pbIZNS_13get_convertorIdEEDavEUlPNS_12PColumnValueERKdE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
6
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
6
        if constexpr (NeedMin) {
119
6
            f(filter->mutable_min_val(), _min);
120
6
        }
121
6
        if constexpr (NeedMax) {
122
6
            f(filter->mutable_max_val(), _max);
123
6
        }
124
6
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
66
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
66
        if constexpr (NeedMin) {
119
66
            f(filter->mutable_min_val(), _min);
120
66
        }
121
66
        if constexpr (NeedMax) {
122
66
            f(filter->mutable_max_val(), _max);
123
66
        }
124
66
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
110
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
110
        if constexpr (NeedMin) {
119
110
            f(filter->mutable_min_val(), _min);
120
110
        }
121
110
        if constexpr (NeedMax) {
122
110
            f(filter->mutable_max_val(), _max);
123
110
        }
124
110
    }
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
57
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
57
        if constexpr (NeedMin) {
119
57
            f(filter->mutable_min_val(), _min);
120
57
        }
121
57
        if constexpr (NeedMax) {
122
57
            f(filter->mutable_max_val(), _max);
123
57
        }
124
57
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7_set_pbIZNS_13get_convertorIS2_EEDavEUlPNS_12PColumnValueERKS2_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7_set_pbIZNS_13get_convertorIS2_EEDavEUlPNS_12PColumnValueERKS2_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
4
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
4
        if constexpr (NeedMin) {
119
4
            f(filter->mutable_min_val(), _min);
120
4
        }
121
4
        if constexpr (NeedMax) {
122
4
            f(filter->mutable_max_val(), _max);
123
4
        }
124
4
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
14
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
14
        if constexpr (NeedMin) {
119
14
            f(filter->mutable_min_val(), _min);
120
14
        }
121
14
        if constexpr (NeedMax) {
122
14
            f(filter->mutable_max_val(), _max);
123
14
        }
124
14
    }
Unexecuted instantiation: _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
10
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
10
        if constexpr (NeedMin) {
119
10
            f(filter->mutable_min_val(), _min);
120
10
        }
121
10
        if constexpr (NeedMax) {
122
10
            f(filter->mutable_max_val(), _max);
123
10
        }
124
10
    }
125
126
    void _update_batch_string(const auto& column_string, const uint8_t* __restrict nullmap,
127
109
                              size_t start, size_t size) {
128
10.6k
        for (size_t i = start; i < size; i++) {
129
10.4k
            if (nullmap == nullptr || !nullmap[i]) {
130
10.4k
                if constexpr (NeedMin) {
131
10.4k
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
132
160
                        _min = column_string.get_data_at(i).to_string();
133
160
                        _min_value_set = true;
134
160
                    }
135
10.4k
                }
136
10.4k
                if constexpr (NeedMax) {
137
10.4k
                    if (column_string.get_data_at(i) > StringRef(_max)) {
138
271
                        _max = column_string.get_data_at(i).to_string();
139
271
                    }
140
10.4k
                }
141
10.4k
            }
142
10.4k
        }
143
109
    }
_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
108
                              size_t start, size_t size) {
128
10.5k
        for (size_t i = start; i < size; i++) {
129
10.4k
            if (nullmap == nullptr || !nullmap[i]) {
130
10.4k
                if constexpr (NeedMin) {
131
10.4k
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
132
159
                        _min = column_string.get_data_at(i).to_string();
133
159
                        _min_value_set = true;
134
159
                    }
135
10.4k
                }
136
10.4k
                if constexpr (NeedMax) {
137
10.4k
                    if (column_string.get_data_at(i) > StringRef(_max)) {
138
263
                        _max = column_string.get_data_at(i).to_string();
139
263
                    }
140
10.4k
                }
141
10.4k
            }
142
10.4k
        }
143
108
    }
144
145
3.79k
    void _update_batch(const ColumnPtr& column, size_t start) {
146
3.79k
        const auto size = column->size();
147
3.79k
        if constexpr (std::is_same_v<T, std::string>) {
148
56
            if (column->is_column_string64()) {
149
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
1
                                     size);
151
55
            } else {
152
55
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
55
                                     size);
154
55
            }
155
3.74k
        } else {
156
3.74k
            const T* data = (T*)column->get_raw_data().data;
157
3.68M
            for (size_t i = start; i < size; i++) {
158
3.68M
                if constexpr (NeedMin) {
159
3.68M
                    _min = std::min(_min, *(data + i));
160
3.68M
                }
161
3.68M
                if constexpr (NeedMax) {
162
3.68M
                    _max = std::max(_max, *(data + i));
163
3.68M
                }
164
3.68M
            }
165
3.74k
        }
166
3.79k
    }
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
26
    void _update_batch(const ColumnPtr& column, size_t start) {
146
26
        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
26
        } else {
156
26
            const T* data = (T*)column->get_raw_data().data;
157
121
            for (size_t i = start; i < size; i++) {
158
95
                if constexpr (NeedMin) {
159
95
                    _min = std::min(_min, *(data + i));
160
95
                }
161
95
                if constexpr (NeedMax) {
162
95
                    _max = std::max(_max, *(data + i));
163
95
                }
164
95
            }
165
26
        }
166
26
    }
_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.24k
    void _update_batch(const ColumnPtr& column, size_t start) {
146
2.24k
        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.24k
        } else {
156
2.24k
            const T* data = (T*)column->get_raw_data().data;
157
3.68M
            for (size_t i = start; i < size; i++) {
158
3.68M
                if constexpr (NeedMin) {
159
3.68M
                    _min = std::min(_min, *(data + i));
160
3.68M
                }
161
3.68M
                if constexpr (NeedMax) {
162
3.68M
                    _max = std::max(_max, *(data + i));
163
3.68M
                }
164
3.68M
            }
165
2.24k
        }
166
2.24k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
957
    void _update_batch(const ColumnPtr& column, size_t start) {
146
957
        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
957
        } else {
156
957
            const T* data = (T*)column->get_raw_data().data;
157
2.54k
            for (size_t i = start; i < size; i++) {
158
1.59k
                if constexpr (NeedMin) {
159
1.59k
                    _min = std::min(_min, *(data + i));
160
1.59k
                }
161
1.59k
                if constexpr (NeedMax) {
162
1.59k
                    _max = std::max(_max, *(data + i));
163
1.59k
                }
164
1.59k
            }
165
957
        }
166
957
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
179
    void _update_batch(const ColumnPtr& column, size_t start) {
146
179
        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
179
        } else {
156
179
            const T* data = (T*)column->get_raw_data().data;
157
500
            for (size_t i = start; i < size; i++) {
158
321
                if constexpr (NeedMin) {
159
321
                    _min = std::min(_min, *(data + i));
160
321
                }
161
321
                if constexpr (NeedMax) {
162
321
                    _max = std::max(_max, *(data + i));
163
321
                }
164
321
            }
165
179
        }
166
179
    }
_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
10
    void _update_batch(const ColumnPtr& column, size_t start) {
146
10
        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
10
        } else {
156
10
            const T* data = (T*)column->get_raw_data().data;
157
22
            for (size_t i = start; i < size; i++) {
158
12
                if constexpr (NeedMin) {
159
12
                    _min = std::min(_min, *(data + i));
160
12
                }
161
12
                if constexpr (NeedMax) {
162
12
                    _max = std::max(_max, *(data + i));
163
12
                }
164
12
            }
165
10
        }
166
10
    }
_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
232
    void _update_batch(const ColumnPtr& column, size_t start) {
146
232
        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
232
        } else {
156
232
            const T* data = (T*)column->get_raw_data().data;
157
721
            for (size_t i = start; i < size; i++) {
158
489
                if constexpr (NeedMin) {
159
489
                    _min = std::min(_min, *(data + i));
160
489
                }
161
489
                if constexpr (NeedMax) {
162
489
                    _max = std::max(_max, *(data + i));
163
489
                }
164
489
            }
165
232
        }
166
232
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
145
35
    void _update_batch(const ColumnPtr& column, size_t start) {
146
35
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
35
        } else {
156
35
            const T* data = (T*)column->get_raw_data().data;
157
116
            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
35
        }
166
35
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
145
56
    void _update_batch(const ColumnPtr& column, size_t start) {
146
56
        const auto size = column->size();
147
56
        if constexpr (std::is_same_v<T, std::string>) {
148
56
            if (column->is_column_string64()) {
149
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
1
                                     size);
151
55
            } else {
152
55
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
55
                                     size);
154
55
            }
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
56
    }
_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
11
    void _update_batch(const ColumnPtr& column, size_t start) {
146
11
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
11
        } else {
156
11
            const T* data = (T*)column->get_raw_data().data;
157
120
            for (size_t i = start; i < size; i++) {
158
109
                if constexpr (NeedMin) {
159
109
                    _min = std::min(_min, *(data + i));
160
109
                }
161
109
                if constexpr (NeedMax) {
162
109
                    _max = std::max(_max, *(data + i));
163
109
                }
164
109
            }
165
11
        }
166
11
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
145
29
    void _update_batch(const ColumnPtr& column, size_t start) {
146
29
        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
29
        } else {
156
29
            const T* data = (T*)column->get_raw_data().data;
157
69
            for (size_t i = start; i < size; i++) {
158
40
                if constexpr (NeedMin) {
159
40
                    _min = std::min(_min, *(data + i));
160
40
                }
161
40
                if constexpr (NeedMax) {
162
40
                    _max = std::max(_max, *(data + i));
163
40
                }
164
40
            }
165
29
        }
166
29
    }
_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
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
20
            for (size_t i = start; i < size; i++) {
158
13
                if constexpr (NeedMin) {
159
13
                    _min = std::min(_min, *(data + i));
160
13
                }
161
13
                if constexpr (NeedMax) {
162
13
                    _max = std::max(_max, *(data + i));
163
13
                }
164
13
            }
165
7
        }
166
7
    }
167
168
3.00k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
3.00k
        const auto size = column->size();
170
3.00k
        if constexpr (std::is_same_v<T, std::string>) {
171
54
            if (column->is_column_string64()) {
172
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
0
                                     start, size);
174
54
            } else {
175
54
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
54
                                     start, size);
177
54
            }
178
2.95k
        } else {
179
2.95k
            const T* data = (T*)column->get_raw_data().data;
180
5.33M
            for (size_t i = start; i < size; i++) {
181
5.32M
                if (!nullmap[i]) {
182
5.32M
                    if constexpr (NeedMin) {
183
5.32M
                        _min = std::min(_min, *(data + i));
184
5.32M
                    }
185
5.32M
                    if constexpr (NeedMax) {
186
5.32M
                        _max = std::max(_max, *(data + i));
187
5.32M
                    }
188
5.32M
                }
189
5.32M
            }
190
2.95k
        }
191
3.00k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE13_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
7
            for (size_t i = start; i < size; i++) {
181
4
                if (!nullmap[i]) {
182
3
                    if constexpr (NeedMin) {
183
3
                        _min = std::min(_min, *(data + i));
184
3
                    }
185
3
                    if constexpr (NeedMax) {
186
3
                        _max = std::max(_max, *(data + i));
187
3
                    }
188
3
                }
189
4
            }
190
3
        }
191
3
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
2
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
2
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
2
        } else {
179
2
            const T* data = (T*)column->get_raw_data().data;
180
8
            for (size_t i = start; i < size; i++) {
181
6
                if (!nullmap[i]) {
182
6
                    if constexpr (NeedMin) {
183
6
                        _min = std::min(_min, *(data + i));
184
6
                    }
185
6
                    if constexpr (NeedMax) {
186
6
                        _max = std::max(_max, *(data + i));
187
6
                    }
188
6
                }
189
6
            }
190
2
        }
191
2
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
84
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
84
        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
84
        } else {
179
84
            const T* data = (T*)column->get_raw_data().data;
180
314
            for (size_t i = start; i < size; i++) {
181
230
                if (!nullmap[i]) {
182
221
                    if constexpr (NeedMin) {
183
221
                        _min = std::min(_min, *(data + i));
184
221
                    }
185
221
                    if constexpr (NeedMax) {
186
221
                        _max = std::max(_max, *(data + i));
187
221
                    }
188
221
                }
189
230
            }
190
84
        }
191
84
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
101
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
101
        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
101
        } else {
179
101
            const T* data = (T*)column->get_raw_data().data;
180
696
            for (size_t i = start; i < size; i++) {
181
595
                if (!nullmap[i]) {
182
527
                    if constexpr (NeedMin) {
183
527
                        _min = std::min(_min, *(data + i));
184
527
                    }
185
527
                    if constexpr (NeedMax) {
186
527
                        _max = std::max(_max, *(data + i));
187
527
                    }
188
527
                }
189
595
            }
190
101
        }
191
101
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
1.16k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
1.16k
        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.16k
        } else {
179
1.16k
            const T* data = (T*)column->get_raw_data().data;
180
5.31M
            for (size_t i = start; i < size; i++) {
181
5.31M
                if (!nullmap[i]) {
182
5.31M
                    if constexpr (NeedMin) {
183
5.31M
                        _min = std::min(_min, *(data + i));
184
5.31M
                    }
185
5.31M
                    if constexpr (NeedMax) {
186
5.31M
                        _max = std::max(_max, *(data + i));
187
5.31M
                    }
188
5.31M
                }
189
5.31M
            }
190
1.16k
        }
191
1.16k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
1.11k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
1.11k
        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.11k
        } else {
179
1.11k
            const T* data = (T*)column->get_raw_data().data;
180
7.43k
            for (size_t i = start; i < size; i++) {
181
6.31k
                if (!nullmap[i]) {
182
5.80k
                    if constexpr (NeedMin) {
183
5.80k
                        _min = std::min(_min, *(data + i));
184
5.80k
                    }
185
5.80k
                    if constexpr (NeedMax) {
186
5.80k
                        _max = std::max(_max, *(data + i));
187
5.80k
                    }
188
5.80k
                }
189
6.31k
            }
190
1.11k
        }
191
1.11k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
4
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
4
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
4
        } else {
179
4
            const T* data = (T*)column->get_raw_data().data;
180
8
            for (size_t i = start; i < size; i++) {
181
4
                if (!nullmap[i]) {
182
4
                    if constexpr (NeedMin) {
183
4
                        _min = std::min(_min, *(data + i));
184
4
                    }
185
4
                    if constexpr (NeedMax) {
186
4
                        _max = std::max(_max, *(data + i));
187
4
                    }
188
4
                }
189
4
            }
190
4
        }
191
4
    }
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
27
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
27
        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
27
        } else {
179
27
            const T* data = (T*)column->get_raw_data().data;
180
60
            for (size_t i = start; i < size; i++) {
181
33
                if (!nullmap[i]) {
182
8
                    if constexpr (NeedMin) {
183
8
                        _min = std::min(_min, *(data + i));
184
8
                    }
185
8
                    if constexpr (NeedMax) {
186
8
                        _max = std::max(_max, *(data + i));
187
8
                    }
188
8
                }
189
33
            }
190
27
        }
191
27
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
23
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
23
        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
23
        } else {
179
23
            const T* data = (T*)column->get_raw_data().data;
180
197
            for (size_t i = start; i < size; i++) {
181
174
                if (!nullmap[i]) {
182
174
                    if constexpr (NeedMin) {
183
174
                        _min = std::min(_min, *(data + i));
184
174
                    }
185
174
                    if constexpr (NeedMax) {
186
174
                        _max = std::max(_max, *(data + i));
187
174
                    }
188
174
                }
189
174
            }
190
23
        }
191
23
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
16
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
16
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
16
        } else {
179
16
            const T* data = (T*)column->get_raw_data().data;
180
48
            for (size_t i = start; i < size; i++) {
181
32
                if (!nullmap[i]) {
182
26
                    if constexpr (NeedMin) {
183
26
                        _min = std::min(_min, *(data + i));
184
26
                    }
185
26
                    if constexpr (NeedMax) {
186
26
                        _max = std::max(_max, *(data + i));
187
26
                    }
188
26
                }
189
32
            }
190
16
        }
191
16
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
266
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
266
        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
266
        } else {
179
266
            const T* data = (T*)column->get_raw_data().data;
180
559
            for (size_t i = start; i < size; i++) {
181
293
                if (!nullmap[i]) {
182
287
                    if constexpr (NeedMin) {
183
287
                        _min = std::min(_min, *(data + i));
184
287
                    }
185
287
                    if constexpr (NeedMax) {
186
287
                        _max = std::max(_max, *(data + i));
187
287
                    }
188
287
                }
189
293
            }
190
266
        }
191
266
    }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE13_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
20
                    if constexpr (NeedMin) {
183
20
                        _min = std::min(_min, *(data + i));
184
20
                    }
185
20
                    if constexpr (NeedMax) {
186
20
                        _max = std::max(_max, *(data + i));
187
20
                    }
188
20
                }
189
24
            }
190
8
        }
191
8
    }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE13_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
24
                    if constexpr (NeedMin) {
183
24
                        _min = std::min(_min, *(data + i));
184
24
                    }
185
24
                    if constexpr (NeedMax) {
186
24
                        _max = std::max(_max, *(data + i));
187
24
                    }
188
24
                }
189
24
            }
190
8
        }
191
8
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
54
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
54
        const auto size = column->size();
170
54
        if constexpr (std::is_same_v<T, std::string>) {
171
54
            if (column->is_column_string64()) {
172
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
0
                                     start, size);
174
54
            } else {
175
54
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
54
                                     start, size);
177
54
            }
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
54
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
17
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
17
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
17
        } else {
179
17
            const T* data = (T*)column->get_raw_data().data;
180
72
            for (size_t i = start; i < size; i++) {
181
55
                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
55
            }
190
17
        }
191
17
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
1
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
1
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
1
        } else {
179
1
            const T* data = (T*)column->get_raw_data().data;
180
6
            for (size_t i = start; i < size; i++) {
181
5
                if (!nullmap[i]) {
182
4
                    if constexpr (NeedMin) {
183
4
                        _min = std::min(_min, *(data + i));
184
4
                    }
185
4
                    if constexpr (NeedMax) {
186
4
                        _max = std::max(_max, *(data + i));
187
4
                    }
188
4
                }
189
5
            }
190
1
        }
191
1
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
23
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
23
        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
23
        } else {
179
23
            const T* data = (T*)column->get_raw_data().data;
180
110
            for (size_t i = start; i < size; i++) {
181
87
                if (!nullmap[i]) {
182
42
                    if constexpr (NeedMin) {
183
42
                        _min = std::min(_min, *(data + i));
184
42
                    }
185
42
                    if constexpr (NeedMax) {
186
42
                        _max = std::max(_max, *(data + i));
187
42
                    }
188
42
                }
189
87
            }
190
23
        }
191
23
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
12
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
12
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
12
        } else {
179
12
            const T* data = (T*)column->get_raw_data().data;
180
150
            for (size_t i = start; i < size; i++) {
181
138
                if (!nullmap[i]) {
182
130
                    if constexpr (NeedMin) {
183
130
                        _min = std::min(_min, *(data + i));
184
130
                    }
185
130
                    if constexpr (NeedMax) {
186
130
                        _max = std::max(_max, *(data + i));
187
130
                    }
188
130
                }
189
138
            }
190
12
        }
191
12
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
32
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
32
        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
32
        } else {
179
32
            const T* data = (T*)column->get_raw_data().data;
180
384
            for (size_t i = start; i < size; i++) {
181
352
                if (!nullmap[i]) {
182
320
                    if constexpr (NeedMin) {
183
320
                        _min = std::min(_min, *(data + i));
184
320
                    }
185
320
                    if constexpr (NeedMax) {
186
320
                        _max = std::max(_max, *(data + i));
187
320
                    }
188
320
                }
189
352
            }
190
32
        }
191
32
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
51
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
51
        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
51
        } else {
179
51
            const T* data = (T*)column->get_raw_data().data;
180
970
            for (size_t i = start; i < size; i++) {
181
919
                if (!nullmap[i]) {
182
845
                    if constexpr (NeedMin) {
183
845
                        _min = std::min(_min, *(data + i));
184
845
                    }
185
845
                    if constexpr (NeedMax) {
186
845
                        _max = std::max(_max, *(data + i));
187
845
                    }
188
845
                }
189
919
            }
190
51
        }
191
51
    }
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