Coverage Report

Created: 2026-06-08 16:12

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
28.3k
    MinMaxFuncBase(bool null_aware) : FilterBase(null_aware) {}
33
    virtual void insert_fixed_len(const ColumnPtr& column, size_t start) = 0;
34
    virtual void* get_max() = 0;
35
    virtual void* get_min() = 0;
36
    // assign minmax data
37
    virtual Status assign(void* min_data, void* max_data) = 0;
38
    // merge from other minmax_func
39
    virtual Status merge(MinMaxFuncBase* minmax_func) = 0;
40
28.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
28.4k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIhLb1ELb1EEC2Eb
Line
Count
Source
49
224
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EEC2Eb
Line
Count
Source
49
16
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIaLb1ELb1EEC2Eb
Line
Count
Source
49
1.44k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIsLb1ELb1EEC2Eb
Line
Count
Source
49
1.07k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIiLb1ELb1EEC2Eb
Line
Count
Source
49
15.2k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIlLb1ELb1EEC2Eb
Line
Count
Source
49
3.41k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncInLb1ELb1EEC2Eb
Line
Count
Source
49
119
    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
34
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EEC2Eb
Line
Count
Source
49
39
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
49
841
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
49
3.39k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EEC2Eb
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EEC2Eb
Line
Count
Source
49
1.19k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EEC2Eb
Line
Count
Source
49
114
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EEC2Eb
Line
Count
Source
49
584
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EEC2Eb
Line
Count
Source
49
293
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EEC2Eb
Line
Count
Source
49
36
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIjLb1ELb1EEC2Eb
Line
Count
Source
49
16
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIoLb1ELb1EEC2Eb
Line
Count
Source
49
6
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
50
1.19k
    ~MinMaxNumFunc() override = default;
51
52
8.18k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
8.18k
        if (column->is_nullable()) {
54
6.59k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
6.59k
            const auto& col = nullable->get_nested_column_ptr();
56
6.59k
            const auto& nullmap = nullable->get_null_map_data();
57
6.59k
            if (nullable->has_null()) {
58
5.79k
                _update_batch(col, nullmap, start);
59
5.79k
                _contain_null = true;
60
5.79k
            } else {
61
802
                _update_batch(col, start);
62
802
            }
63
6.59k
        } else {
64
1.59k
            _update_batch(column, start);
65
1.59k
        }
66
8.18k
    }
_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 (column->is_nullable()) {
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
13
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
13
        if (column->is_nullable()) {
54
12
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
12
            const auto& col = nullable->get_nested_column_ptr();
56
12
            const auto& nullmap = nullable->get_null_map_data();
57
12
            if (nullable->has_null()) {
58
12
                _update_batch(col, nullmap, start);
59
12
                _contain_null = true;
60
12
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
12
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
13
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
900
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
900
        if (column->is_nullable()) {
54
887
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
887
            const auto& col = nullable->get_nested_column_ptr();
56
887
            const auto& nullmap = nullable->get_null_map_data();
57
887
            if (nullable->has_null()) {
58
678
                _update_batch(col, nullmap, start);
59
678
                _contain_null = true;
60
678
            } else {
61
209
                _update_batch(col, start);
62
209
            }
63
887
        } else {
64
13
            _update_batch(column, start);
65
13
        }
66
900
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
541
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
541
        if (column->is_nullable()) {
54
540
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
540
            const auto& col = nullable->get_nested_column_ptr();
56
540
            const auto& nullmap = nullable->get_null_map_data();
57
540
            if (nullable->has_null()) {
58
540
                _update_batch(col, nullmap, start);
59
540
                _contain_null = true;
60
540
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
540
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
541
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
4.70k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
4.70k
        if (column->is_nullable()) {
54
3.59k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
3.59k
            const auto& col = nullable->get_nested_column_ptr();
56
3.59k
            const auto& nullmap = nullable->get_null_map_data();
57
3.59k
            if (nullable->has_null()) {
58
3.01k
                _update_batch(col, nullmap, start);
59
3.01k
                _contain_null = true;
60
3.01k
            } else {
61
578
                _update_batch(col, start);
62
578
            }
63
3.59k
        } else {
64
1.11k
            _update_batch(column, start);
65
1.11k
        }
66
4.70k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
699
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
699
        if (column->is_nullable()) {
54
536
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
536
            const auto& col = nullable->get_nested_column_ptr();
56
536
            const auto& nullmap = nullable->get_null_map_data();
57
537
            if (nullable->has_null()) {
58
537
                _update_batch(col, nullmap, start);
59
537
                _contain_null = true;
60
18.4E
            } else {
61
18.4E
                _update_batch(col, start);
62
18.4E
            }
63
536
        } else {
64
163
            _update_batch(column, start);
65
163
        }
66
699
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
19
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
19
        if (column->is_nullable()) {
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
15
        } else {
64
15
            _update_batch(column, start);
65
15
        }
66
19
    }
_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 (column->is_nullable()) {
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
19
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
19
        if (column->is_nullable()) {
54
18
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
18
            const auto& col = nullable->get_nested_column_ptr();
56
18
            const auto& nullmap = nullable->get_null_map_data();
57
18
            if (nullable->has_null()) {
58
17
                _update_batch(col, nullmap, start);
59
17
                _contain_null = true;
60
17
            } else {
61
1
                _update_batch(col, start);
62
1
            }
63
18
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
19
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
7
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
7
        if (column->is_nullable()) {
54
5
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
5
            const auto& col = nullable->get_nested_column_ptr();
56
5
            const auto& nullmap = nullable->get_null_map_data();
57
5
            if (nullable->has_null()) {
58
5
                _update_batch(col, nullmap, start);
59
5
                _contain_null = true;
60
5
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
5
        } else {
64
2
            _update_batch(column, start);
65
2
        }
66
7
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
52
260
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
260
        if (column->is_nullable()) {
54
104
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
104
            const auto& col = nullable->get_nested_column_ptr();
56
104
            const auto& nullmap = nullable->get_null_map_data();
57
104
            if (nullable->has_null()) {
58
102
                _update_batch(col, nullmap, start);
59
102
                _contain_null = true;
60
102
            } else {
61
2
                _update_batch(col, start);
62
2
            }
63
156
        } else {
64
156
            _update_batch(column, start);
65
156
        }
66
260
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
52
439
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
439
        if (column->is_nullable()) {
54
422
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
422
            const auto& col = nullable->get_nested_column_ptr();
56
422
            const auto& nullmap = nullable->get_null_map_data();
57
423
            if (nullable->has_null()) {
58
423
                _update_batch(col, nullmap, start);
59
423
                _contain_null = true;
60
18.4E
            } else {
61
18.4E
                _update_batch(col, start);
62
18.4E
            }
63
422
        } else {
64
17
            _update_batch(column, start);
65
17
        }
66
439
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
52
237
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
237
        if (column->is_nullable()) {
54
182
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
182
            const auto& col = nullable->get_nested_column_ptr();
56
182
            const auto& nullmap = nullable->get_null_map_data();
57
182
            if (nullable->has_null()) {
58
180
                _update_batch(col, nullmap, start);
59
180
                _contain_null = true;
60
180
            } else {
61
2
                _update_batch(col, start);
62
2
            }
63
182
        } else {
64
55
            _update_batch(column, start);
65
55
        }
66
237
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
52
84
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
84
        if (column->is_nullable()) {
54
82
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
82
            const auto& col = nullable->get_nested_column_ptr();
56
82
            const auto& nullmap = nullable->get_null_map_data();
57
83
            if (nullable->has_null()) {
58
83
                _update_batch(col, nullmap, start);
59
83
                _contain_null = true;
60
18.4E
            } else {
61
18.4E
                _update_batch(col, start);
62
18.4E
            }
63
82
        } else {
64
2
            _update_batch(column, start);
65
2
        }
66
84
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
52
96
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
96
        if (column->is_nullable()) {
54
71
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
71
            const auto& col = nullable->get_nested_column_ptr();
56
71
            const auto& nullmap = nullable->get_null_map_data();
57
71
            if (nullable->has_null()) {
58
71
                _update_batch(col, nullmap, start);
59
71
                _contain_null = true;
60
71
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
71
        } else {
64
25
            _update_batch(column, start);
65
25
        }
66
96
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
92
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
92
        if (column->is_nullable()) {
54
66
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
66
            const auto& col = nullable->get_nested_column_ptr();
56
66
            const auto& nullmap = nullable->get_null_map_data();
57
66
            if (nullable->has_null()) {
58
53
                _update_batch(col, nullmap, start);
59
53
                _contain_null = true;
60
53
            } else {
61
13
                _update_batch(col, start);
62
13
            }
63
66
        } else {
64
26
            _update_batch(column, start);
65
26
        }
66
92
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EEm
Line
Count
Source
52
5
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
5
        if (column->is_nullable()) {
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
4
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
5
    }
_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 (column->is_nullable()) {
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
3
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
3
        if (column->is_nullable()) {
54
2
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
2
            const auto& col = nullable->get_nested_column_ptr();
56
2
            const auto& nullmap = nullable->get_null_map_data();
57
2
            if (nullable->has_null()) {
58
2
                _update_batch(col, nullmap, start);
59
2
                _contain_null = true;
60
2
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
2
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
3
    }
67
68
15.9k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
15.9k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
15.9k
        if constexpr (NeedMin) {
71
15.9k
            if constexpr (IsStringValue) {
72
695
                if (other_minmax->_min < _min || !_min_value_set) {
73
35
                    _min = other_minmax->_min;
74
35
                    _min_value_set = true;
75
35
                }
76
15.2k
            } else if (other_minmax->_min < _min) {
77
1.52k
                _min = other_minmax->_min;
78
1.52k
            }
79
15.9k
        }
80
15.9k
        if constexpr (NeedMax) {
81
15.9k
            if (other_minmax->_max > _max) {
82
1.36k
                _max = other_minmax->_max;
83
1.36k
            }
84
15.9k
        }
85
86
15.9k
        _contain_null |= minmax_func->contain_null();
87
15.9k
        return Status::OK();
88
15.9k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
172
    Status merge(MinMaxFuncBase* minmax_func) override {
69
172
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
172
        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
172
            } else if (other_minmax->_min < _min) {
77
1
                _min = other_minmax->_min;
78
1
            }
79
172
        }
80
172
        if constexpr (NeedMax) {
81
172
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
172
        }
85
86
172
        _contain_null |= minmax_func->contain_null();
87
172
        return Status::OK();
88
172
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
10
    Status merge(MinMaxFuncBase* minmax_func) override {
69
10
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
10
        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
10
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
10
        }
80
10
        if constexpr (NeedMax) {
81
10
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
10
        }
85
86
10
        _contain_null |= minmax_func->contain_null();
87
10
        return Status::OK();
88
10
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
787
    Status merge(MinMaxFuncBase* minmax_func) override {
69
787
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
787
        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
787
            } else if (other_minmax->_min < _min) {
77
118
                _min = other_minmax->_min;
78
118
            }
79
787
        }
80
787
        if constexpr (NeedMax) {
81
787
            if (other_minmax->_max > _max) {
82
113
                _max = other_minmax->_max;
83
113
            }
84
787
        }
85
86
787
        _contain_null |= minmax_func->contain_null();
87
787
        return Status::OK();
88
787
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
452
    Status merge(MinMaxFuncBase* minmax_func) override {
69
452
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
452
        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
452
            } else if (other_minmax->_min < _min) {
77
39
                _min = other_minmax->_min;
78
39
            }
79
452
        }
80
452
        if constexpr (NeedMax) {
81
452
            if (other_minmax->_max > _max) {
82
42
                _max = other_minmax->_max;
83
42
            }
84
452
        }
85
86
452
        _contain_null |= minmax_func->contain_null();
87
452
        return Status::OK();
88
452
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
8.69k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
8.69k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
8.69k
        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.69k
            } else if (other_minmax->_min < _min) {
77
1.07k
                _min = other_minmax->_min;
78
1.07k
            }
79
8.69k
        }
80
8.69k
        if constexpr (NeedMax) {
81
8.69k
            if (other_minmax->_max > _max) {
82
907
                _max = other_minmax->_max;
83
907
            }
84
8.69k
        }
85
86
8.69k
        _contain_null |= minmax_func->contain_null();
87
8.69k
        return Status::OK();
88
8.69k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
968
    Status merge(MinMaxFuncBase* minmax_func) override {
69
968
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
968
        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
968
            } else if (other_minmax->_min < _min) {
77
67
                _min = other_minmax->_min;
78
67
            }
79
968
        }
80
968
        if constexpr (NeedMax) {
81
968
            if (other_minmax->_max > _max) {
82
76
                _max = other_minmax->_max;
83
76
            }
84
968
        }
85
86
968
        _contain_null |= minmax_func->contain_null();
87
968
        return Status::OK();
88
968
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
75
    Status merge(MinMaxFuncBase* minmax_func) override {
69
75
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
75
        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
75
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
75
        }
80
75
        if constexpr (NeedMax) {
81
75
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
75
        }
85
86
75
        _contain_null |= minmax_func->contain_null();
87
75
        return Status::OK();
88
75
    }
_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
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
5
    Status merge(MinMaxFuncBase* minmax_func) override {
69
5
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
5
        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
5
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
5
        }
80
5
        if constexpr (NeedMax) {
81
5
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
5
        }
85
86
5
        _contain_null |= minmax_func->contain_null();
87
5
        return Status::OK();
88
5
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
25
    Status merge(MinMaxFuncBase* minmax_func) override {
69
25
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
25
        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
25
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
25
        }
80
25
        if constexpr (NeedMax) {
81
25
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
25
        }
85
86
25
        _contain_null |= minmax_func->contain_null();
87
25
        return Status::OK();
88
25
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
561
    Status merge(MinMaxFuncBase* minmax_func) override {
69
561
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
561
        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
561
            } else if (other_minmax->_min < _min) {
77
46
                _min = other_minmax->_min;
78
46
            }
79
561
        }
80
561
        if constexpr (NeedMax) {
81
561
            if (other_minmax->_max > _max) {
82
34
                _max = other_minmax->_max;
83
34
            }
84
561
        }
85
86
561
        _contain_null |= minmax_func->contain_null();
87
561
        return Status::OK();
88
561
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
2.78k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
2.78k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
2.78k
        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.78k
            } else if (other_minmax->_min < _min) {
77
142
                _min = other_minmax->_min;
78
142
            }
79
2.78k
        }
80
2.78k
        if constexpr (NeedMax) {
81
2.78k
            if (other_minmax->_max > _max) {
82
134
                _max = other_minmax->_max;
83
134
            }
84
2.78k
        }
85
86
2.78k
        _contain_null |= minmax_func->contain_null();
87
2.78k
        return Status::OK();
88
2.78k
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
695
    Status merge(MinMaxFuncBase* minmax_func) override {
69
695
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
695
        if constexpr (NeedMin) {
71
695
            if constexpr (IsStringValue) {
72
695
                if (other_minmax->_min < _min || !_min_value_set) {
73
35
                    _min = other_minmax->_min;
74
35
                    _min_value_set = true;
75
35
                }
76
            } else if (other_minmax->_min < _min) {
77
                _min = other_minmax->_min;
78
            }
79
695
        }
80
695
        if constexpr (NeedMax) {
81
695
            if (other_minmax->_max > _max) {
82
27
                _max = other_minmax->_max;
83
27
            }
84
695
        }
85
86
695
        _contain_null |= minmax_func->contain_null();
87
695
        return Status::OK();
88
695
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
70
    Status merge(MinMaxFuncBase* minmax_func) override {
69
70
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
70
        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
70
            } else if (other_minmax->_min < _min) {
77
6
                _min = other_minmax->_min;
78
6
            }
79
70
        }
80
70
        if constexpr (NeedMax) {
81
70
            if (other_minmax->_max > _max) {
82
8
                _max = other_minmax->_max;
83
8
            }
84
70
        }
85
86
70
        _contain_null |= minmax_func->contain_null();
87
70
        return Status::OK();
88
70
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
279
    Status merge(MinMaxFuncBase* minmax_func) override {
69
279
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
279
        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
279
            } else if (other_minmax->_min < _min) {
77
5
                _min = other_minmax->_min;
78
5
            }
79
279
        }
80
279
        if constexpr (NeedMax) {
81
279
            if (other_minmax->_max > _max) {
82
5
                _max = other_minmax->_max;
83
5
            }
84
279
        }
85
86
279
        _contain_null |= minmax_func->contain_null();
87
279
        return Status::OK();
88
279
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
108
    Status merge(MinMaxFuncBase* minmax_func) override {
69
108
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
108
        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
108
            } else if (other_minmax->_min < _min) {
77
27
                _min = other_minmax->_min;
78
27
            }
79
108
        }
80
108
        if constexpr (NeedMax) {
81
108
            if (other_minmax->_max > _max) {
82
19
                _max = other_minmax->_max;
83
19
            }
84
108
        }
85
86
108
        _contain_null |= minmax_func->contain_null();
87
108
        return Status::OK();
88
108
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIoLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
89
90
5.93k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_maxEv
Line
Count
Source
90
26
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_maxEv
Line
Count
Source
90
4
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_maxEv
Line
Count
Source
90
235
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_maxEv
Line
Count
Source
90
145
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_maxEv
Line
Count
Source
90
3.11k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_maxEv
Line
Count
Source
90
1.29k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_maxEv
Line
Count
Source
90
23
    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
15
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_maxEv
Line
Count
Source
90
9
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
129
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
427
    void* get_max() override { return &_max; }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_maxEv
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
204
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_maxEv
Line
Count
Source
90
25
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_maxEv
Line
Count
Source
90
153
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_maxEv
Line
Count
Source
90
74
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
19
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_maxEv
Line
Count
Source
90
9
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_maxEv
Line
Count
Source
90
4
    void* get_max() override { return &_max; }
91
92
5.96k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_minEv
Line
Count
Source
92
26
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_minEv
Line
Count
Source
92
4
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_minEv
Line
Count
Source
92
224
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_minEv
Line
Count
Source
92
145
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_minEv
Line
Count
Source
92
3.11k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_minEv
Line
Count
Source
92
1.30k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_minEv
Line
Count
Source
92
23
    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
8
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_minEv
Line
Count
Source
92
9
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
92
129
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
92
430
    void* get_min() override { return &_min; }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_minEv
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_minEv
Line
Count
Source
92
219
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_minEv
Line
Count
Source
92
25
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_minEv
Line
Count
Source
92
155
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_minEv
Line
Count
Source
92
82
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_minEv
Line
Count
Source
92
19
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_minEv
Line
Count
Source
92
9
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_minEv
Line
Count
Source
92
4
    void* get_min() override { return &_min; }
93
94
1.86k
    Status assign(void* min_data, void* max_data) override {
95
1.86k
        if constexpr (IsStringValue) {
96
67
            _min_value_set = true;
97
67
        }
98
1.86k
        _min = *(T*)min_data;
99
1.86k
        _max = *(T*)max_data;
100
1.86k
        return Status::OK();
101
1.86k
    }
_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
59
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
59
        _min = *(T*)min_data;
99
59
        _max = *(T*)max_data;
100
59
        return Status::OK();
101
59
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
152
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
152
        _min = *(T*)min_data;
99
152
        _max = *(T*)max_data;
100
152
        return Status::OK();
101
152
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1.16k
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1.16k
        _min = *(T*)min_data;
99
1.16k
        _max = *(T*)max_data;
100
1.16k
        return Status::OK();
101
1.16k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
133
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
133
        _min = *(T*)min_data;
99
133
        _max = *(T*)max_data;
100
133
        return Status::OK();
101
133
    }
_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
63
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
63
        _min = *(T*)min_data;
99
63
        _max = *(T*)max_data;
100
63
        return Status::OK();
101
63
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
94
145
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
145
        _min = *(T*)min_data;
99
145
        _max = *(T*)max_data;
100
145
        return Status::OK();
101
145
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE6assignEPvS3_
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE6assignEPvS8_
Line
Count
Source
94
67
    Status assign(void* min_data, void* max_data) override {
95
67
        if constexpr (IsStringValue) {
96
67
            _min_value_set = true;
97
67
        }
98
67
        _min = *(T*)min_data;
99
67
        _max = *(T*)max_data;
100
67
        return Status::OK();
101
67
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE6assignEPvS4_
Line
Count
Source
94
11
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
11
        _min = *(T*)min_data;
99
11
        _max = *(T*)max_data;
100
11
        return Status::OK();
101
11
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE6assignEPvS4_
Line
Count
Source
94
11
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
11
        _min = *(T*)min_data;
99
11
        _max = *(T*)max_data;
100
11
        return Status::OK();
101
11
    }
_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
2.33k
    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
163
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
287
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
1.40k
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
132
    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
4
    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
62
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
144
    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
64
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
10
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
10
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
52
    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
2.33k
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
2.33k
        if constexpr (NeedMin) {
108
2.33k
            f(filter->mutable_min_val(), _min);
109
2.33k
        }
110
2.33k
        if constexpr (NeedMax) {
111
2.33k
            f(filter->mutable_max_val(), _max);
112
2.33k
        }
113
2.33k
    }
_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
163
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
163
        if constexpr (NeedMin) {
108
163
            f(filter->mutable_min_val(), _min);
109
163
        }
110
163
        if constexpr (NeedMax) {
111
163
            f(filter->mutable_max_val(), _max);
112
163
        }
113
163
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7_set_pbIZNS_13get_convertorIsEEDavEUlPNS_12PColumnValueERKsE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
288
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
288
        if constexpr (NeedMin) {
108
288
            f(filter->mutable_min_val(), _min);
109
288
        }
110
288
        if constexpr (NeedMax) {
111
288
            f(filter->mutable_max_val(), _max);
112
288
        }
113
288
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7_set_pbIZNS_13get_convertorIiEEDavEUlPNS_12PColumnValueERKiE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
1.40k
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
1.40k
        if constexpr (NeedMin) {
108
1.40k
            f(filter->mutable_min_val(), _min);
109
1.40k
        }
110
1.40k
        if constexpr (NeedMax) {
111
1.40k
            f(filter->mutable_max_val(), _max);
112
1.40k
        }
113
1.40k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7_set_pbIZNS_13get_convertorIlEEDavEUlPNS_12PColumnValueERKlE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
132
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
132
        if constexpr (NeedMin) {
108
132
            f(filter->mutable_min_val(), _min);
109
132
        }
110
132
        if constexpr (NeedMax) {
111
132
            f(filter->mutable_max_val(), _max);
112
132
        }
113
132
    }
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
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
    }
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
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
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
144
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
144
        if constexpr (NeedMin) {
108
144
            f(filter->mutable_min_val(), _min);
109
144
        }
110
144
        if constexpr (NeedMax) {
111
144
            f(filter->mutable_max_val(), _max);
112
144
        }
113
144
    }
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
64
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
64
        if constexpr (NeedMin) {
108
64
            f(filter->mutable_min_val(), _min);
109
64
        }
110
64
        if constexpr (NeedMax) {
111
64
            f(filter->mutable_max_val(), _max);
112
64
        }
113
64
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7_set_pbIZNS_13get_convertorIS2_EEDavEUlPNS_12PColumnValueERKS2_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
10
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
10
        if constexpr (NeedMin) {
108
10
            f(filter->mutable_min_val(), _min);
109
10
        }
110
10
        if constexpr (NeedMax) {
111
10
            f(filter->mutable_max_val(), _max);
112
10
        }
113
10
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7_set_pbIZNS_13get_convertorIS2_EEDavEUlPNS_12PColumnValueERKS2_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
10
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
10
        if constexpr (NeedMin) {
108
10
            f(filter->mutable_min_val(), _min);
109
10
        }
110
10
        if constexpr (NeedMax) {
111
10
            f(filter->mutable_max_val(), _max);
112
10
        }
113
10
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
52
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
52
        if constexpr (NeedMin) {
108
52
            f(filter->mutable_min_val(), _min);
109
52
        }
110
52
        if constexpr (NeedMax) {
111
52
            f(filter->mutable_max_val(), _max);
112
52
        }
113
52
    }
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
237
                              size_t start, size_t size) {
117
3.07k
        for (size_t i = start; i < size; i++) {
118
2.84k
            if (nullmap == nullptr || !nullmap[i]) {
119
2.80k
                if constexpr (NeedMin) {
120
2.80k
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
121
337
                        _min = column_string.get_data_at(i).to_string();
122
337
                        _min_value_set = true;
123
337
                    }
124
2.80k
                }
125
2.80k
                if constexpr (NeedMax) {
126
2.80k
                    if (column_string.get_data_at(i) > StringRef(_max)) {
127
646
                        _max = column_string.get_data_at(i).to_string();
128
646
                    }
129
2.80k
                }
130
2.80k
            }
131
2.84k
        }
132
237
    }
_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
236
                              size_t start, size_t size) {
117
3.07k
        for (size_t i = start; i < size; i++) {
118
2.83k
            if (nullmap == nullptr || !nullmap[i]) {
119
2.79k
                if constexpr (NeedMin) {
120
2.79k
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
121
336
                        _min = column_string.get_data_at(i).to_string();
122
336
                        _min_value_set = true;
123
336
                    }
124
2.79k
                }
125
2.79k
                if constexpr (NeedMax) {
126
2.79k
                    if (column_string.get_data_at(i) > StringRef(_max)) {
127
638
                        _max = column_string.get_data_at(i).to_string();
128
638
                    }
129
2.79k
                }
130
2.79k
            }
131
2.83k
        }
132
236
    }
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
57
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
1
                                     size);
140
56
            } else {
141
56
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
56
                                     size);
143
56
            }
144
2.35k
        } else {
145
2.35k
            const T* data = (T*)column->get_raw_data().data;
146
1.17M
            for (size_t i = start; i < size; i++) {
147
1.17M
                if constexpr (NeedMin) {
148
1.17M
                    _min = std::min(_min, *(data + i));
149
1.17M
                }
150
1.17M
                if constexpr (NeedMax) {
151
1.17M
                    _max = std::max(_max, *(data + i));
152
1.17M
                }
153
1.17M
            }
154
2.35k
        }
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
223
    void _update_batch(const ColumnPtr& column, size_t start) {
135
223
        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
223
        } else {
145
223
            const T* data = (T*)column->get_raw_data().data;
146
697
            for (size_t i = start; i < size; i++) {
147
474
                if constexpr (NeedMin) {
148
474
                    _min = std::min(_min, *(data + i));
149
474
                }
150
474
                if constexpr (NeedMax) {
151
474
                    _max = std::max(_max, *(data + i));
152
474
                }
153
474
            }
154
223
        }
155
223
    }
_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.70k
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1.70k
        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.70k
        } else {
145
1.70k
            const T* data = (T*)column->get_raw_data().data;
146
1.17M
            for (size_t i = start; i < size; i++) {
147
1.17M
                if constexpr (NeedMin) {
148
1.17M
                    _min = std::min(_min, *(data + i));
149
1.17M
                }
150
1.17M
                if constexpr (NeedMax) {
151
1.17M
                    _max = std::max(_max, *(data + i));
152
1.17M
                }
153
1.17M
            }
154
1.70k
        }
155
1.70k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
162
    void _update_batch(const ColumnPtr& column, size_t start) {
135
162
        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
162
        } else {
145
162
            const T* data = (T*)column->get_raw_data().data;
146
2.00k
            for (size_t i = start; i < size; i++) {
147
1.84k
                if constexpr (NeedMin) {
148
1.84k
                    _min = std::min(_min, *(data + i));
149
1.84k
                }
150
1.84k
                if constexpr (NeedMax) {
151
1.84k
                    _max = std::max(_max, *(data + i));
152
1.84k
                }
153
1.84k
            }
154
162
        }
155
162
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
15
    void _update_batch(const ColumnPtr& column, size_t start) {
135
15
        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
15
        } else {
145
15
            const T* data = (T*)column->get_raw_data().data;
146
45
            for (size_t i = start; i < size; i++) {
147
30
                if constexpr (NeedMin) {
148
30
                    _min = std::min(_min, *(data + i));
149
30
                }
150
30
                if constexpr (NeedMax) {
151
30
                    _max = std::max(_max, *(data + i));
152
30
                }
153
30
            }
154
15
        }
155
15
    }
_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
158
    void _update_batch(const ColumnPtr& column, size_t start) {
135
158
        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
158
        } else {
145
158
            const T* data = (T*)column->get_raw_data().data;
146
448
            for (size_t i = start; i < size; i++) {
147
290
                if constexpr (NeedMin) {
148
290
                    _min = std::min(_min, *(data + i));
149
290
                }
150
290
                if constexpr (NeedMax) {
151
290
                    _max = std::max(_max, *(data + i));
152
290
                }
153
290
            }
154
158
        }
155
158
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
134
17
    void _update_batch(const ColumnPtr& column, size_t start) {
135
17
        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
17
        } else {
145
17
            const T* data = (T*)column->get_raw_data().data;
146
69
            for (size_t i = start; i < size; i++) {
147
52
                if constexpr (NeedMin) {
148
52
                    _min = std::min(_min, *(data + i));
149
52
                }
150
52
                if constexpr (NeedMax) {
151
52
                    _max = std::max(_max, *(data + i));
152
52
                }
153
52
            }
154
17
        }
155
17
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
134
57
    void _update_batch(const ColumnPtr& column, size_t start) {
135
57
        const auto size = column->size();
136
57
        if constexpr (std::is_same_v<T, std::string>) {
137
57
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
1
                                     size);
140
56
            } else {
141
56
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
56
                                     size);
143
56
            }
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
57
    }
_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
25
    void _update_batch(const ColumnPtr& column, size_t start) {
135
25
        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
25
        } else {
145
25
            const T* data = (T*)column->get_raw_data().data;
146
123
            for (size_t i = start; i < size; i++) {
147
98
                if constexpr (NeedMin) {
148
98
                    _min = std::min(_min, *(data + i));
149
98
                }
150
98
                if constexpr (NeedMax) {
151
98
                    _max = std::max(_max, *(data + i));
152
98
                }
153
98
            }
154
25
        }
155
25
    }
_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
112
            for (size_t i = start; i < size; i++) {
147
73
                if constexpr (NeedMin) {
148
73
                    _min = std::min(_min, *(data + i));
149
73
                }
150
73
                if constexpr (NeedMax) {
151
73
                    _max = std::max(_max, *(data + i));
152
73
                }
153
73
            }
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
5.77k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
5.77k
        const auto size = column->size();
159
5.77k
        if constexpr (std::is_same_v<T, std::string>) {
160
180
            if (column->is_column_string64()) {
161
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
0
                                     start, size);
163
180
            } else {
164
180
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
180
                                     start, size);
166
180
            }
167
5.59k
        } else {
168
5.59k
            const T* data = (T*)column->get_raw_data().data;
169
2.59M
            for (size_t i = start; i < size; i++) {
170
2.58M
                if (!nullmap[i]) {
171
2.58M
                    if constexpr (NeedMin) {
172
2.58M
                        _min = std::min(_min, *(data + i));
173
2.58M
                    }
174
2.58M
                    if constexpr (NeedMax) {
175
2.58M
                        _max = std::max(_max, *(data + i));
176
2.58M
                    }
177
2.58M
                }
178
2.58M
            }
179
5.59k
        }
180
5.77k
    }
_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
12
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
12
        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
12
        } else {
168
12
            const T* data = (T*)column->get_raw_data().data;
169
48
            for (size_t i = start; i < size; i++) {
170
36
                if (!nullmap[i]) {
171
36
                    if constexpr (NeedMin) {
172
36
                        _min = std::min(_min, *(data + i));
173
36
                    }
174
36
                    if constexpr (NeedMax) {
175
36
                        _max = std::max(_max, *(data + i));
176
36
                    }
177
36
                }
178
36
            }
179
12
        }
180
12
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
677
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
677
        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
677
        } else {
168
677
            const T* data = (T*)column->get_raw_data().data;
169
2.43k
            for (size_t i = start; i < size; i++) {
170
1.76k
                if (!nullmap[i]) {
171
1.73k
                    if constexpr (NeedMin) {
172
1.73k
                        _min = std::min(_min, *(data + i));
173
1.73k
                    }
174
1.73k
                    if constexpr (NeedMax) {
175
1.73k
                        _max = std::max(_max, *(data + i));
176
1.73k
                    }
177
1.73k
                }
178
1.76k
            }
179
677
        }
180
677
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
540
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
540
        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
540
        } else {
168
540
            const T* data = (T*)column->get_raw_data().data;
169
3.44k
            for (size_t i = start; i < size; i++) {
170
2.90k
                if (!nullmap[i]) {
171
2.65k
                    if constexpr (NeedMin) {
172
2.65k
                        _min = std::min(_min, *(data + i));
173
2.65k
                    }
174
2.65k
                    if constexpr (NeedMax) {
175
2.65k
                        _max = std::max(_max, *(data + i));
176
2.65k
                    }
177
2.65k
                }
178
2.90k
            }
179
540
        }
180
540
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
3.00k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
3.00k
        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.00k
        } else {
168
3.00k
            const T* data = (T*)column->get_raw_data().data;
169
2.58M
            for (size_t i = start; i < size; i++) {
170
2.58M
                if (!nullmap[i]) {
171
2.58M
                    if constexpr (NeedMin) {
172
2.58M
                        _min = std::min(_min, *(data + i));
173
2.58M
                    }
174
2.58M
                    if constexpr (NeedMax) {
175
2.58M
                        _max = std::max(_max, *(data + i));
176
2.58M
                    }
177
2.58M
                }
178
2.58M
            }
179
3.00k
        }
180
3.00k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
536
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
536
        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
536
        } else {
168
536
            const T* data = (T*)column->get_raw_data().data;
169
2.36k
            for (size_t i = start; i < size; i++) {
170
1.82k
                if (!nullmap[i]) {
171
1.58k
                    if constexpr (NeedMin) {
172
1.58k
                        _min = std::min(_min, *(data + i));
173
1.58k
                    }
174
1.58k
                    if constexpr (NeedMax) {
175
1.58k
                        _max = std::max(_max, *(data + i));
176
1.58k
                    }
177
1.58k
                }
178
1.82k
            }
179
536
        }
180
536
    }
_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
17
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
17
        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
17
        } else {
168
17
            const T* data = (T*)column->get_raw_data().data;
169
58
            for (size_t i = start; i < size; i++) {
170
41
                if (!nullmap[i]) {
171
32
                    if constexpr (NeedMin) {
172
32
                        _min = std::min(_min, *(data + i));
173
32
                    }
174
32
                    if constexpr (NeedMax) {
175
32
                        _max = std::max(_max, *(data + i));
176
32
                    }
177
32
                }
178
41
            }
179
17
        }
180
17
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
5
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
5
        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
5
        } else {
168
5
            const T* data = (T*)column->get_raw_data().data;
169
35
            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
5
        }
180
5
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
102
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
102
        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
102
        } else {
168
102
            const T* data = (T*)column->get_raw_data().data;
169
349
            for (size_t i = start; i < size; i++) {
170
247
                if (!nullmap[i]) {
171
220
                    if constexpr (NeedMin) {
172
220
                        _min = std::min(_min, *(data + i));
173
220
                    }
174
220
                    if constexpr (NeedMax) {
175
220
                        _max = std::max(_max, *(data + i));
176
220
                    }
177
220
                }
178
247
            }
179
102
        }
180
102
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
422
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
422
        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
422
        } else {
168
422
            const T* data = (T*)column->get_raw_data().data;
169
1.03k
            for (size_t i = start; i < size; i++) {
170
611
                if (!nullmap[i]) {
171
574
                    if constexpr (NeedMin) {
172
574
                        _min = std::min(_min, *(data + i));
173
574
                    }
174
574
                    if constexpr (NeedMax) {
175
574
                        _max = std::max(_max, *(data + i));
176
574
                    }
177
574
                }
178
611
            }
179
422
        }
180
422
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
180
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
180
        const auto size = column->size();
159
180
        if constexpr (std::is_same_v<T, std::string>) {
160
180
            if (column->is_column_string64()) {
161
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
0
                                     start, size);
163
180
            } else {
164
180
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
180
                                     start, size);
166
180
            }
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
180
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
83
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
83
        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
83
        } else {
168
83
            const T* data = (T*)column->get_raw_data().data;
169
305
            for (size_t i = start; i < size; i++) {
170
222
                if (!nullmap[i]) {
171
116
                    if constexpr (NeedMin) {
172
116
                        _min = std::min(_min, *(data + i));
173
116
                    }
174
116
                    if constexpr (NeedMax) {
175
116
                        _max = std::max(_max, *(data + i));
176
116
                    }
177
116
                }
178
222
            }
179
83
        }
180
83
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
71
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
71
        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
71
        } else {
168
71
            const T* data = (T*)column->get_raw_data().data;
169
184
            for (size_t i = start; i < size; i++) {
170
113
                if (!nullmap[i]) {
171
100
                    if constexpr (NeedMin) {
172
100
                        _min = std::min(_min, *(data + i));
173
100
                    }
174
100
                    if constexpr (NeedMax) {
175
100
                        _max = std::max(_max, *(data + i));
176
100
                    }
177
100
                }
178
113
            }
179
71
        }
180
71
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
53
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
53
        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
53
        } else {
168
53
            const T* data = (T*)column->get_raw_data().data;
169
162
            for (size_t i = start; i < size; i++) {
170
109
                if (!nullmap[i]) {
171
75
                    if constexpr (NeedMin) {
172
75
                        _min = std::min(_min, *(data + i));
173
75
                    }
174
75
                    if constexpr (NeedMax) {
175
75
                        _max = std::max(_max, *(data + i));
176
75
                    }
177
75
                }
178
109
            }
179
53
        }
180
53
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_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
140
            for (size_t i = start; i < size; i++) {
170
136
                if (!nullmap[i]) {
171
136
                    if constexpr (NeedMin) {
172
136
                        _min = std::min(_min, *(data + i));
173
136
                    }
174
136
                    if constexpr (NeedMax) {
175
136
                        _max = std::max(_max, *(data + i));
176
136
                    }
177
136
                }
178
136
            }
179
4
        }
180
4
    }
_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
125
            for (size_t i = start; i < size; i++) {
170
122
                if (!nullmap[i]) {
171
111
                    if constexpr (NeedMin) {
172
111
                        _min = std::min(_min, *(data + i));
173
111
                    }
174
111
                    if constexpr (NeedMax) {
175
111
                        _max = std::max(_max, *(data + i));
176
111
                    }
177
111
                }
178
122
            }
179
3
        }
180
3
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
2
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
2
        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
2
        } else {
168
2
            const T* data = (T*)column->get_raw_data().data;
169
24
            for (size_t i = start; i < size; i++) {
170
22
                if (!nullmap[i]) {
171
20
                    if constexpr (NeedMin) {
172
20
                        _min = std::min(_min, *(data + i));
173
20
                    }
174
20
                    if constexpr (NeedMax) {
175
20
                        _max = std::max(_max, *(data + i));
176
20
                    }
177
20
                }
178
22
            }
179
2
        }
180
2
    }
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