Coverage Report

Created: 2026-07-07 05:17

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
17.9k
    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
17.9k
    virtual ~MinMaxFuncBase() = default;
41
42
    virtual void to_pb(PMinMaxFilter* filter) = 0;
43
};
44
45
template <class T, bool NeedMax = true, bool NeedMin = true>
46
class MinMaxNumFunc : public MinMaxFuncBase {
47
public:
48
    static constexpr bool IsStringValue = std::is_same_v<T, std::string>;
49
17.9k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIhLb1ELb1EEC2Eb
Line
Count
Source
49
220
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EEC2Eb
Line
Count
Source
49
22
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIaLb1ELb1EEC2Eb
Line
Count
Source
49
181
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIsLb1ELb1EEC2Eb
Line
Count
Source
49
187
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIiLb1ELb1EEC2Eb
Line
Count
Source
49
8.88k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIlLb1ELb1EEC2Eb
Line
Count
Source
49
4.28k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncInLb1ELb1EEC2Eb
Line
Count
Source
49
153
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIfLb1ELb1EEC2Eb
Line
Count
Source
49
290
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIdLb1ELb1EEC2Eb
Line
Count
Source
49
25
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EEC2Eb
Line
Count
Source
49
74
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
49
810
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
49
818
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EEC2Eb
Line
Count
Source
49
8
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EEC2Eb
Line
Count
Source
49
1.10k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EEC2Eb
Line
Count
Source
49
20
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EEC2Eb
Line
Count
Source
49
562
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EEC2Eb
Line
Count
Source
49
199
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EEC2Eb
Line
Count
Source
49
68
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIjLb1ELb1EEC2Eb
Line
Count
Source
49
8
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIoLb1ELb1EEC2Eb
Line
Count
Source
49
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
50
1.10k
    ~MinMaxNumFunc() override = default;
51
52
5.12k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
5.12k
        if (is_column_nullable(*column)) {
54
2.91k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
2.91k
            const auto& col = nullable->get_nested_column_ptr();
56
2.91k
            const auto& nullmap = nullable->get_null_map_data();
57
2.91k
            if (nullable->has_null()) {
58
2.71k
                _update_batch(col, nullmap, start);
59
2.71k
                _contain_null = true;
60
2.71k
            } else {
61
198
                _update_batch(col, start);
62
198
            }
63
2.91k
        } else {
64
2.21k
            _update_batch(column, start);
65
2.21k
        }
66
5.12k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
25
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
25
        if (is_column_nullable(*column)) {
54
25
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
25
            const auto& col = nullable->get_nested_column_ptr();
56
25
            const auto& nullmap = nullable->get_null_map_data();
57
25
            if (nullable->has_null()) {
58
25
                _update_batch(col, nullmap, start);
59
25
                _contain_null = true;
60
25
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
25
        } else {
64
0
            _update_batch(column, start);
65
0
        }
66
25
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
11
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
11
        if (is_column_nullable(*column)) {
54
10
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
10
            const auto& col = nullable->get_nested_column_ptr();
56
10
            const auto& nullmap = nullable->get_null_map_data();
57
10
            if (nullable->has_null()) {
58
10
                _update_batch(col, nullmap, start);
59
10
                _contain_null = true;
60
10
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
10
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
11
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
80
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
80
        if (is_column_nullable(*column)) {
54
79
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
79
            const auto& col = nullable->get_nested_column_ptr();
56
79
            const auto& nullmap = nullable->get_null_map_data();
57
79
            if (nullable->has_null()) {
58
44
                _update_batch(col, nullmap, start);
59
44
                _contain_null = true;
60
44
            } else {
61
35
                _update_batch(col, start);
62
35
            }
63
79
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
80
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
75
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
75
        if (is_column_nullable(*column)) {
54
74
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
74
            const auto& col = nullable->get_nested_column_ptr();
56
74
            const auto& nullmap = nullable->get_null_map_data();
57
74
            if (nullable->has_null()) {
58
74
                _update_batch(col, nullmap, start);
59
74
                _contain_null = true;
60
74
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
74
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
75
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
2.81k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
2.81k
        if (is_column_nullable(*column)) {
54
1.36k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
1.36k
            const auto& col = nullable->get_nested_column_ptr();
56
1.36k
            const auto& nullmap = nullable->get_null_map_data();
57
1.36k
            if (nullable->has_null()) {
58
1.31k
                _update_batch(col, nullmap, start);
59
1.31k
                _contain_null = true;
60
1.31k
            } else {
61
47
                _update_batch(col, start);
62
47
            }
63
1.45k
        } else {
64
1.45k
            _update_batch(column, start);
65
1.45k
        }
66
2.81k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
1.16k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
1.16k
        if (is_column_nullable(*column)) {
54
787
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
787
            const auto& col = nullable->get_nested_column_ptr();
56
787
            const auto& nullmap = nullable->get_null_map_data();
57
787
            if (nullable->has_null()) {
58
727
                _update_batch(col, nullmap, start);
59
727
                _contain_null = true;
60
727
            } else {
61
60
                _update_batch(col, start);
62
60
            }
63
787
        } else {
64
373
            _update_batch(column, start);
65
373
        }
66
1.16k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
88
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
88
        if (is_column_nullable(*column)) {
54
4
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
4
            const auto& col = nullable->get_nested_column_ptr();
56
4
            const auto& nullmap = nullable->get_null_map_data();
57
4
            if (nullable->has_null()) {
58
4
                _update_batch(col, nullmap, start);
59
4
                _contain_null = true;
60
4
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
84
        } else {
64
84
            _update_batch(column, start);
65
84
        }
66
88
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
33
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
33
        if (is_column_nullable(*column)) {
54
32
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
32
            const auto& col = nullable->get_nested_column_ptr();
56
32
            const auto& nullmap = nullable->get_null_map_data();
57
32
            if (nullable->has_null()) {
58
32
                _update_batch(col, nullmap, start);
59
32
                _contain_null = true;
60
32
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
32
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
33
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
9
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
9
        if (is_column_nullable(*column)) {
54
8
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
8
            const auto& col = nullable->get_nested_column_ptr();
56
8
            const auto& nullmap = nullable->get_null_map_data();
57
8
            if (nullable->has_null()) {
58
7
                _update_batch(col, nullmap, start);
59
7
                _contain_null = true;
60
7
            } else {
61
1
                _update_batch(col, start);
62
1
            }
63
8
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
9
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
64
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
64
        if (is_column_nullable(*column)) {
54
61
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
61
            const auto& col = nullable->get_nested_column_ptr();
56
61
            const auto& nullmap = nullable->get_null_map_data();
57
62
            if (nullable->has_null()) {
58
62
                _update_batch(col, nullmap, start);
59
62
                _contain_null = true;
60
18.4E
            } else {
61
18.4E
                _update_batch(col, start);
62
18.4E
            }
63
61
        } else {
64
3
            _update_batch(column, start);
65
3
        }
66
64
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
52
226
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
226
        if (is_column_nullable(*column)) {
54
47
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
47
            const auto& col = nullable->get_nested_column_ptr();
56
47
            const auto& nullmap = nullable->get_null_map_data();
57
47
            if (nullable->has_null()) {
58
47
                _update_batch(col, nullmap, start);
59
47
                _contain_null = true;
60
47
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
179
        } else {
64
179
            _update_batch(column, start);
65
179
        }
66
226
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
52
99
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
99
        if (is_column_nullable(*column)) {
54
87
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
87
            const auto& col = nullable->get_nested_column_ptr();
56
87
            const auto& nullmap = nullable->get_null_map_data();
57
87
            if (nullable->has_null()) {
58
87
                _update_batch(col, nullmap, start);
59
87
                _contain_null = true;
60
87
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
87
        } else {
64
12
            _update_batch(column, start);
65
12
        }
66
99
    }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
1
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
1
        if (is_column_nullable(*column)) {
54
1
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
1
            const auto& col = nullable->get_nested_column_ptr();
56
1
            const auto& nullmap = nullable->get_null_map_data();
57
1
            if (nullable->has_null()) {
58
1
                _update_batch(col, nullmap, start);
59
1
                _contain_null = true;
60
1
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
1
        } else {
64
0
            _update_batch(column, start);
65
0
        }
66
1
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
52
239
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
239
        if (is_column_nullable(*column)) {
54
199
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
199
            const auto& col = nullable->get_nested_column_ptr();
56
199
            const auto& nullmap = nullable->get_null_map_data();
57
199
            if (nullable->has_null()) {
58
149
                _update_batch(col, nullmap, start);
59
149
                _contain_null = true;
60
149
            } else {
61
50
                _update_batch(col, start);
62
50
            }
63
199
        } else {
64
40
            _update_batch(column, start);
65
40
        }
66
239
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
52
10
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
10
        if (is_column_nullable(*column)) {
54
9
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
9
            const auto& col = nullable->get_nested_column_ptr();
56
9
            const auto& nullmap = nullable->get_null_map_data();
57
9
            if (nullable->has_null()) {
58
9
                _update_batch(col, nullmap, start);
59
9
                _contain_null = true;
60
9
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
9
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
10
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
52
83
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
83
        if (is_column_nullable(*column)) {
54
59
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
59
            const auto& col = nullable->get_nested_column_ptr();
56
59
            const auto& nullmap = nullable->get_null_map_data();
57
59
            if (nullable->has_null()) {
58
59
                _update_batch(col, nullmap, start);
59
59
                _contain_null = true;
60
59
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
59
        } else {
64
24
            _update_batch(column, start);
65
24
        }
66
83
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
69
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
69
        if (is_column_nullable(*column)) {
54
36
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
36
            const auto& col = nullable->get_nested_column_ptr();
56
36
            const auto& nullmap = nullable->get_null_map_data();
57
36
            if (nullable->has_null()) {
58
30
                _update_batch(col, nullmap, start);
59
30
                _contain_null = true;
60
30
            } else {
61
6
                _update_batch(col, start);
62
6
            }
63
36
        } else {
64
33
            _update_batch(column, start);
65
33
        }
66
69
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EEm
Line
Count
Source
52
34
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
34
        if (is_column_nullable(*column)) {
54
33
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
33
            const auto& col = nullable->get_nested_column_ptr();
56
33
            const auto& nullmap = nullable->get_null_map_data();
57
33
            if (nullable->has_null()) {
58
33
                _update_batch(col, nullmap, start);
59
33
                _contain_null = true;
60
33
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
33
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
34
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
4
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
4
        if (is_column_nullable(*column)) {
54
3
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
3
            const auto& col = nullable->get_nested_column_ptr();
56
3
            const auto& nullmap = nullable->get_null_map_data();
57
3
            if (nullable->has_null()) {
58
3
                _update_batch(col, nullmap, start);
59
3
                _contain_null = true;
60
3
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
3
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
4
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
1
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
1
        if (is_column_nullable(*column)) {
54
0
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
0
            const auto& col = nullable->get_nested_column_ptr();
56
0
            const auto& nullmap = nullable->get_null_map_data();
57
0
            if (nullable->has_null()) {
58
0
                _update_batch(col, nullmap, start);
59
0
                _contain_null = true;
60
0
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
1
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
1
    }
67
68
7.65k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
7.65k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
7.65k
        if constexpr (NeedMin) {
71
7.65k
            if constexpr (IsStringValue) {
72
659
                if (other_minmax->_min < _min || !_min_value_set) {
73
27
                    _min = other_minmax->_min;
74
27
                    _min_value_set = true;
75
27
                }
76
6.99k
            } else if (other_minmax->_min < _min) {
77
384
                _min = other_minmax->_min;
78
384
            }
79
7.65k
        }
80
7.65k
        if constexpr (NeedMax) {
81
7.65k
            if (other_minmax->_max > _max) {
82
432
                _max = other_minmax->_max;
83
432
            }
84
7.65k
        }
85
86
7.65k
        _contain_null |= minmax_func->contain_null();
87
7.65k
        return Status::OK();
88
7.65k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
168
    Status merge(MinMaxFuncBase* minmax_func) override {
69
168
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
168
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
168
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
168
        }
80
168
        if constexpr (NeedMax) {
81
168
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
168
        }
85
86
168
        _contain_null |= minmax_func->contain_null();
87
168
        return Status::OK();
88
168
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
8
    Status merge(MinMaxFuncBase* minmax_func) override {
69
8
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
8
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
8
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
8
        }
80
8
        if constexpr (NeedMax) {
81
8
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
8
        }
85
86
8
        _contain_null |= minmax_func->contain_null();
87
8
        return Status::OK();
88
8
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
66
    Status merge(MinMaxFuncBase* minmax_func) override {
69
66
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
66
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
66
            } else if (other_minmax->_min < _min) {
77
2
                _min = other_minmax->_min;
78
2
            }
79
66
        }
80
66
        if constexpr (NeedMax) {
81
66
            if (other_minmax->_max > _max) {
82
2
                _max = other_minmax->_max;
83
2
            }
84
66
        }
85
86
66
        _contain_null |= minmax_func->contain_null();
87
66
        return Status::OK();
88
66
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
17
    Status merge(MinMaxFuncBase* minmax_func) override {
69
17
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
17
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
17
            } else if (other_minmax->_min < _min) {
77
4
                _min = other_minmax->_min;
78
4
            }
79
17
        }
80
17
        if constexpr (NeedMax) {
81
17
            if (other_minmax->_max > _max) {
82
6
                _max = other_minmax->_max;
83
6
            }
84
17
        }
85
86
17
        _contain_null |= minmax_func->contain_null();
87
17
        return Status::OK();
88
17
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
3.77k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
3.77k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
3.77k
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
3.77k
            } else if (other_minmax->_min < _min) {
77
239
                _min = other_minmax->_min;
78
239
            }
79
3.77k
        }
80
3.77k
        if constexpr (NeedMax) {
81
3.77k
            if (other_minmax->_max > _max) {
82
263
                _max = other_minmax->_max;
83
263
            }
84
3.77k
        }
85
86
3.77k
        _contain_null |= minmax_func->contain_null();
87
3.77k
        return Status::OK();
88
3.77k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
1.08k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
1.08k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
1.08k
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
1.08k
            } else if (other_minmax->_min < _min) {
77
92
                _min = other_minmax->_min;
78
92
            }
79
1.08k
        }
80
1.08k
        if constexpr (NeedMax) {
81
1.08k
            if (other_minmax->_max > _max) {
82
92
                _max = other_minmax->_max;
83
92
            }
84
1.08k
        }
85
86
1.08k
        _contain_null |= minmax_func->contain_null();
87
1.08k
        return Status::OK();
88
1.08k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
90
    Status merge(MinMaxFuncBase* minmax_func) override {
69
90
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
90
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
90
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
90
        }
80
90
        if constexpr (NeedMax) {
81
90
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
90
        }
85
86
90
        _contain_null |= minmax_func->contain_null();
87
90
        return Status::OK();
88
90
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
224
    Status merge(MinMaxFuncBase* minmax_func) override {
69
224
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
224
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
224
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
224
        }
80
224
        if constexpr (NeedMax) {
81
224
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
224
        }
85
86
224
        _contain_null |= minmax_func->contain_null();
87
224
        return Status::OK();
88
224
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIdLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
54
    Status merge(MinMaxFuncBase* minmax_func) override {
69
54
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
54
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
54
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
54
        }
80
54
        if constexpr (NeedMax) {
81
54
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
54
        }
85
86
54
        _contain_null |= minmax_func->contain_null();
87
54
        return Status::OK();
88
54
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
518
    Status merge(MinMaxFuncBase* minmax_func) override {
69
518
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
518
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
518
            } else if (other_minmax->_min < _min) {
77
28
                _min = other_minmax->_min;
78
28
            }
79
518
        }
80
518
        if constexpr (NeedMax) {
81
518
            if (other_minmax->_max > _max) {
82
34
                _max = other_minmax->_max;
83
34
            }
84
518
        }
85
86
518
        _contain_null |= minmax_func->contain_null();
87
518
        return Status::OK();
88
518
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
612
    Status merge(MinMaxFuncBase* minmax_func) override {
69
612
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
612
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
612
            } else if (other_minmax->_min < _min) {
77
1
                _min = other_minmax->_min;
78
1
            }
79
612
        }
80
612
        if constexpr (NeedMax) {
81
612
            if (other_minmax->_max > _max) {
82
1
                _max = other_minmax->_max;
83
1
            }
84
612
        }
85
86
612
        _contain_null |= minmax_func->contain_null();
87
612
        return Status::OK();
88
612
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
659
    Status merge(MinMaxFuncBase* minmax_func) override {
69
659
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
659
        if constexpr (NeedMin) {
71
659
            if constexpr (IsStringValue) {
72
659
                if (other_minmax->_min < _min || !_min_value_set) {
73
27
                    _min = other_minmax->_min;
74
27
                    _min_value_set = true;
75
27
                }
76
            } else if (other_minmax->_min < _min) {
77
                _min = other_minmax->_min;
78
            }
79
659
        }
80
659
        if constexpr (NeedMax) {
81
659
            if (other_minmax->_max > _max) {
82
16
                _max = other_minmax->_max;
83
16
            }
84
659
        }
85
86
659
        _contain_null |= minmax_func->contain_null();
87
659
        return Status::OK();
88
659
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
6
    Status merge(MinMaxFuncBase* minmax_func) override {
69
6
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
6
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
6
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
6
        }
80
6
        if constexpr (NeedMax) {
81
6
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
6
        }
85
86
6
        _contain_null |= minmax_func->contain_null();
87
6
        return Status::OK();
88
6
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
296
    Status merge(MinMaxFuncBase* minmax_func) override {
69
296
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
296
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
296
            } else if (other_minmax->_min < _min) {
77
3
                _min = other_minmax->_min;
78
3
            }
79
296
        }
80
296
        if constexpr (NeedMax) {
81
296
            if (other_minmax->_max > _max) {
82
3
                _max = other_minmax->_max;
83
3
            }
84
296
        }
85
86
296
        _contain_null |= minmax_func->contain_null();
87
296
        return Status::OK();
88
296
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
59
    Status merge(MinMaxFuncBase* minmax_func) override {
69
59
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
59
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
59
            } else if (other_minmax->_min < _min) {
77
15
                _min = other_minmax->_min;
78
15
            }
79
59
        }
80
59
        if constexpr (NeedMax) {
81
59
            if (other_minmax->_max > _max) {
82
15
                _max = other_minmax->_max;
83
15
            }
84
59
        }
85
86
59
        _contain_null |= minmax_func->contain_null();
87
59
        return Status::OK();
88
59
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
17
    Status merge(MinMaxFuncBase* minmax_func) override {
69
17
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
17
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
17
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
17
        }
80
17
        if constexpr (NeedMax) {
81
17
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
17
        }
85
86
17
        _contain_null |= minmax_func->contain_null();
87
17
        return Status::OK();
88
17
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
2
    Status merge(MinMaxFuncBase* minmax_func) override {
69
2
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
2
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
2
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
2
        }
80
2
        if constexpr (NeedMax) {
81
2
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
2
        }
85
86
2
        _contain_null |= minmax_func->contain_null();
87
2
        return Status::OK();
88
2
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIoLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
89
90
5.05k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_maxEv
Line
Count
Source
90
25
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_maxEv
Line
Count
Source
90
12
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_maxEv
Line
Count
Source
90
53
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_maxEv
Line
Count
Source
90
68
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_maxEv
Line
Count
Source
90
2.51k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_maxEv
Line
Count
Source
90
1.57k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_maxEv
Line
Count
Source
90
36
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE7get_maxEv
Line
Count
Source
90
34
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7get_maxEv
Line
Count
Source
90
13
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_maxEv
Line
Count
Source
90
12
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
138
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
107
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_maxEv
Line
Count
Source
90
4
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
197
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_maxEv
Line
Count
Source
90
10
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_maxEv
Line
Count
Source
90
146
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_maxEv
Line
Count
Source
90
71
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
35
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_maxEv
Line
Count
Source
90
5
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_maxEv
Line
Count
Source
90
2
    void* get_max() override { return &_max; }
91
92
5.05k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_minEv
Line
Count
Source
92
25
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_minEv
Line
Count
Source
92
11
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_minEv
Line
Count
Source
92
48
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_minEv
Line
Count
Source
92
69
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_minEv
Line
Count
Source
92
2.52k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_minEv
Line
Count
Source
92
1.58k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_minEv
Line
Count
Source
92
34
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE7get_minEv
Line
Count
Source
92
34
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7get_minEv
Line
Count
Source
92
6
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_minEv
Line
Count
Source
92
12
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
92
138
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
92
108
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_minEv
Line
Count
Source
92
4
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_minEv
Line
Count
Source
92
187
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_minEv
Line
Count
Source
92
11
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_minEv
Line
Count
Source
92
148
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_minEv
Line
Count
Source
92
73
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_minEv
Line
Count
Source
92
35
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_minEv
Line
Count
Source
92
5
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_minEv
Line
Count
Source
92
2
    void* get_min() override { return &_min; }
93
94
904
    Status assign(void* min_data, void* max_data) override {
95
904
        if constexpr (IsStringValue) {
96
63
            _min_value_set = true;
97
63
        }
98
904
        _min = *(T*)min_data;
99
904
        _max = *(T*)max_data;
100
904
        return Status::OK();
101
904
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
3
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
3
        _min = *(T*)min_data;
99
3
        _max = *(T*)max_data;
100
3
        return Status::OK();
101
3
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE6assignEPvS3_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
3
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
3
        _min = *(T*)min_data;
99
3
        _max = *(T*)max_data;
100
3
        return Status::OK();
101
3
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
23
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
23
        _min = *(T*)min_data;
99
23
        _max = *(T*)max_data;
100
23
        return Status::OK();
101
23
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
557
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
557
        _min = *(T*)min_data;
99
557
        _max = *(T*)max_data;
100
557
        return Status::OK();
101
557
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
155
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
155
        _min = *(T*)min_data;
99
155
        _max = *(T*)max_data;
100
155
        return Status::OK();
101
155
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
3
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
3
        _min = *(T*)min_data;
99
3
        _max = *(T*)max_data;
100
3
        return Status::OK();
101
3
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE6assignEPvS3_
Line
Count
Source
94
2
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
2
        _min = *(T*)min_data;
99
2
        _max = *(T*)max_data;
100
2
        return Status::OK();
101
2
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
94
43
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
43
        _min = *(T*)min_data;
99
43
        _max = *(T*)max_data;
100
43
        return Status::OK();
101
43
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
94
3
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
3
        _min = *(T*)min_data;
99
3
        _max = *(T*)max_data;
100
3
        return Status::OK();
101
3
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE6assignEPvS3_
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE6assignEPvS8_
Line
Count
Source
94
63
    Status assign(void* min_data, void* max_data) override {
95
63
        if constexpr (IsStringValue) {
96
63
            _min_value_set = true;
97
63
        }
98
63
        _min = *(T*)min_data;
99
63
        _max = *(T*)max_data;
100
63
        return Status::OK();
101
63
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE6assignEPvS4_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE6assignEPvS4_
Line
Count
Source
94
5
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
5
        _min = *(T*)min_data;
99
5
        _max = *(T*)max_data;
100
5
        return Status::OK();
101
5
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE6assignEPvS3_
Line
Count
Source
94
37
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
37
        _min = *(T*)min_data;
99
37
        _max = *(T*)max_data;
100
37
        return Status::OK();
101
37
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE6assignEPvS7_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
102
103
1.17k
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
2
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
2
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
26
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
815
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
179
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncInLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
2
    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
103
42
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
2
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
62
    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
103
4
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
36
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIoLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
104
105
private:
106
1.17k
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
1.17k
        if constexpr (NeedMin) {
108
1.17k
            f(filter->mutable_min_val(), _min);
109
1.17k
        }
110
1.17k
        if constexpr (NeedMax) {
111
1.17k
            f(filter->mutable_max_val(), _max);
112
1.17k
        }
113
1.17k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7_set_pbIZNS_13get_convertorIhEEDavEUlPNS_12PColumnValueERKhE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
2
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
2
        if constexpr (NeedMin) {
108
2
            f(filter->mutable_min_val(), _min);
109
2
        }
110
2
        if constexpr (NeedMax) {
111
2
            f(filter->mutable_max_val(), _max);
112
2
        }
113
2
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7_set_pbIZNS_13get_convertorIaEEDavEUlPNS_12PColumnValueERKaE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
2
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
2
        if constexpr (NeedMin) {
108
2
            f(filter->mutable_min_val(), _min);
109
2
        }
110
2
        if constexpr (NeedMax) {
111
2
            f(filter->mutable_max_val(), _max);
112
2
        }
113
2
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7_set_pbIZNS_13get_convertorIsEEDavEUlPNS_12PColumnValueERKsE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
26
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
26
        if constexpr (NeedMin) {
108
26
            f(filter->mutable_min_val(), _min);
109
26
        }
110
26
        if constexpr (NeedMax) {
111
26
            f(filter->mutable_max_val(), _max);
112
26
        }
113
26
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7_set_pbIZNS_13get_convertorIiEEDavEUlPNS_12PColumnValueERKiE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
815
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
815
        if constexpr (NeedMin) {
108
815
            f(filter->mutable_min_val(), _min);
109
815
        }
110
815
        if constexpr (NeedMax) {
111
815
            f(filter->mutable_max_val(), _max);
112
815
        }
113
815
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7_set_pbIZNS_13get_convertorIlEEDavEUlPNS_12PColumnValueERKlE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
179
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
179
        if constexpr (NeedMin) {
108
179
            f(filter->mutable_min_val(), _min);
109
179
        }
110
179
        if constexpr (NeedMax) {
111
179
            f(filter->mutable_max_val(), _max);
112
179
        }
113
179
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncInLb1ELb1EE7_set_pbIZNS_13get_convertorInEEDavEUlPNS_12PColumnValueERKnE_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE7_set_pbIZNS_13get_convertorIfEEDavEUlPNS_12PColumnValueERKfE_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7_set_pbIZNS_13get_convertorIdEEDavEUlPNS_12PColumnValueERKdE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
2
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
2
        if constexpr (NeedMin) {
108
2
            f(filter->mutable_min_val(), _min);
109
2
        }
110
2
        if constexpr (NeedMax) {
111
2
            f(filter->mutable_max_val(), _max);
112
2
        }
113
2
    }
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
106
42
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
42
        if constexpr (NeedMin) {
108
42
            f(filter->mutable_min_val(), _min);
109
42
        }
110
42
        if constexpr (NeedMax) {
111
42
            f(filter->mutable_max_val(), _max);
112
42
        }
113
42
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
2
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
2
        if constexpr (NeedMin) {
108
2
            f(filter->mutable_min_val(), _min);
109
2
        }
110
2
        if constexpr (NeedMax) {
111
2
            f(filter->mutable_max_val(), _max);
112
2
        }
113
2
    }
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
106
62
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
62
        if constexpr (NeedMin) {
108
62
            f(filter->mutable_min_val(), _min);
109
62
        }
110
62
        if constexpr (NeedMax) {
111
62
            f(filter->mutable_max_val(), _max);
112
62
        }
113
62
    }
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
106
4
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
4
        if constexpr (NeedMin) {
108
4
            f(filter->mutable_min_val(), _min);
109
4
        }
110
4
        if constexpr (NeedMax) {
111
4
            f(filter->mutable_max_val(), _max);
112
4
        }
113
4
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
36
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
36
        if constexpr (NeedMin) {
108
36
            f(filter->mutable_min_val(), _min);
109
36
        }
110
36
        if constexpr (NeedMax) {
111
36
            f(filter->mutable_max_val(), _max);
112
36
        }
113
36
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS5_EEDavEUlPNS_12PColumnValueERKS5_E_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE7_set_pbIZNS_13get_convertorIjEEDavEUlPNS_12PColumnValueERKjE_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIoLb1ELb1EE7_set_pbIZNS_13get_convertorIoEEDavEUlPNS_12PColumnValueERKoE_EEvPNS_13PMinMaxFilterET_
114
115
    void _update_batch_string(const auto& column_string, const uint8_t* __restrict nullmap,
116
239
                              size_t start, size_t size) {
117
1.04k
        for (size_t i = start; i < size; i++) {
118
802
            if (nullmap == nullptr || !nullmap[i]) {
119
738
                if constexpr (NeedMin) {
120
738
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
121
313
                        _min = column_string.get_data_at(i).to_string();
122
313
                        _min_value_set = true;
123
313
                    }
124
738
                }
125
738
                if constexpr (NeedMax) {
126
738
                    if (column_string.get_data_at(i) > StringRef(_max)) {
127
340
                        _max = column_string.get_data_at(i).to_string();
128
340
                    }
129
738
                }
130
738
            }
131
802
        }
132
239
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE20_update_batch_stringINS_9ColumnStrImEEEEvRKT_PKhmm
Line
Count
Source
116
1
                              size_t start, size_t size) {
117
9
        for (size_t i = start; i < size; i++) {
118
8
            if (nullmap == nullptr || !nullmap[i]) {
119
8
                if constexpr (NeedMin) {
120
8
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
121
1
                        _min = column_string.get_data_at(i).to_string();
122
1
                        _min_value_set = true;
123
1
                    }
124
8
                }
125
8
                if constexpr (NeedMax) {
126
8
                    if (column_string.get_data_at(i) > StringRef(_max)) {
127
8
                        _max = column_string.get_data_at(i).to_string();
128
8
                    }
129
8
                }
130
8
            }
131
8
        }
132
1
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE20_update_batch_stringINS_9ColumnStrIjEEEEvRKT_PKhmm
Line
Count
Source
116
238
                              size_t start, size_t size) {
117
1.03k
        for (size_t i = start; i < size; i++) {
118
794
            if (nullmap == nullptr || !nullmap[i]) {
119
730
                if constexpr (NeedMin) {
120
730
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
121
312
                        _min = column_string.get_data_at(i).to_string();
122
312
                        _min_value_set = true;
123
312
                    }
124
730
                }
125
730
                if constexpr (NeedMax) {
126
730
                    if (column_string.get_data_at(i) > StringRef(_max)) {
127
332
                        _max = column_string.get_data_at(i).to_string();
128
332
                    }
129
730
                }
130
730
            }
131
794
        }
132
238
    }
133
134
2.41k
    void _update_batch(const ColumnPtr& column, size_t start) {
135
2.41k
        const auto size = column->size();
136
2.41k
        if constexpr (std::is_same_v<T, std::string>) {
137
90
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
1
                                     size);
140
89
            } else {
141
89
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
89
                                     size);
143
89
            }
144
2.32k
        } else {
145
2.32k
            const T* data = (T*)column->get_raw_data().data;
146
1.55M
            for (size_t i = start; i < size; i++) {
147
1.55M
                if constexpr (NeedMin) {
148
1.55M
                    _min = std::min(_min, *(data + i));
149
1.55M
                }
150
1.55M
                if constexpr (NeedMax) {
151
1.55M
                    _max = std::max(_max, *(data + i));
152
1.55M
                }
153
1.55M
            }
154
2.32k
        }
155
2.41k
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIhLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
36
    void _update_batch(const ColumnPtr& column, size_t start) {
135
36
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
36
        } else {
145
36
            const T* data = (T*)column->get_raw_data().data;
146
126
            for (size_t i = start; i < size; i++) {
147
90
                if constexpr (NeedMin) {
148
90
                    _min = std::min(_min, *(data + i));
149
90
                }
150
90
                if constexpr (NeedMax) {
151
90
                    _max = std::max(_max, *(data + i));
152
90
                }
153
90
            }
154
36
        }
155
36
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
1.50k
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1.50k
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1.50k
        } else {
145
1.50k
            const T* data = (T*)column->get_raw_data().data;
146
1.55M
            for (size_t i = start; i < size; i++) {
147
1.55M
                if constexpr (NeedMin) {
148
1.55M
                    _min = std::min(_min, *(data + i));
149
1.55M
                }
150
1.55M
                if constexpr (NeedMax) {
151
1.55M
                    _max = std::max(_max, *(data + i));
152
1.55M
                }
153
1.55M
            }
154
1.50k
        }
155
1.50k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
435
    void _update_batch(const ColumnPtr& column, size_t start) {
135
435
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
435
        } else {
145
435
            const T* data = (T*)column->get_raw_data().data;
146
1.51k
            for (size_t i = start; i < size; i++) {
147
1.08k
                if constexpr (NeedMin) {
148
1.08k
                    _min = std::min(_min, *(data + i));
149
1.08k
                }
150
1.08k
                if constexpr (NeedMax) {
151
1.08k
                    _max = std::max(_max, *(data + i));
152
1.08k
                }
153
1.08k
            }
154
435
        }
155
435
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
83
    void _update_batch(const ColumnPtr& column, size_t start) {
135
83
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
83
        } else {
145
83
            const T* data = (T*)column->get_raw_data().data;
146
223
            for (size_t i = start; i < size; i++) {
147
140
                if constexpr (NeedMin) {
148
140
                    _min = std::min(_min, *(data + i));
149
140
                }
150
140
                if constexpr (NeedMax) {
151
140
                    _max = std::max(_max, *(data + i));
152
140
                }
153
140
            }
154
83
        }
155
83
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
2
    void _update_batch(const ColumnPtr& column, size_t start) {
135
2
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
2
        } else {
145
2
            const T* data = (T*)column->get_raw_data().data;
146
6
            for (size_t i = start; i < size; i++) {
147
4
                if constexpr (NeedMin) {
148
4
                    _min = std::min(_min, *(data + i));
149
4
                }
150
4
                if constexpr (NeedMax) {
151
4
                    _max = std::max(_max, *(data + i));
152
4
                }
153
4
            }
154
2
        }
155
2
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
134
2
    void _update_batch(const ColumnPtr& column, size_t start) {
135
2
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
2
        } else {
145
2
            const T* data = (T*)column->get_raw_data().data;
146
8
            for (size_t i = start; i < size; i++) {
147
6
                if constexpr (NeedMin) {
148
6
                    _min = std::min(_min, *(data + i));
149
6
                }
150
6
                if constexpr (NeedMax) {
151
6
                    _max = std::max(_max, *(data + i));
152
6
                }
153
6
            }
154
2
        }
155
2
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
134
179
    void _update_batch(const ColumnPtr& column, size_t start) {
135
179
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
179
        } else {
145
179
            const T* data = (T*)column->get_raw_data().data;
146
498
            for (size_t i = start; i < size; i++) {
147
319
                if constexpr (NeedMin) {
148
319
                    _min = std::min(_min, *(data + i));
149
319
                }
150
319
                if constexpr (NeedMax) {
151
319
                    _max = std::max(_max, *(data + i));
152
319
                }
153
319
            }
154
179
        }
155
179
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
134
12
    void _update_batch(const ColumnPtr& column, size_t start) {
135
12
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
12
        } else {
145
12
            const T* data = (T*)column->get_raw_data().data;
146
47
            for (size_t i = start; i < size; i++) {
147
35
                if constexpr (NeedMin) {
148
35
                    _min = std::min(_min, *(data + i));
149
35
                }
150
35
                if constexpr (NeedMax) {
151
35
                    _max = std::max(_max, *(data + i));
152
35
                }
153
35
            }
154
12
        }
155
12
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
134
90
    void _update_batch(const ColumnPtr& column, size_t start) {
135
90
        const auto size = column->size();
136
90
        if constexpr (std::is_same_v<T, std::string>) {
137
90
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
1
                                     size);
140
89
            } else {
141
89
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
89
                                     size);
143
89
            }
144
        } else {
145
            const T* data = (T*)column->get_raw_data().data;
146
            for (size_t i = start; i < size; i++) {
147
                if constexpr (NeedMin) {
148
                    _min = std::min(_min, *(data + i));
149
                }
150
                if constexpr (NeedMax) {
151
                    _max = std::max(_max, *(data + i));
152
                }
153
            }
154
        }
155
90
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
134
24
    void _update_batch(const ColumnPtr& column, size_t start) {
135
24
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
24
        } else {
145
24
            const T* data = (T*)column->get_raw_data().data;
146
131
            for (size_t i = start; i < size; i++) {
147
107
                if constexpr (NeedMin) {
148
107
                    _min = std::min(_min, *(data + i));
149
107
                }
150
107
                if constexpr (NeedMax) {
151
107
                    _max = std::max(_max, *(data + i));
152
107
                }
153
107
            }
154
24
        }
155
24
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
134
39
    void _update_batch(const ColumnPtr& column, size_t start) {
135
39
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
39
        } else {
145
39
            const T* data = (T*)column->get_raw_data().data;
146
126
            for (size_t i = start; i < size; i++) {
147
87
                if constexpr (NeedMin) {
148
87
                    _min = std::min(_min, *(data + i));
149
87
                }
150
87
                if constexpr (NeedMax) {
151
87
                    _max = std::max(_max, *(data + i));
152
87
                }
153
87
            }
154
39
        }
155
39
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
156
157
2.71k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
2.71k
        const auto size = column->size();
159
2.71k
        if constexpr (std::is_same_v<T, std::string>) {
160
149
            if (column->is_column_string64()) {
161
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
0
                                     start, size);
163
149
            } else {
164
149
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
149
                                     start, size);
166
149
            }
167
2.56k
        } else {
168
2.56k
            const T* data = (T*)column->get_raw_data().data;
169
1.61M
            for (size_t i = start; i < size; i++) {
170
1.60M
                if (!nullmap[i]) {
171
1.60M
                    if constexpr (NeedMin) {
172
1.60M
                        _min = std::min(_min, *(data + i));
173
1.60M
                    }
174
1.60M
                    if constexpr (NeedMax) {
175
1.60M
                        _max = std::max(_max, *(data + i));
176
1.60M
                    }
177
1.60M
                }
178
1.60M
            }
179
2.56k
        }
180
2.71k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
25
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
25
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
25
        } else {
168
25
            const T* data = (T*)column->get_raw_data().data;
169
74
            for (size_t i = start; i < size; i++) {
170
49
                if (!nullmap[i]) {
171
33
                    if constexpr (NeedMin) {
172
33
                        _min = std::min(_min, *(data + i));
173
33
                    }
174
33
                    if constexpr (NeedMax) {
175
33
                        _max = std::max(_max, *(data + i));
176
33
                    }
177
33
                }
178
49
            }
179
25
        }
180
25
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
10
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
10
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
10
        } else {
168
10
            const T* data = (T*)column->get_raw_data().data;
169
40
            for (size_t i = start; i < size; i++) {
170
30
                if (!nullmap[i]) {
171
30
                    if constexpr (NeedMin) {
172
30
                        _min = std::min(_min, *(data + i));
173
30
                    }
174
30
                    if constexpr (NeedMax) {
175
30
                        _max = std::max(_max, *(data + i));
176
30
                    }
177
30
                }
178
30
            }
179
10
        }
180
10
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
44
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
44
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
44
        } else {
168
44
            const T* data = (T*)column->get_raw_data().data;
169
148
            for (size_t i = start; i < size; i++) {
170
104
                if (!nullmap[i]) {
171
99
                    if constexpr (NeedMin) {
172
99
                        _min = std::min(_min, *(data + i));
173
99
                    }
174
99
                    if constexpr (NeedMax) {
175
99
                        _max = std::max(_max, *(data + i));
176
99
                    }
177
99
                }
178
104
            }
179
44
        }
180
44
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
75
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
75
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
75
        } else {
168
75
            const T* data = (T*)column->get_raw_data().data;
169
764
            for (size_t i = start; i < size; i++) {
170
689
                if (!nullmap[i]) {
171
644
                    if constexpr (NeedMin) {
172
644
                        _min = std::min(_min, *(data + i));
173
644
                    }
174
644
                    if constexpr (NeedMax) {
175
644
                        _max = std::max(_max, *(data + i));
176
644
                    }
177
644
                }
178
689
            }
179
75
        }
180
75
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
1.31k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
1.31k
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
1.31k
        } else {
168
1.31k
            const T* data = (T*)column->get_raw_data().data;
169
1.39M
            for (size_t i = start; i < size; i++) {
170
1.39M
                if (!nullmap[i]) {
171
1.39M
                    if constexpr (NeedMin) {
172
1.39M
                        _min = std::min(_min, *(data + i));
173
1.39M
                    }
174
1.39M
                    if constexpr (NeedMax) {
175
1.39M
                        _max = std::max(_max, *(data + i));
176
1.39M
                    }
177
1.39M
                }
178
1.39M
            }
179
1.31k
        }
180
1.31k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
726
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
726
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
726
        } else {
168
726
            const T* data = (T*)column->get_raw_data().data;
169
203k
            for (size_t i = start; i < size; i++) {
170
202k
                if (!nullmap[i]) {
171
202k
                    if constexpr (NeedMin) {
172
202k
                        _min = std::min(_min, *(data + i));
173
202k
                    }
174
202k
                    if constexpr (NeedMax) {
175
202k
                        _max = std::max(_max, *(data + i));
176
202k
                    }
177
202k
                }
178
202k
            }
179
726
        }
180
726
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
4
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
4
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
4
        } else {
168
4
            const T* data = (T*)column->get_raw_data().data;
169
8
            for (size_t i = start; i < size; i++) {
170
4
                if (!nullmap[i]) {
171
4
                    if constexpr (NeedMin) {
172
4
                        _min = std::min(_min, *(data + i));
173
4
                    }
174
4
                    if constexpr (NeedMax) {
175
4
                        _max = std::max(_max, *(data + i));
176
4
                    }
177
4
                }
178
4
            }
179
4
        }
180
4
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
32
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
32
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
32
        } else {
168
32
            const T* data = (T*)column->get_raw_data().data;
169
80
            for (size_t i = start; i < size; i++) {
170
48
                if (!nullmap[i]) {
171
40
                    if constexpr (NeedMin) {
172
40
                        _min = std::min(_min, *(data + i));
173
40
                    }
174
40
                    if constexpr (NeedMax) {
175
40
                        _max = std::max(_max, *(data + i));
176
40
                    }
177
40
                }
178
48
            }
179
32
        }
180
32
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
7
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
7
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
7
        } else {
168
7
            const T* data = (T*)column->get_raw_data().data;
169
14
            for (size_t i = start; i < size; i++) {
170
7
                if (!nullmap[i]) {
171
0
                    if constexpr (NeedMin) {
172
0
                        _min = std::min(_min, *(data + i));
173
0
                    }
174
0
                    if constexpr (NeedMax) {
175
0
                        _max = std::max(_max, *(data + i));
176
0
                    }
177
0
                }
178
7
            }
179
7
        }
180
7
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
62
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
62
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
62
        } else {
168
62
            const T* data = (T*)column->get_raw_data().data;
169
421
            for (size_t i = start; i < size; i++) {
170
359
                if (!nullmap[i]) {
171
357
                    if constexpr (NeedMin) {
172
357
                        _min = std::min(_min, *(data + i));
173
357
                    }
174
357
                    if constexpr (NeedMax) {
175
357
                        _max = std::max(_max, *(data + i));
176
357
                    }
177
357
                }
178
359
            }
179
62
        }
180
62
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
47
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
47
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
47
        } else {
168
47
            const T* data = (T*)column->get_raw_data().data;
169
6.11k
            for (size_t i = start; i < size; i++) {
170
6.06k
                if (!nullmap[i]) {
171
5.88k
                    if constexpr (NeedMin) {
172
5.88k
                        _min = std::min(_min, *(data + i));
173
5.88k
                    }
174
5.88k
                    if constexpr (NeedMax) {
175
5.88k
                        _max = std::max(_max, *(data + i));
176
5.88k
                    }
177
5.88k
                }
178
6.06k
            }
179
47
        }
180
47
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
87
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
87
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
87
        } else {
168
87
            const T* data = (T*)column->get_raw_data().data;
169
222
            for (size_t i = start; i < size; i++) {
170
135
                if (!nullmap[i]) {
171
123
                    if constexpr (NeedMin) {
172
123
                        _min = std::min(_min, *(data + i));
173
123
                    }
174
123
                    if constexpr (NeedMax) {
175
123
                        _max = std::max(_max, *(data + i));
176
123
                    }
177
123
                }
178
135
            }
179
87
        }
180
87
    }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
1
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
1
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
1
        } else {
168
1
            const T* data = (T*)column->get_raw_data().data;
169
4
            for (size_t i = start; i < size; i++) {
170
3
                if (!nullmap[i]) {
171
3
                    if constexpr (NeedMin) {
172
3
                        _min = std::min(_min, *(data + i));
173
3
                    }
174
3
                    if constexpr (NeedMax) {
175
3
                        _max = std::max(_max, *(data + i));
176
3
                    }
177
3
                }
178
3
            }
179
1
        }
180
1
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
149
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
149
        const auto size = column->size();
159
149
        if constexpr (std::is_same_v<T, std::string>) {
160
149
            if (column->is_column_string64()) {
161
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
0
                                     start, size);
163
149
            } else {
164
149
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
149
                                     start, size);
166
149
            }
167
        } else {
168
            const T* data = (T*)column->get_raw_data().data;
169
            for (size_t i = start; i < size; i++) {
170
                if (!nullmap[i]) {
171
                    if constexpr (NeedMin) {
172
                        _min = std::min(_min, *(data + i));
173
                    }
174
                    if constexpr (NeedMax) {
175
                        _max = std::max(_max, *(data + i));
176
                    }
177
                }
178
            }
179
        }
180
149
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
9
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
9
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
9
        } else {
168
9
            const T* data = (T*)column->get_raw_data().data;
169
18
            for (size_t i = start; i < size; i++) {
170
9
                if (!nullmap[i]) {
171
9
                    if constexpr (NeedMin) {
172
9
                        _min = std::min(_min, *(data + i));
173
9
                    }
174
9
                    if constexpr (NeedMax) {
175
9
                        _max = std::max(_max, *(data + i));
176
9
                    }
177
9
                }
178
9
            }
179
9
        }
180
9
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
59
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
59
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
59
        } else {
168
59
            const T* data = (T*)column->get_raw_data().data;
169
162
            for (size_t i = start; i < size; i++) {
170
103
                if (!nullmap[i]) {
171
90
                    if constexpr (NeedMin) {
172
90
                        _min = std::min(_min, *(data + i));
173
90
                    }
174
90
                    if constexpr (NeedMax) {
175
90
                        _max = std::max(_max, *(data + i));
176
90
                    }
177
90
                }
178
103
            }
179
59
        }
180
59
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
30
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
30
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
30
        } else {
168
30
            const T* data = (T*)column->get_raw_data().data;
169
141
            for (size_t i = start; i < size; i++) {
170
111
                if (!nullmap[i]) {
171
47
                    if constexpr (NeedMin) {
172
47
                        _min = std::min(_min, *(data + i));
173
47
                    }
174
47
                    if constexpr (NeedMax) {
175
47
                        _max = std::max(_max, *(data + i));
176
47
                    }
177
47
                }
178
111
            }
179
30
        }
180
30
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
33
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
33
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
33
        } else {
168
33
            const T* data = (T*)column->get_raw_data().data;
169
693
            for (size_t i = start; i < size; i++) {
170
660
                if (!nullmap[i]) {
171
660
                    if constexpr (NeedMin) {
172
660
                        _min = std::min(_min, *(data + i));
173
660
                    }
174
660
                    if constexpr (NeedMax) {
175
660
                        _max = std::max(_max, *(data + i));
176
660
                    }
177
660
                }
178
660
            }
179
33
        }
180
33
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
3
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
3
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
3
        } else {
168
3
            const T* data = (T*)column->get_raw_data().data;
169
303
            for (size_t i = start; i < size; i++) {
170
300
                if (!nullmap[i]) {
171
273
                    if constexpr (NeedMin) {
172
273
                        _min = std::min(_min, *(data + i));
173
273
                    }
174
273
                    if constexpr (NeedMax) {
175
273
                        _max = std::max(_max, *(data + i));
176
273
                    }
177
273
                }
178
300
            }
179
3
        }
180
3
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
181
182
    T _max = type_limit<T>::min();
183
    T _min = type_limit<T>::max();
184
185
    bool _min_value_set = false;
186
};
187
188
template <class T>
189
using MinNumFunc = MinMaxNumFunc<T, false, true>;
190
191
template <class T>
192
using MaxNumFunc = MinMaxNumFunc<T, true, false>;
193
194
} // namespace doris