Coverage Report

Created: 2026-04-09 13:03

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
50.1k
    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
50.3k
    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
50.2k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIhLb1ELb1EEC2Eb
Line
Count
Source
49
231
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EEC2Eb
Line
Count
Source
49
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIaLb1ELb1EEC2Eb
Line
Count
Source
49
1.88k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIsLb1ELb1EEC2Eb
Line
Count
Source
49
842
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIiLb1ELb1EEC2Eb
Line
Count
Source
49
14.3k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIlLb1ELb1EEC2Eb
Line
Count
Source
49
26.1k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncInLb1ELb1EEC2Eb
Line
Count
Source
49
150
    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
24
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EEC2Eb
Line
Count
Source
49
22
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
49
916
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
49
3.54k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EEC2Eb
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EEC2Eb
Line
Count
Source
49
1.09k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EEC2Eb
Line
Count
Source
49
92
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EEC2Eb
Line
Count
Source
49
472
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EEC2Eb
Line
Count
Source
49
88
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EEC2Eb
Line
Count
Source
49
79
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIjLb1ELb1EEC2Eb
Line
Count
Source
49
4
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIoLb1ELb1EEC2Eb
Line
Count
Source
49
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
50
1.09k
    ~MinMaxNumFunc() override = default;
51
52
7.33k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
7.33k
        if (column->is_nullable()) {
54
5.43k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
5.43k
            const auto& col = nullable->get_nested_column_ptr();
56
5.43k
            const auto& nullmap = nullable->get_null_map_data();
57
5.43k
            if (nullable->has_null()) {
58
4.42k
                _update_batch(col, nullmap, start);
59
4.42k
                _contain_null = true;
60
4.42k
            } else {
61
1.00k
                _update_batch(col, start);
62
1.00k
            }
63
5.43k
        } else {
64
1.90k
            _update_batch(column, start);
65
1.90k
        }
66
7.33k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
27
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
27
        if (column->is_nullable()) {
54
27
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
27
            const auto& col = nullable->get_nested_column_ptr();
56
27
            const auto& nullmap = nullable->get_null_map_data();
57
27
            if (nullable->has_null()) {
58
27
                _update_batch(col, nullmap, start);
59
27
                _contain_null = true;
60
27
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
27
        } else {
64
0
            _update_batch(column, start);
65
0
        }
66
27
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
1
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
1
        if (column->is_nullable()) {
54
0
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
0
            const auto& col = nullable->get_nested_column_ptr();
56
0
            const auto& nullmap = nullable->get_null_map_data();
57
0
            if (nullable->has_null()) {
58
0
                _update_batch(col, nullmap, start);
59
0
                _contain_null = true;
60
0
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
1
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
1
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
578
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
578
        if (column->is_nullable()) {
54
571
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
571
            const auto& col = nullable->get_nested_column_ptr();
56
571
            const auto& nullmap = nullable->get_null_map_data();
57
571
            if (nullable->has_null()) {
58
486
                _update_batch(col, nullmap, start);
59
486
                _contain_null = true;
60
486
            } else {
61
85
                _update_batch(col, start);
62
85
            }
63
571
        } else {
64
7
            _update_batch(column, start);
65
7
        }
66
578
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
265
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
265
        if (column->is_nullable()) {
54
263
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
263
            const auto& col = nullable->get_nested_column_ptr();
56
263
            const auto& nullmap = nullable->get_null_map_data();
57
264
            if (nullable->has_null()) {
58
264
                _update_batch(col, nullmap, start);
59
264
                _contain_null = true;
60
18.4E
            } else {
61
18.4E
                _update_batch(col, start);
62
18.4E
            }
63
263
        } else {
64
2
            _update_batch(column, start);
65
2
        }
66
265
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
3.93k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
3.93k
        if (column->is_nullable()) {
54
2.61k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
2.61k
            const auto& col = nullable->get_nested_column_ptr();
56
2.61k
            const auto& nullmap = nullable->get_null_map_data();
57
2.61k
            if (nullable->has_null()) {
58
1.82k
                _update_batch(col, nullmap, start);
59
1.82k
                _contain_null = true;
60
1.82k
            } else {
61
787
                _update_batch(col, start);
62
787
            }
63
2.61k
        } else {
64
1.32k
            _update_batch(column, start);
65
1.32k
        }
66
3.93k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
1.16k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
1.16k
        if (column->is_nullable()) {
54
1.03k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
1.03k
            const auto& col = nullable->get_nested_column_ptr();
56
1.03k
            const auto& nullmap = nullable->get_null_map_data();
57
1.03k
            if (nullable->has_null()) {
58
986
                _update_batch(col, nullmap, start);
59
986
                _contain_null = true;
60
986
            } else {
61
45
                _update_batch(col, start);
62
45
            }
63
1.03k
        } else {
64
137
            _update_batch(column, start);
65
137
        }
66
1.16k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
86
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
86
        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
82
        } else {
64
82
            _update_batch(column, start);
65
82
        }
66
86
    }
_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
11
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
11
        if (column->is_nullable()) {
54
10
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
10
            const auto& col = nullable->get_nested_column_ptr();
56
10
            const auto& nullmap = nullable->get_null_map_data();
57
10
            if (nullable->has_null()) {
58
6
                _update_batch(col, nullmap, start);
59
6
                _contain_null = true;
60
6
            } else {
61
4
                _update_batch(col, start);
62
4
            }
63
10
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
11
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
17
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
17
        if (column->is_nullable()) {
54
15
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
15
            const auto& col = nullable->get_nested_column_ptr();
56
15
            const auto& nullmap = nullable->get_null_map_data();
57
15
            if (nullable->has_null()) {
58
15
                _update_batch(col, nullmap, start);
59
15
                _contain_null = true;
60
15
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
15
        } else {
64
2
            _update_batch(column, start);
65
2
        }
66
17
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
52
272
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
272
        if (column->is_nullable()) {
54
79
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
79
            const auto& col = nullable->get_nested_column_ptr();
56
79
            const auto& nullmap = nullable->get_null_map_data();
57
79
            if (nullable->has_null()) {
58
79
                _update_batch(col, nullmap, start);
59
79
                _contain_null = true;
60
79
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
193
        } else {
64
193
            _update_batch(column, start);
65
193
        }
66
272
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
52
516
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
516
        if (column->is_nullable()) {
54
418
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
418
            const auto& col = nullable->get_nested_column_ptr();
56
418
            const auto& nullmap = nullable->get_null_map_data();
57
418
            if (nullable->has_null()) {
58
418
                _update_batch(col, nullmap, start);
59
418
                _contain_null = true;
60
418
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
418
        } else {
64
98
            _update_batch(column, start);
65
98
        }
66
516
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
52
227
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
227
        if (column->is_nullable()) {
54
178
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
178
            const auto& col = nullable->get_nested_column_ptr();
56
178
            const auto& nullmap = nullable->get_null_map_data();
57
178
            if (nullable->has_null()) {
58
122
                _update_batch(col, nullmap, start);
59
122
                _contain_null = true;
60
122
            } else {
61
56
                _update_batch(col, start);
62
56
            }
63
178
        } else {
64
49
            _update_batch(column, start);
65
49
        }
66
227
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
52
43
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
43
        if (column->is_nullable()) {
54
42
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
42
            const auto& col = nullable->get_nested_column_ptr();
56
42
            const auto& nullmap = nullable->get_null_map_data();
57
42
            if (nullable->has_null()) {
58
42
                _update_batch(col, nullmap, start);
59
42
                _contain_null = true;
60
42
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
42
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
43
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
52
47
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
47
        if (column->is_nullable()) {
54
46
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
46
            const auto& col = nullable->get_nested_column_ptr();
56
46
            const auto& nullmap = nullable->get_null_map_data();
57
46
            if (nullable->has_null()) {
58
46
                _update_batch(col, nullmap, start);
59
46
                _contain_null = true;
60
46
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
46
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
47
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
44
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
44
        if (column->is_nullable()) {
54
43
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
43
            const auto& col = nullable->get_nested_column_ptr();
56
43
            const auto& nullmap = nullable->get_null_map_data();
57
43
            if (nullable->has_null()) {
58
13
                _update_batch(col, nullmap, start);
59
13
                _contain_null = true;
60
30
            } else {
61
30
                _update_batch(col, start);
62
30
            }
63
43
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
44
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EEm
Line
Count
Source
52
61
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
61
        if (column->is_nullable()) {
54
60
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
60
            const auto& col = nullable->get_nested_column_ptr();
56
60
            const auto& nullmap = nullable->get_null_map_data();
57
61
            if (nullable->has_null()) {
58
61
                _update_batch(col, nullmap, start);
59
61
                _contain_null = true;
60
18.4E
            } else {
61
18.4E
                _update_batch(col, start);
62
18.4E
            }
63
60
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
61
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
2
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
2
        if (column->is_nullable()) {
54
1
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
1
            const auto& col = nullable->get_nested_column_ptr();
56
1
            const auto& nullmap = nullable->get_null_map_data();
57
1
            if (nullable->has_null()) {
58
1
                _update_batch(col, nullmap, start);
59
1
                _contain_null = true;
60
1
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
1
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
2
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
1
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
1
        if (column->is_nullable()) {
54
0
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
0
            const auto& col = nullable->get_nested_column_ptr();
56
0
            const auto& nullmap = nullable->get_null_map_data();
57
0
            if (nullable->has_null()) {
58
0
                _update_batch(col, nullmap, start);
59
0
                _contain_null = true;
60
0
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
1
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
1
    }
67
68
15.3k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
15.3k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
15.3k
        if constexpr (NeedMin) {
71
15.3k
            if constexpr (IsStringValue) {
72
662
                if (other_minmax->_min < _min || !_min_value_set) {
73
45
                    _min = other_minmax->_min;
74
45
                    _min_value_set = true;
75
45
                }
76
14.7k
            } else if (other_minmax->_min < _min) {
77
934
                _min = other_minmax->_min;
78
934
            }
79
15.3k
        }
80
15.3k
        if constexpr (NeedMax) {
81
15.3k
            if (other_minmax->_max > _max) {
82
910
                _max = other_minmax->_max;
83
910
            }
84
15.3k
        }
85
86
15.3k
        _contain_null |= minmax_func->contain_null();
87
15.3k
        return Status::OK();
88
15.3k
    }
_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
1
                _max = other_minmax->_max;
83
1
            }
84
172
        }
85
86
172
        _contain_null |= minmax_func->contain_null();
87
172
        return Status::OK();
88
172
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
22
    Status merge(MinMaxFuncBase* minmax_func) override {
69
22
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
22
        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
22
            } else if (other_minmax->_min < _min) {
77
9
                _min = other_minmax->_min;
78
9
            }
79
22
        }
80
22
        if constexpr (NeedMax) {
81
22
            if (other_minmax->_max > _max) {
82
6
                _max = other_minmax->_max;
83
6
            }
84
22
        }
85
86
22
        _contain_null |= minmax_func->contain_null();
87
22
        return Status::OK();
88
22
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
100
    Status merge(MinMaxFuncBase* minmax_func) override {
69
100
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
100
        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
100
            } else if (other_minmax->_min < _min) {
77
32
                _min = other_minmax->_min;
78
32
            }
79
100
        }
80
100
        if constexpr (NeedMax) {
81
100
            if (other_minmax->_max > _max) {
82
35
                _max = other_minmax->_max;
83
35
            }
84
100
        }
85
86
100
        _contain_null |= minmax_func->contain_null();
87
100
        return Status::OK();
88
100
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
7.17k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
7.17k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
7.17k
        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
7.17k
            } else if (other_minmax->_min < _min) {
77
571
                _min = other_minmax->_min;
78
571
            }
79
7.17k
        }
80
7.17k
        if constexpr (NeedMax) {
81
7.17k
            if (other_minmax->_max > _max) {
82
528
                _max = other_minmax->_max;
83
528
            }
84
7.17k
        }
85
86
7.17k
        _contain_null |= minmax_func->contain_null();
87
7.17k
        return Status::OK();
88
7.17k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
3.20k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
3.20k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
3.20k
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
3.20k
            } else if (other_minmax->_min < _min) {
77
107
                _min = other_minmax->_min;
78
107
            }
79
3.20k
        }
80
3.20k
        if constexpr (NeedMax) {
81
3.20k
            if (other_minmax->_max > _max) {
82
109
                _max = other_minmax->_max;
83
109
            }
84
3.20k
        }
85
86
3.20k
        _contain_null |= minmax_func->contain_null();
87
3.20k
        return Status::OK();
88
3.20k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
82
    Status merge(MinMaxFuncBase* minmax_func) override {
69
82
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
82
        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
82
            } else if (other_minmax->_min < _min) {
77
1
                _min = other_minmax->_min;
78
1
            }
79
82
        }
80
82
        if constexpr (NeedMax) {
81
82
            if (other_minmax->_max > _max) {
82
1
                _max = other_minmax->_max;
83
1
            }
84
82
        }
85
86
82
        _contain_null |= minmax_func->contain_null();
87
82
        return Status::OK();
88
82
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
224
    Status merge(MinMaxFuncBase* minmax_func) override {
69
224
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
224
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
224
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
224
        }
80
224
        if constexpr (NeedMax) {
81
224
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
224
        }
85
86
224
        _contain_null |= minmax_func->contain_null();
87
224
        return Status::OK();
88
224
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIdLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
12
    Status merge(MinMaxFuncBase* minmax_func) override {
69
12
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
12
        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
12
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
12
        }
80
12
        if constexpr (NeedMax) {
81
12
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
12
        }
85
86
12
        _contain_null |= minmax_func->contain_null();
87
12
        return Status::OK();
88
12
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
559
    Status merge(MinMaxFuncBase* minmax_func) override {
69
559
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
559
        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
559
            } else if (other_minmax->_min < _min) {
77
55
                _min = other_minmax->_min;
78
55
            }
79
559
        }
80
559
        if constexpr (NeedMax) {
81
559
            if (other_minmax->_max > _max) {
82
49
                _max = other_minmax->_max;
83
49
            }
84
559
        }
85
86
559
        _contain_null |= minmax_func->contain_null();
87
559
        return Status::OK();
88
559
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
2.82k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
2.82k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
2.82k
        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.82k
            } else if (other_minmax->_min < _min) {
77
151
                _min = other_minmax->_min;
78
151
            }
79
2.82k
        }
80
2.82k
        if constexpr (NeedMax) {
81
2.82k
            if (other_minmax->_max > _max) {
82
144
                _max = other_minmax->_max;
83
144
            }
84
2.82k
        }
85
86
2.82k
        _contain_null |= minmax_func->contain_null();
87
2.82k
        return Status::OK();
88
2.82k
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
662
    Status merge(MinMaxFuncBase* minmax_func) override {
69
662
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
662
        if constexpr (NeedMin) {
71
662
            if constexpr (IsStringValue) {
72
662
                if (other_minmax->_min < _min || !_min_value_set) {
73
45
                    _min = other_minmax->_min;
74
45
                    _min_value_set = true;
75
45
                }
76
            } else if (other_minmax->_min < _min) {
77
                _min = other_minmax->_min;
78
            }
79
662
        }
80
662
        if constexpr (NeedMax) {
81
662
            if (other_minmax->_max > _max) {
82
32
                _max = other_minmax->_max;
83
32
            }
84
662
        }
85
86
662
        _contain_null |= minmax_func->contain_null();
87
662
        return Status::OK();
88
662
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
8
    Status merge(MinMaxFuncBase* minmax_func) override {
69
8
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
8
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
8
            } else if (other_minmax->_min < _min) {
77
7
                _min = other_minmax->_min;
78
7
            }
79
8
        }
80
8
        if constexpr (NeedMax) {
81
8
            if (other_minmax->_max > _max) {
82
5
                _max = other_minmax->_max;
83
5
            }
84
8
        }
85
86
8
        _contain_null |= minmax_func->contain_null();
87
8
        return Status::OK();
88
8
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
266
    Status merge(MinMaxFuncBase* minmax_func) override {
69
266
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
266
        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
266
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
266
        }
80
266
        if constexpr (NeedMax) {
81
266
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
266
        }
85
86
266
        _contain_null |= minmax_func->contain_null();
87
266
        return Status::OK();
88
266
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
26
    Status merge(MinMaxFuncBase* minmax_func) override {
69
26
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
26
        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
26
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
26
        }
80
26
        if constexpr (NeedMax) {
81
26
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
26
        }
85
86
26
        _contain_null |= minmax_func->contain_null();
87
26
        return Status::OK();
88
26
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
45
    Status merge(MinMaxFuncBase* minmax_func) override {
69
45
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
45
        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
45
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
45
        }
80
45
        if constexpr (NeedMax) {
81
45
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
45
        }
85
86
45
        _contain_null |= minmax_func->contain_null();
87
45
        return Status::OK();
88
45
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIoLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
89
90
17.4k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_maxEv
Line
Count
Source
90
31
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_maxEv
Line
Count
Source
90
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_maxEv
Line
Count
Source
90
907
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_maxEv
Line
Count
Source
90
340
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_maxEv
Line
Count
Source
90
3.55k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_maxEv
Line
Count
Source
90
11.5k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_maxEv
Line
Count
Source
90
32
    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
8
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_maxEv
Line
Count
Source
90
7
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
155
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
447
    void* get_max() override { return &_max; }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_maxEv
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
177
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_maxEv
Line
Count
Source
90
43
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_maxEv
Line
Count
Source
90
104
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_maxEv
Line
Count
Source
90
23
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
18
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_maxEv
Line
Count
Source
90
3
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_maxEv
Line
Count
Source
90
2
    void* get_max() override { return &_max; }
91
92
17.3k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_minEv
Line
Count
Source
92
31
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_minEv
Line
Count
Source
92
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_minEv
Line
Count
Source
92
891
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_minEv
Line
Count
Source
92
339
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_minEv
Line
Count
Source
92
3.54k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_minEv
Line
Count
Source
92
11.5k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_minEv
Line
Count
Source
92
31
    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
12
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_minEv
Line
Count
Source
92
7
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
92
155
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
92
449
    void* get_min() override { return &_min; }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_minEv
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_minEv
Line
Count
Source
92
171
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_minEv
Line
Count
Source
92
43
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_minEv
Line
Count
Source
92
104
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_minEv
Line
Count
Source
92
32
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_minEv
Line
Count
Source
92
18
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_minEv
Line
Count
Source
92
3
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_minEv
Line
Count
Source
92
2
    void* get_min() override { return &_min; }
93
94
1.55k
    Status assign(void* min_data, void* max_data) override {
95
1.55k
        if constexpr (IsStringValue) {
96
59
            _min_value_set = true;
97
59
        }
98
1.55k
        _min = *(T*)min_data;
99
1.55k
        _max = *(T*)max_data;
100
1.55k
        return Status::OK();
101
1.55k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
5
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
5
        _min = *(T*)min_data;
99
5
        _max = *(T*)max_data;
100
5
        return Status::OK();
101
5
    }
_ZN5doris13MinMaxNumFuncINS_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
173
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
173
        _min = *(T*)min_data;
99
173
        _max = *(T*)max_data;
100
173
        return Status::OK();
101
173
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
845
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
845
        _min = *(T*)min_data;
99
845
        _max = *(T*)max_data;
100
845
        return Status::OK();
101
845
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
155
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
155
        _min = *(T*)min_data;
99
155
        _max = *(T*)max_data;
100
155
        return Status::OK();
101
155
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
5
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
5
        _min = *(T*)min_data;
99
5
        _max = *(T*)max_data;
100
5
        return Status::OK();
101
5
    }
_ZN5doris13MinMaxNumFuncINS_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
85
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
85
        _min = *(T*)min_data;
99
85
        _max = *(T*)max_data;
100
85
        return Status::OK();
101
85
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
94
143
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
143
        _min = *(T*)min_data;
99
143
        _max = *(T*)max_data;
100
143
        return Status::OK();
101
143
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE6assignEPvS3_
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE6assignEPvS8_
Line
Count
Source
94
59
    Status assign(void* min_data, void* max_data) override {
95
59
        if constexpr (IsStringValue) {
96
59
            _min_value_set = true;
97
59
        }
98
59
        _min = *(T*)min_data;
99
59
        _max = *(T*)max_data;
100
59
        return Status::OK();
101
59
    }
_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
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE6assignEPvS3_
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_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE6assignEPvS7_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
102
103
1.78k
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
4
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
81
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
219
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
1.01k
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
160
    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
8
    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
85
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
142
    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
56
    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>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
5
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIoLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
104
105
private:
106
1.78k
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
1.78k
        if constexpr (NeedMin) {
108
1.78k
            f(filter->mutable_min_val(), _min);
109
1.78k
        }
110
1.78k
        if constexpr (NeedMax) {
111
1.78k
            f(filter->mutable_max_val(), _max);
112
1.78k
        }
113
1.78k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7_set_pbIZNS_13get_convertorIhEEDavEUlPNS_12PColumnValueERKhE_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_14DecimalV2ValueELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7_set_pbIZNS_13get_convertorIaEEDavEUlPNS_12PColumnValueERKaE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
81
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
81
        if constexpr (NeedMin) {
108
81
            f(filter->mutable_min_val(), _min);
109
81
        }
110
81
        if constexpr (NeedMax) {
111
81
            f(filter->mutable_max_val(), _max);
112
81
        }
113
81
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7_set_pbIZNS_13get_convertorIsEEDavEUlPNS_12PColumnValueERKsE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
219
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
219
        if constexpr (NeedMin) {
108
219
            f(filter->mutable_min_val(), _min);
109
219
        }
110
219
        if constexpr (NeedMax) {
111
219
            f(filter->mutable_max_val(), _max);
112
219
        }
113
219
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7_set_pbIZNS_13get_convertorIiEEDavEUlPNS_12PColumnValueERKiE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
1.01k
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
1.01k
        if constexpr (NeedMin) {
108
1.01k
            f(filter->mutable_min_val(), _min);
109
1.01k
        }
110
1.01k
        if constexpr (NeedMax) {
111
1.01k
            f(filter->mutable_max_val(), _max);
112
1.01k
        }
113
1.01k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7_set_pbIZNS_13get_convertorIlEEDavEUlPNS_12PColumnValueERKlE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
160
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
160
        if constexpr (NeedMin) {
108
160
            f(filter->mutable_min_val(), _min);
109
160
        }
110
160
        if constexpr (NeedMax) {
111
160
            f(filter->mutable_max_val(), _max);
112
160
        }
113
160
    }
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
8
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
8
        if constexpr (NeedMin) {
108
8
            f(filter->mutable_min_val(), _min);
109
8
        }
110
8
        if constexpr (NeedMax) {
111
8
            f(filter->mutable_max_val(), _max);
112
8
        }
113
8
    }
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
85
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
85
        if constexpr (NeedMin) {
108
85
            f(filter->mutable_min_val(), _min);
109
85
        }
110
85
        if constexpr (NeedMax) {
111
85
            f(filter->mutable_max_val(), _max);
112
85
        }
113
85
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
142
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
142
        if constexpr (NeedMin) {
108
142
            f(filter->mutable_min_val(), _min);
109
142
        }
110
142
        if constexpr (NeedMax) {
111
142
            f(filter->mutable_max_val(), _max);
112
142
        }
113
142
    }
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
56
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
56
        if constexpr (NeedMin) {
108
56
            f(filter->mutable_min_val(), _min);
109
56
        }
110
56
        if constexpr (NeedMax) {
111
56
            f(filter->mutable_max_val(), _max);
112
56
        }
113
56
    }
_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
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7_set_pbIZNS_13get_convertorIS2_EEDavEUlPNS_12PColumnValueERKS2_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
5
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
5
        if constexpr (NeedMin) {
108
5
            f(filter->mutable_min_val(), _min);
109
5
        }
110
5
        if constexpr (NeedMax) {
111
5
            f(filter->mutable_max_val(), _max);
112
5
        }
113
5
    }
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
227
                              size_t start, size_t size) {
117
990
        for (size_t i = start; i < size; i++) {
118
763
            if (nullmap == nullptr || !nullmap[i]) {
119
743
                if constexpr (NeedMin) {
120
743
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
121
257
                        _min = column_string.get_data_at(i).to_string();
122
257
                        _min_value_set = true;
123
257
                    }
124
743
                }
125
743
                if constexpr (NeedMax) {
126
743
                    if (column_string.get_data_at(i) > StringRef(_max)) {
127
282
                        _max = column_string.get_data_at(i).to_string();
128
282
                    }
129
743
                }
130
743
            }
131
763
        }
132
227
    }
_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
226
                              size_t start, size_t size) {
117
981
        for (size_t i = start; i < size; i++) {
118
755
            if (nullmap == nullptr || !nullmap[i]) {
119
735
                if constexpr (NeedMin) {
120
735
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
121
256
                        _min = column_string.get_data_at(i).to_string();
122
256
                        _min_value_set = true;
123
256
                    }
124
735
                }
125
735
                if constexpr (NeedMax) {
126
735
                    if (column_string.get_data_at(i) > StringRef(_max)) {
127
274
                        _max = column_string.get_data_at(i).to_string();
128
274
                    }
129
735
                }
130
735
            }
131
755
        }
132
226
    }
133
134
2.90k
    void _update_batch(const ColumnPtr& column, size_t start) {
135
2.90k
        const auto size = column->size();
136
2.90k
        if constexpr (std::is_same_v<T, std::string>) {
137
104
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
1
                                     size);
140
103
            } else {
141
103
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
103
                                     size);
143
103
            }
144
2.80k
        } else {
145
2.80k
            const T* data = (T*)column->get_raw_data().data;
146
2.18M
            for (size_t i = start; i < size; i++) {
147
2.17M
                if constexpr (NeedMin) {
148
2.17M
                    _min = std::min(_min, *(data + i));
149
2.17M
                }
150
2.17M
                if constexpr (NeedMax) {
151
2.17M
                    _max = std::max(_max, *(data + i));
152
2.17M
                }
153
2.17M
            }
154
2.80k
        }
155
2.90k
    }
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
91
    void _update_batch(const ColumnPtr& column, size_t start) {
135
91
        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
91
        } else {
145
91
            const T* data = (T*)column->get_raw_data().data;
146
306
            for (size_t i = start; i < size; i++) {
147
215
                if constexpr (NeedMin) {
148
215
                    _min = std::min(_min, *(data + i));
149
215
                }
150
215
                if constexpr (NeedMax) {
151
215
                    _max = std::max(_max, *(data + i));
152
215
                }
153
215
            }
154
91
        }
155
91
    }
_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
2.11k
    void _update_batch(const ColumnPtr& column, size_t start) {
135
2.11k
        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.11k
        } else {
145
2.11k
            const T* data = (T*)column->get_raw_data().data;
146
2.02M
            for (size_t i = start; i < size; i++) {
147
2.02M
                if constexpr (NeedMin) {
148
2.02M
                    _min = std::min(_min, *(data + i));
149
2.02M
                }
150
2.02M
                if constexpr (NeedMax) {
151
2.02M
                    _max = std::max(_max, *(data + i));
152
2.02M
                }
153
2.02M
            }
154
2.11k
        }
155
2.11k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
184
    void _update_batch(const ColumnPtr& column, size_t start) {
135
184
        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
184
        } else {
145
184
            const T* data = (T*)column->get_raw_data().data;
146
157k
            for (size_t i = start; i < size; i++) {
147
157k
                if constexpr (NeedMin) {
148
157k
                    _min = std::min(_min, *(data + i));
149
157k
                }
150
157k
                if constexpr (NeedMax) {
151
157k
                    _max = std::max(_max, *(data + i));
152
157k
                }
153
157k
            }
154
184
        }
155
184
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
82
    void _update_batch(const ColumnPtr& column, size_t start) {
135
82
        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
82
        } else {
145
82
            const T* data = (T*)column->get_raw_data().data;
146
178
            for (size_t i = start; i < size; i++) {
147
96
                if constexpr (NeedMin) {
148
96
                    _min = std::min(_min, *(data + i));
149
96
                }
150
96
                if constexpr (NeedMax) {
151
96
                    _max = std::max(_max, *(data + i));
152
96
                }
153
96
            }
154
82
        }
155
82
    }
_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
5
    void _update_batch(const ColumnPtr& column, size_t start) {
135
5
        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
5
        } else {
145
5
            const T* data = (T*)column->get_raw_data().data;
146
12
            for (size_t i = start; i < size; i++) {
147
7
                if constexpr (NeedMin) {
148
7
                    _min = std::min(_min, *(data + i));
149
7
                }
150
7
                if constexpr (NeedMax) {
151
7
                    _max = std::max(_max, *(data + i));
152
7
                }
153
7
            }
154
5
        }
155
5
    }
_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
193
    void _update_batch(const ColumnPtr& column, size_t start) {
135
193
        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
193
        } else {
145
193
            const T* data = (T*)column->get_raw_data().data;
146
554
            for (size_t i = start; i < size; i++) {
147
361
                if constexpr (NeedMin) {
148
361
                    _min = std::min(_min, *(data + i));
149
361
                }
150
361
                if constexpr (NeedMax) {
151
361
                    _max = std::max(_max, *(data + i));
152
361
                }
153
361
            }
154
193
        }
155
193
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
134
98
    void _update_batch(const ColumnPtr& column, size_t start) {
135
98
        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
98
        } else {
145
98
            const T* data = (T*)column->get_raw_data().data;
146
396
            for (size_t i = start; i < size; i++) {
147
298
                if constexpr (NeedMin) {
148
298
                    _min = std::min(_min, *(data + i));
149
298
                }
150
298
                if constexpr (NeedMax) {
151
298
                    _max = std::max(_max, *(data + i));
152
298
                }
153
298
            }
154
98
        }
155
98
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
134
104
    void _update_batch(const ColumnPtr& column, size_t start) {
135
104
        const auto size = column->size();
136
104
        if constexpr (std::is_same_v<T, std::string>) {
137
104
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
1
                                     size);
140
103
            } else {
141
103
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
103
                                     size);
143
103
            }
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
104
    }
_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
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_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
134
31
    void _update_batch(const ColumnPtr& column, size_t start) {
135
31
        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
31
        } else {
145
31
            const T* data = (T*)column->get_raw_data().data;
146
64
            for (size_t i = start; i < size; i++) {
147
33
                if constexpr (NeedMin) {
148
33
                    _min = std::min(_min, *(data + i));
149
33
                }
150
33
                if constexpr (NeedMax) {
151
33
                    _max = std::max(_max, *(data + i));
152
33
                }
153
33
            }
154
31
        }
155
31
    }
_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
4.42k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
4.42k
        const auto size = column->size();
159
4.42k
        if constexpr (std::is_same_v<T, std::string>) {
160
123
            if (column->is_column_string64()) {
161
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
0
                                     start, size);
163
123
            } else {
164
123
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
123
                                     start, size);
166
123
            }
167
4.30k
        } else {
168
4.30k
            const T* data = (T*)column->get_raw_data().data;
169
2.50M
            for (size_t i = start; i < size; i++) {
170
2.49M
                if (!nullmap[i]) {
171
2.48M
                    if constexpr (NeedMin) {
172
2.48M
                        _min = std::min(_min, *(data + i));
173
2.48M
                    }
174
2.48M
                    if constexpr (NeedMax) {
175
2.48M
                        _max = std::max(_max, *(data + i));
176
2.48M
                    }
177
2.48M
                }
178
2.49M
            }
179
4.30k
        }
180
4.42k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
27
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
27
        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
27
        } else {
168
27
            const T* data = (T*)column->get_raw_data().data;
169
79
            for (size_t i = start; i < size; i++) {
170
52
                if (!nullmap[i]) {
171
35
                    if constexpr (NeedMin) {
172
35
                        _min = std::min(_min, *(data + i));
173
35
                    }
174
35
                    if constexpr (NeedMax) {
175
35
                        _max = std::max(_max, *(data + i));
176
35
                    }
177
35
                }
178
52
            }
179
27
        }
180
27
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
487
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
487
        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
487
        } else {
168
487
            const T* data = (T*)column->get_raw_data().data;
169
1.54k
            for (size_t i = start; i < size; i++) {
170
1.05k
                if (!nullmap[i]) {
171
1.04k
                    if constexpr (NeedMin) {
172
1.04k
                        _min = std::min(_min, *(data + i));
173
1.04k
                    }
174
1.04k
                    if constexpr (NeedMax) {
175
1.04k
                        _max = std::max(_max, *(data + i));
176
1.04k
                    }
177
1.04k
                }
178
1.05k
            }
179
487
        }
180
487
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
264
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
264
        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
264
        } else {
168
264
            const T* data = (T*)column->get_raw_data().data;
169
1.65k
            for (size_t i = start; i < size; i++) {
170
1.38k
                if (!nullmap[i]) {
171
1.24k
                    if constexpr (NeedMin) {
172
1.24k
                        _min = std::min(_min, *(data + i));
173
1.24k
                    }
174
1.24k
                    if constexpr (NeedMax) {
175
1.24k
                        _max = std::max(_max, *(data + i));
176
1.24k
                    }
177
1.24k
                }
178
1.38k
            }
179
264
        }
180
264
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
1.82k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
1.82k
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
1.82k
        } else {
168
1.82k
            const T* data = (T*)column->get_raw_data().data;
169
2.28M
            for (size_t i = start; i < size; i++) {
170
2.28M
                if (!nullmap[i]) {
171
2.27M
                    if constexpr (NeedMin) {
172
2.27M
                        _min = std::min(_min, *(data + i));
173
2.27M
                    }
174
2.27M
                    if constexpr (NeedMax) {
175
2.27M
                        _max = std::max(_max, *(data + i));
176
2.27M
                    }
177
2.27M
                }
178
2.28M
            }
179
1.82k
        }
180
1.82k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
984
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
984
        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
984
        } else {
168
984
            const T* data = (T*)column->get_raw_data().data;
169
204k
            for (size_t i = start; i < size; i++) {
170
203k
                if (!nullmap[i]) {
171
203k
                    if constexpr (NeedMin) {
172
203k
                        _min = std::min(_min, *(data + i));
173
203k
                    }
174
203k
                    if constexpr (NeedMax) {
175
203k
                        _max = std::max(_max, *(data + i));
176
203k
                    }
177
203k
                }
178
203k
            }
179
984
        }
180
984
    }
_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
6
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
6
        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
6
        } else {
168
6
            const T* data = (T*)column->get_raw_data().data;
169
24
            for (size_t i = start; i < size; i++) {
170
18
                if (!nullmap[i]) {
171
16
                    if constexpr (NeedMin) {
172
16
                        _min = std::min(_min, *(data + i));
173
16
                    }
174
16
                    if constexpr (NeedMax) {
175
16
                        _max = std::max(_max, *(data + i));
176
16
                    }
177
16
                }
178
18
            }
179
6
        }
180
6
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
15
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
15
        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
15
        } else {
168
15
            const T* data = (T*)column->get_raw_data().data;
169
135
            for (size_t i = start; i < size; i++) {
170
120
                if (!nullmap[i]) {
171
120
                    if constexpr (NeedMin) {
172
120
                        _min = std::min(_min, *(data + i));
173
120
                    }
174
120
                    if constexpr (NeedMax) {
175
120
                        _max = std::max(_max, *(data + i));
176
120
                    }
177
120
                }
178
120
            }
179
15
        }
180
15
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
79
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
79
        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
79
        } else {
168
79
            const T* data = (T*)column->get_raw_data().data;
169
1.78k
            for (size_t i = start; i < size; i++) {
170
1.70k
                if (!nullmap[i]) {
171
1.61k
                    if constexpr (NeedMin) {
172
1.61k
                        _min = std::min(_min, *(data + i));
173
1.61k
                    }
174
1.61k
                    if constexpr (NeedMax) {
175
1.61k
                        _max = std::max(_max, *(data + i));
176
1.61k
                    }
177
1.61k
                }
178
1.70k
            }
179
79
        }
180
79
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
418
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
418
        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
418
        } else {
168
418
            const T* data = (T*)column->get_raw_data().data;
169
978
            for (size_t i = start; i < size; i++) {
170
560
                if (!nullmap[i]) {
171
536
                    if constexpr (NeedMin) {
172
536
                        _min = std::min(_min, *(data + i));
173
536
                    }
174
536
                    if constexpr (NeedMax) {
175
536
                        _max = std::max(_max, *(data + i));
176
536
                    }
177
536
                }
178
560
            }
179
418
        }
180
418
    }
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
123
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
123
        const auto size = column->size();
159
123
        if constexpr (std::is_same_v<T, std::string>) {
160
123
            if (column->is_column_string64()) {
161
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
0
                                     start, size);
163
123
            } else {
164
123
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
123
                                     start, size);
166
123
            }
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
123
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
42
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
42
        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
42
        } else {
168
42
            const T* data = (T*)column->get_raw_data().data;
169
155
            for (size_t i = start; i < size; i++) {
170
113
                if (!nullmap[i]) {
171
51
                    if constexpr (NeedMin) {
172
51
                        _min = std::min(_min, *(data + i));
173
51
                    }
174
51
                    if constexpr (NeedMax) {
175
51
                        _max = std::max(_max, *(data + i));
176
51
                    }
177
51
                }
178
113
            }
179
42
        }
180
42
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
46
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
46
        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
46
        } else {
168
46
            const T* data = (T*)column->get_raw_data().data;
169
114
            for (size_t i = start; i < size; i++) {
170
68
                if (!nullmap[i]) {
171
60
                    if constexpr (NeedMin) {
172
60
                        _min = std::min(_min, *(data + i));
173
60
                    }
174
60
                    if constexpr (NeedMax) {
175
60
                        _max = std::max(_max, *(data + i));
176
60
                    }
177
60
                }
178
68
            }
179
46
        }
180
46
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
13
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
13
        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
13
        } else {
168
13
            const T* data = (T*)column->get_raw_data().data;
169
33
            for (size_t i = start; i < size; i++) {
170
20
                if (!nullmap[i]) {
171
13
                    if constexpr (NeedMin) {
172
13
                        _min = std::min(_min, *(data + i));
173
13
                    }
174
13
                    if constexpr (NeedMax) {
175
13
                        _max = std::max(_max, *(data + i));
176
13
                    }
177
13
                }
178
20
            }
179
13
        }
180
13
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
60
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
60
        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
60
        } else {
168
60
            const T* data = (T*)column->get_raw_data().data;
169
879
            for (size_t i = start; i < size; i++) {
170
819
                if (!nullmap[i]) {
171
813
                    if constexpr (NeedMin) {
172
813
                        _min = std::min(_min, *(data + i));
173
813
                    }
174
813
                    if constexpr (NeedMax) {
175
813
                        _max = std::max(_max, *(data + i));
176
813
                    }
177
813
                }
178
819
            }
179
60
        }
180
60
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
1
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
1
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
1
        } else {
168
1
            const T* data = (T*)column->get_raw_data().data;
169
101
            for (size_t i = start; i < size; i++) {
170
100
                if (!nullmap[i]) {
171
91
                    if constexpr (NeedMin) {
172
91
                        _min = std::min(_min, *(data + i));
173
91
                    }
174
91
                    if constexpr (NeedMax) {
175
91
                        _max = std::max(_max, *(data + i));
176
91
                    }
177
91
                }
178
100
            }
179
1
        }
180
1
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
181
182
    T _max = type_limit<T>::min();
183
    T _min = type_limit<T>::max();
184
185
    bool _min_value_set = false;
186
};
187
188
template <class T>
189
using MinNumFunc = MinMaxNumFunc<T, false, true>;
190
191
template <class T>
192
using MaxNumFunc = MinMaxNumFunc<T, true, false>;
193
194
} // namespace doris