Coverage Report

Created: 2026-05-09 10:24

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
37.4k
    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
37.5k
    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
37.4k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIhLb1ELb1EEC2Eb
Line
Count
Source
49
224
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EEC2Eb
Line
Count
Source
49
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIaLb1ELb1EEC2Eb
Line
Count
Source
49
1.06k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIsLb1ELb1EEC2Eb
Line
Count
Source
49
556
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIiLb1ELb1EEC2Eb
Line
Count
Source
49
10.1k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIlLb1ELb1EEC2Eb
Line
Count
Source
49
21.1k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncInLb1ELb1EEC2Eb
Line
Count
Source
49
154
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIfLb1ELb1EEC2Eb
Line
Count
Source
49
290
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIdLb1ELb1EEC2Eb
Line
Count
Source
49
34
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EEC2Eb
Line
Count
Source
49
28
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
49
935
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
49
904
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EEC2Eb
Line
Count
Source
49
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EEC2Eb
Line
Count
Source
49
1.14k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EEC2Eb
Line
Count
Source
49
56
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EEC2Eb
Line
Count
Source
49
478
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EEC2Eb
Line
Count
Source
49
203
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EEC2Eb
Line
Count
Source
49
30
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIjLb1ELb1EEC2Eb
Line
Count
Source
49
6
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIoLb1ELb1EEC2Eb
Line
Count
Source
49
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
50
1.14k
    ~MinMaxNumFunc() override = default;
51
52
6.03k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
6.03k
        if (column->is_nullable()) {
54
4.01k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
4.01k
            const auto& col = nullable->get_nested_column_ptr();
56
4.01k
            const auto& nullmap = nullable->get_null_map_data();
57
4.01k
            if (nullable->has_null()) {
58
3.85k
                _update_batch(col, nullmap, start);
59
3.85k
                _contain_null = true;
60
3.85k
            } else {
61
155
                _update_batch(col, start);
62
155
            }
63
4.01k
        } else {
64
2.02k
            _update_batch(column, start);
65
2.02k
        }
66
6.03k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
26
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
26
        if (column->is_nullable()) {
54
26
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
26
            const auto& col = nullable->get_nested_column_ptr();
56
26
            const auto& nullmap = nullable->get_null_map_data();
57
26
            if (nullable->has_null()) {
58
26
                _update_batch(col, nullmap, start);
59
26
                _contain_null = true;
60
26
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
26
        } else {
64
0
            _update_batch(column, start);
65
0
        }
66
26
    }
_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
307
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
307
        if (column->is_nullable()) {
54
296
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
296
            const auto& col = nullable->get_nested_column_ptr();
56
296
            const auto& nullmap = nullable->get_null_map_data();
57
296
            if (nullable->has_null()) {
58
248
                _update_batch(col, nullmap, start);
59
248
                _contain_null = true;
60
248
            } else {
61
48
                _update_batch(col, start);
62
48
            }
63
296
        } else {
64
11
            _update_batch(column, start);
65
11
        }
66
307
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
151
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
151
        if (column->is_nullable()) {
54
150
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
150
            const auto& col = nullable->get_nested_column_ptr();
56
150
            const auto& nullmap = nullable->get_null_map_data();
57
150
            if (nullable->has_null()) {
58
150
                _update_batch(col, nullmap, start);
59
150
                _contain_null = true;
60
150
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
150
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
151
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
3.83k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
3.83k
        if (column->is_nullable()) {
54
2.22k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
2.22k
            const auto& col = nullable->get_nested_column_ptr();
56
2.22k
            const auto& nullmap = nullable->get_null_map_data();
57
2.22k
            if (nullable->has_null()) {
58
2.19k
                _update_batch(col, nullmap, start);
59
2.19k
                _contain_null = true;
60
2.19k
            } else {
61
32
                _update_batch(col, start);
62
32
            }
63
2.22k
        } else {
64
1.61k
            _update_batch(column, start);
65
1.61k
        }
66
3.83k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
809
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
809
        if (column->is_nullable()) {
54
740
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
740
            const auto& col = nullable->get_nested_column_ptr();
56
740
            const auto& nullmap = nullable->get_null_map_data();
57
740
            if (nullable->has_null()) {
58
731
                _update_batch(col, nullmap, start);
59
731
                _contain_null = true;
60
731
            } else {
61
9
                _update_batch(col, start);
62
9
            }
63
740
        } else {
64
69
            _update_batch(column, start);
65
69
        }
66
809
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
88
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
88
        if (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
84
        } else {
64
84
            _update_batch(column, start);
65
84
        }
66
88
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
33
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
33
        if (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
20
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
20
        if (column->is_nullable()) {
54
19
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
19
            const auto& col = nullable->get_nested_column_ptr();
56
19
            const auto& nullmap = nullable->get_null_map_data();
57
19
            if (nullable->has_null()) {
58
12
                _update_batch(col, nullmap, start);
59
12
                _contain_null = true;
60
12
            } else {
61
7
                _update_batch(col, start);
62
7
            }
63
19
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
20
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
8
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
8
        if (column->is_nullable()) {
54
6
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
6
            const auto& col = nullable->get_nested_column_ptr();
56
6
            const auto& nullmap = nullable->get_null_map_data();
57
6
            if (nullable->has_null()) {
58
6
                _update_batch(col, nullmap, start);
59
6
                _contain_null = true;
60
6
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
6
        } else {
64
2
            _update_batch(column, start);
65
2
        }
66
8
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
52
248
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
248
        if (column->is_nullable()) {
54
73
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
73
            const auto& col = nullable->get_nested_column_ptr();
56
73
            const auto& nullmap = nullable->get_null_map_data();
57
73
            if (nullable->has_null()) {
58
71
                _update_batch(col, nullmap, start);
59
71
                _contain_null = true;
60
71
            } else {
61
2
                _update_batch(col, start);
62
2
            }
63
175
        } else {
64
175
            _update_batch(column, start);
65
175
        }
66
248
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
52
118
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
118
        if (column->is_nullable()) {
54
107
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
107
            const auto& col = nullable->get_nested_column_ptr();
56
107
            const auto& nullmap = nullable->get_null_map_data();
57
107
            if (nullable->has_null()) {
58
107
                _update_batch(col, nullmap, start);
59
107
                _contain_null = true;
60
107
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
107
        } else {
64
11
            _update_batch(column, start);
65
11
        }
66
118
    }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
1
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
1
        if (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
0
            _update_batch(column, start);
65
0
        }
66
1
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
52
216
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
216
        if (column->is_nullable()) {
54
173
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
173
            const auto& col = nullable->get_nested_column_ptr();
56
173
            const auto& nullmap = nullable->get_null_map_data();
57
173
            if (nullable->has_null()) {
58
168
                _update_batch(col, nullmap, start);
59
168
                _contain_null = true;
60
168
            } else {
61
5
                _update_batch(col, start);
62
5
            }
63
173
        } else {
64
43
            _update_batch(column, start);
65
43
        }
66
216
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
52
25
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
25
        if (column->is_nullable()) {
54
24
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
24
            const auto& col = nullable->get_nested_column_ptr();
56
24
            const auto& nullmap = nullable->get_null_map_data();
57
24
            if (nullable->has_null()) {
58
24
                _update_batch(col, nullmap, start);
59
24
                _contain_null = true;
60
24
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
24
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
25
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
52
50
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
50
        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
4
            _update_batch(column, start);
65
4
        }
66
50
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
81
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
81
        if (column->is_nullable()) {
54
80
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
80
            const auto& col = nullable->get_nested_column_ptr();
56
80
            const auto& nullmap = nullable->get_null_map_data();
57
80
            if (nullable->has_null()) {
58
28
                _update_batch(col, nullmap, start);
59
28
                _contain_null = true;
60
52
            } else {
61
52
                _update_batch(col, start);
62
52
            }
63
80
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
81
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EEm
Line
Count
Source
52
14
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
14
        if (column->is_nullable()) {
54
13
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
13
            const auto& col = nullable->get_nested_column_ptr();
56
13
            const auto& nullmap = nullable->get_null_map_data();
57
13
            if (nullable->has_null()) {
58
13
                _update_batch(col, nullmap, start);
59
13
                _contain_null = true;
60
13
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
13
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
14
    }
_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
8.66k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
8.66k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
8.66k
        if constexpr (NeedMin) {
71
8.66k
            if constexpr (IsStringValue) {
72
657
                if (other_minmax->_min < _min || !_min_value_set) {
73
38
                    _min = other_minmax->_min;
74
38
                    _min_value_set = true;
75
38
                }
76
8.01k
            } else if (other_minmax->_min < _min) {
77
425
                _min = other_minmax->_min;
78
425
            }
79
8.66k
        }
80
8.66k
        if constexpr (NeedMax) {
81
8.66k
            if (other_minmax->_max > _max) {
82
427
                _max = other_minmax->_max;
83
427
            }
84
8.66k
        }
85
86
8.66k
        _contain_null |= minmax_func->contain_null();
87
8.66k
        return Status::OK();
88
8.66k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
170
    Status merge(MinMaxFuncBase* minmax_func) override {
69
170
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
170
        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
170
            } else if (other_minmax->_min < _min) {
77
1
                _min = other_minmax->_min;
78
1
            }
79
170
        }
80
170
        if constexpr (NeedMax) {
81
170
            if (other_minmax->_max > _max) {
82
1
                _max = other_minmax->_max;
83
1
            }
84
170
        }
85
86
170
        _contain_null |= minmax_func->contain_null();
87
170
        return Status::OK();
88
170
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
37
    Status merge(MinMaxFuncBase* minmax_func) override {
69
37
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
37
        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
37
            } else if (other_minmax->_min < _min) {
77
12
                _min = other_minmax->_min;
78
12
            }
79
37
        }
80
37
        if constexpr (NeedMax) {
81
37
            if (other_minmax->_max > _max) {
82
8
                _max = other_minmax->_max;
83
8
            }
84
37
        }
85
86
37
        _contain_null |= minmax_func->contain_null();
87
37
        return Status::OK();
88
37
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
56
    Status merge(MinMaxFuncBase* minmax_func) override {
69
56
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
56
        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
56
            } else if (other_minmax->_min < _min) {
77
22
                _min = other_minmax->_min;
78
22
            }
79
56
        }
80
56
        if constexpr (NeedMax) {
81
56
            if (other_minmax->_max > _max) {
82
23
                _max = other_minmax->_max;
83
23
            }
84
56
        }
85
86
56
        _contain_null |= minmax_func->contain_null();
87
56
        return Status::OK();
88
56
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
3.71k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
3.71k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
3.71k
        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.71k
            } else if (other_minmax->_min < _min) {
77
231
                _min = other_minmax->_min;
78
231
            }
79
3.71k
        }
80
3.71k
        if constexpr (NeedMax) {
81
3.71k
            if (other_minmax->_max > _max) {
82
216
                _max = other_minmax->_max;
83
216
            }
84
3.71k
        }
85
86
3.71k
        _contain_null |= minmax_func->contain_null();
87
3.71k
        return Status::OK();
88
3.71k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
2.20k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
2.20k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
2.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
2.20k
            } else if (other_minmax->_min < _min) {
77
93
                _min = other_minmax->_min;
78
93
            }
79
2.20k
        }
80
2.20k
        if constexpr (NeedMax) {
81
2.20k
            if (other_minmax->_max > _max) {
82
96
                _max = other_minmax->_max;
83
96
            }
84
2.20k
        }
85
86
2.20k
        _contain_null |= minmax_func->contain_null();
87
2.20k
        return Status::OK();
88
2.20k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
80
    Status merge(MinMaxFuncBase* minmax_func) override {
69
80
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
80
        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
80
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
80
        }
80
80
        if constexpr (NeedMax) {
81
80
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
80
        }
85
86
80
        _contain_null |= minmax_func->contain_null();
87
80
        return Status::OK();
88
80
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
224
    Status merge(MinMaxFuncBase* minmax_func) override {
69
224
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
224
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
224
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
224
        }
80
224
        if constexpr (NeedMax) {
81
224
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
224
        }
85
86
224
        _contain_null |= minmax_func->contain_null();
87
224
        return Status::OK();
88
224
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
7
    Status merge(MinMaxFuncBase* minmax_func) override {
69
7
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
7
        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
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
7
        }
80
7
        if constexpr (NeedMax) {
81
7
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
7
        }
85
86
7
        _contain_null |= minmax_func->contain_null();
87
7
        return Status::OK();
88
7
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
550
    Status merge(MinMaxFuncBase* minmax_func) override {
69
550
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
550
        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
550
            } else if (other_minmax->_min < _min) {
77
44
                _min = other_minmax->_min;
78
44
            }
79
550
        }
80
550
        if constexpr (NeedMax) {
81
550
            if (other_minmax->_max > _max) {
82
43
                _max = other_minmax->_max;
83
43
            }
84
550
        }
85
86
550
        _contain_null |= minmax_func->contain_null();
87
550
        return Status::OK();
88
550
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
596
    Status merge(MinMaxFuncBase* minmax_func) override {
69
596
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
596
        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
596
            } else if (other_minmax->_min < _min) {
77
6
                _min = other_minmax->_min;
78
6
            }
79
596
        }
80
596
        if constexpr (NeedMax) {
81
596
            if (other_minmax->_max > _max) {
82
5
                _max = other_minmax->_max;
83
5
            }
84
596
        }
85
86
596
        _contain_null |= minmax_func->contain_null();
87
596
        return Status::OK();
88
596
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
657
    Status merge(MinMaxFuncBase* minmax_func) override {
69
657
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
657
        if constexpr (NeedMin) {
71
657
            if constexpr (IsStringValue) {
72
657
                if (other_minmax->_min < _min || !_min_value_set) {
73
38
                    _min = other_minmax->_min;
74
38
                    _min_value_set = true;
75
38
                }
76
            } else if (other_minmax->_min < _min) {
77
                _min = other_minmax->_min;
78
            }
79
657
        }
80
657
        if constexpr (NeedMax) {
81
657
            if (other_minmax->_max > _max) {
82
18
                _max = other_minmax->_max;
83
18
            }
84
657
        }
85
86
657
        _contain_null |= minmax_func->contain_null();
87
657
        return Status::OK();
88
657
    }
_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
5
                _min = other_minmax->_min;
78
5
            }
79
8
        }
80
8
        if constexpr (NeedMax) {
81
8
            if (other_minmax->_max > _max) {
82
4
                _max = other_minmax->_max;
83
4
            }
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
98
    Status merge(MinMaxFuncBase* minmax_func) override {
69
98
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
98
        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
98
            } else if (other_minmax->_min < _min) {
77
11
                _min = other_minmax->_min;
78
11
            }
79
98
        }
80
98
        if constexpr (NeedMax) {
81
98
            if (other_minmax->_max > _max) {
82
13
                _max = other_minmax->_max;
83
13
            }
84
98
        }
85
86
98
        _contain_null |= minmax_func->contain_null();
87
98
        return Status::OK();
88
98
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIoLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
89
90
14.1k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_maxEv
Line
Count
Source
90
28
    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
503
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_maxEv
Line
Count
Source
90
232
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_maxEv
Line
Count
Source
90
3.10k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_maxEv
Line
Count
Source
90
9.51k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_maxEv
Line
Count
Source
90
38
    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
9
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_maxEv
Line
Count
Source
90
16
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
176
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
152
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_maxEv
Line
Count
Source
90
1
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
187
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_maxEv
Line
Count
Source
90
24
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_maxEv
Line
Count
Source
90
107
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_maxEv
Line
Count
Source
90
28
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
16
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_maxEv
Line
Count
Source
90
4
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_maxEv
Line
Count
Source
90
2
    void* get_max() override { return &_max; }
91
92
14.1k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_minEv
Line
Count
Source
92
28
    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
491
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_minEv
Line
Count
Source
92
232
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_minEv
Line
Count
Source
92
3.10k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_minEv
Line
Count
Source
92
9.51k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_minEv
Line
Count
Source
92
32
    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
7
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_minEv
Line
Count
Source
92
16
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
92
176
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
92
152
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_minEv
Line
Count
Source
92
1
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_minEv
Line
Count
Source
92
191
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_minEv
Line
Count
Source
92
25
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_minEv
Line
Count
Source
92
107
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_minEv
Line
Count
Source
92
31
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_minEv
Line
Count
Source
92
16
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_minEv
Line
Count
Source
92
4
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_minEv
Line
Count
Source
92
2
    void* get_min() override { return &_min; }
93
94
1.04k
    Status assign(void* min_data, void* max_data) override {
95
1.04k
        if constexpr (IsStringValue) {
96
67
            _min_value_set = true;
97
67
        }
98
1.04k
        _min = *(T*)min_data;
99
1.04k
        _max = *(T*)max_data;
100
1.04k
        return Status::OK();
101
1.04k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
3
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
3
        _min = *(T*)min_data;
99
3
        _max = *(T*)max_data;
100
3
        return Status::OK();
101
3
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE6assignEPvS3_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
39
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
39
        _min = *(T*)min_data;
99
39
        _max = *(T*)max_data;
100
39
        return Status::OK();
101
39
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
97
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
97
        _min = *(T*)min_data;
99
97
        _max = *(T*)max_data;
100
97
        return Status::OK();
101
97
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
549
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
549
        _min = *(T*)min_data;
99
549
        _max = *(T*)max_data;
100
549
        return Status::OK();
101
549
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
159
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
159
        _min = *(T*)min_data;
99
159
        _max = *(T*)max_data;
100
159
        return Status::OK();
101
159
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
3
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
3
        _min = *(T*)min_data;
99
3
        _max = *(T*)max_data;
100
3
        return Status::OK();
101
3
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE6assignEPvS3_
Line
Count
Source
94
2
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
2
        _min = *(T*)min_data;
99
2
        _max = *(T*)max_data;
100
2
        return Status::OK();
101
2
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
94
65
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
65
        _min = *(T*)min_data;
99
65
        _max = *(T*)max_data;
100
65
        return Status::OK();
101
65
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
94
13
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
13
        _min = *(T*)min_data;
99
13
        _max = *(T*)max_data;
100
13
        return Status::OK();
101
13
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE6assignEPvS3_
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE6assignEPvS8_
Line
Count
Source
94
67
    Status assign(void* min_data, void* max_data) override {
95
67
        if constexpr (IsStringValue) {
96
67
            _min_value_set = true;
97
67
        }
98
67
        _min = *(T*)min_data;
99
67
        _max = *(T*)max_data;
100
67
        return Status::OK();
101
67
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE6assignEPvS4_
Line
Count
Source
94
11
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
11
        _min = *(T*)min_data;
99
11
        _max = *(T*)max_data;
100
11
        return Status::OK();
101
11
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE6assignEPvS4_
Line
Count
Source
94
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
27
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
27
        _min = *(T*)min_data;
99
27
        _max = *(T*)max_data;
100
27
        return Status::OK();
101
27
    }
_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.28k
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
2
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
50
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
116
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
740
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
173
    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
6
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
64
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
12
    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
71
    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
41
    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.28k
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
1.28k
        if constexpr (NeedMin) {
108
1.28k
            f(filter->mutable_min_val(), _min);
109
1.28k
        }
110
1.28k
        if constexpr (NeedMax) {
111
1.28k
            f(filter->mutable_max_val(), _max);
112
1.28k
        }
113
1.28k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7_set_pbIZNS_13get_convertorIhEEDavEUlPNS_12PColumnValueERKhE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
2
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
2
        if constexpr (NeedMin) {
108
2
            f(filter->mutable_min_val(), _min);
109
2
        }
110
2
        if constexpr (NeedMax) {
111
2
            f(filter->mutable_max_val(), _max);
112
2
        }
113
2
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7_set_pbIZNS_13get_convertorIaEEDavEUlPNS_12PColumnValueERKaE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
50
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
50
        if constexpr (NeedMin) {
108
50
            f(filter->mutable_min_val(), _min);
109
50
        }
110
50
        if constexpr (NeedMax) {
111
50
            f(filter->mutable_max_val(), _max);
112
50
        }
113
50
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7_set_pbIZNS_13get_convertorIsEEDavEUlPNS_12PColumnValueERKsE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
116
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
116
        if constexpr (NeedMin) {
108
116
            f(filter->mutable_min_val(), _min);
109
116
        }
110
116
        if constexpr (NeedMax) {
111
116
            f(filter->mutable_max_val(), _max);
112
116
        }
113
116
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7_set_pbIZNS_13get_convertorIiEEDavEUlPNS_12PColumnValueERKiE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
740
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
740
        if constexpr (NeedMin) {
108
740
            f(filter->mutable_min_val(), _min);
109
740
        }
110
740
        if constexpr (NeedMax) {
111
740
            f(filter->mutable_max_val(), _max);
112
740
        }
113
740
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7_set_pbIZNS_13get_convertorIlEEDavEUlPNS_12PColumnValueERKlE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
173
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
173
        if constexpr (NeedMin) {
108
173
            f(filter->mutable_min_val(), _min);
109
173
        }
110
173
        if constexpr (NeedMax) {
111
173
            f(filter->mutable_max_val(), _max);
112
173
        }
113
173
    }
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
6
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
6
        if constexpr (NeedMin) {
108
6
            f(filter->mutable_min_val(), _min);
109
6
        }
110
6
        if constexpr (NeedMax) {
111
6
            f(filter->mutable_max_val(), _max);
112
6
        }
113
6
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
64
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
64
        if constexpr (NeedMin) {
108
64
            f(filter->mutable_min_val(), _min);
109
64
        }
110
64
        if constexpr (NeedMax) {
111
64
            f(filter->mutable_max_val(), _max);
112
64
        }
113
64
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
12
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
12
        if constexpr (NeedMin) {
108
12
            f(filter->mutable_min_val(), _min);
109
12
        }
110
12
        if constexpr (NeedMax) {
111
12
            f(filter->mutable_max_val(), _max);
112
12
        }
113
12
    }
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
71
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
71
        if constexpr (NeedMin) {
108
71
            f(filter->mutable_min_val(), _min);
109
71
        }
110
71
        if constexpr (NeedMax) {
111
71
            f(filter->mutable_max_val(), _max);
112
71
        }
113
71
    }
_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
41
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
41
        if constexpr (NeedMin) {
108
41
            f(filter->mutable_min_val(), _min);
109
41
        }
110
41
        if constexpr (NeedMax) {
111
41
            f(filter->mutable_max_val(), _max);
112
41
        }
113
41
    }
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
216
                              size_t start, size_t size) {
117
1.09k
        for (size_t i = start; i < size; i++) {
118
875
            if (nullmap == nullptr || !nullmap[i]) {
119
835
                if constexpr (NeedMin) {
120
835
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
121
279
                        _min = column_string.get_data_at(i).to_string();
122
279
                        _min_value_set = true;
123
279
                    }
124
835
                }
125
835
                if constexpr (NeedMax) {
126
835
                    if (column_string.get_data_at(i) > StringRef(_max)) {
127
307
                        _max = column_string.get_data_at(i).to_string();
128
307
                    }
129
835
                }
130
835
            }
131
875
        }
132
216
    }
_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
215
                              size_t start, size_t size) {
117
1.08k
        for (size_t i = start; i < size; i++) {
118
867
            if (nullmap == nullptr || !nullmap[i]) {
119
827
                if constexpr (NeedMin) {
120
827
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
121
278
                        _min = column_string.get_data_at(i).to_string();
122
278
                        _min_value_set = true;
123
278
                    }
124
827
                }
125
827
                if constexpr (NeedMax) {
126
827
                    if (column_string.get_data_at(i) > StringRef(_max)) {
127
299
                        _max = column_string.get_data_at(i).to_string();
128
299
                    }
129
827
                }
130
827
            }
131
867
        }
132
215
    }
133
134
2.17k
    void _update_batch(const ColumnPtr& column, size_t start) {
135
2.17k
        const auto size = column->size();
136
2.17k
        if constexpr (std::is_same_v<T, std::string>) {
137
48
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
1
                                     size);
140
47
            } else {
141
47
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
47
                                     size);
143
47
            }
144
2.12k
        } else {
145
2.12k
            const T* data = (T*)column->get_raw_data().data;
146
1.87M
            for (size_t i = start; i < size; i++) {
147
1.87M
                if constexpr (NeedMin) {
148
1.87M
                    _min = std::min(_min, *(data + i));
149
1.87M
                }
150
1.87M
                if constexpr (NeedMax) {
151
1.87M
                    _max = std::max(_max, *(data + i));
152
1.87M
                }
153
1.87M
            }
154
2.12k
        }
155
2.17k
    }
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
59
    void _update_batch(const ColumnPtr& column, size_t start) {
135
59
        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
59
        } else {
145
59
            const T* data = (T*)column->get_raw_data().data;
146
177
            for (size_t i = start; i < size; i++) {
147
118
                if constexpr (NeedMin) {
148
118
                    _min = std::min(_min, *(data + i));
149
118
                }
150
118
                if constexpr (NeedMax) {
151
118
                    _max = std::max(_max, *(data + i));
152
118
                }
153
118
            }
154
59
        }
155
59
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
1.64k
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1.64k
        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.64k
        } else {
145
1.64k
            const T* data = (T*)column->get_raw_data().data;
146
1.87M
            for (size_t i = start; i < size; i++) {
147
1.87M
                if constexpr (NeedMin) {
148
1.87M
                    _min = std::min(_min, *(data + i));
149
1.87M
                }
150
1.87M
                if constexpr (NeedMax) {
151
1.87M
                    _max = std::max(_max, *(data + i));
152
1.87M
                }
153
1.87M
            }
154
1.64k
        }
155
1.64k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
78
    void _update_batch(const ColumnPtr& column, size_t start) {
135
78
        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
78
        } else {
145
78
            const T* data = (T*)column->get_raw_data().data;
146
474
            for (size_t i = start; i < size; i++) {
147
396
                if constexpr (NeedMin) {
148
396
                    _min = std::min(_min, *(data + i));
149
396
                }
150
396
                if constexpr (NeedMax) {
151
396
                    _max = std::max(_max, *(data + i));
152
396
                }
153
396
            }
154
78
        }
155
78
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
84
    void _update_batch(const ColumnPtr& column, size_t start) {
135
84
        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
84
        } else {
145
84
            const T* data = (T*)column->get_raw_data().data;
146
212
            for (size_t i = start; i < size; i++) {
147
128
                if constexpr (NeedMin) {
148
128
                    _min = std::min(_min, *(data + i));
149
128
                }
150
128
                if constexpr (NeedMax) {
151
128
                    _max = std::max(_max, *(data + i));
152
128
                }
153
128
            }
154
84
        }
155
84
    }
_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
8
    void _update_batch(const ColumnPtr& column, size_t start) {
135
8
        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
8
        } else {
145
8
            const T* data = (T*)column->get_raw_data().data;
146
18
            for (size_t i = start; i < size; i++) {
147
10
                if constexpr (NeedMin) {
148
10
                    _min = std::min(_min, *(data + i));
149
10
                }
150
10
                if constexpr (NeedMax) {
151
10
                    _max = std::max(_max, *(data + i));
152
10
                }
153
10
            }
154
8
        }
155
8
    }
_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
177
    void _update_batch(const ColumnPtr& column, size_t start) {
135
177
        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
177
        } else {
145
177
            const T* data = (T*)column->get_raw_data().data;
146
529
            for (size_t i = start; i < size; i++) {
147
352
                if constexpr (NeedMin) {
148
352
                    _min = std::min(_min, *(data + i));
149
352
                }
150
352
                if constexpr (NeedMax) {
151
352
                    _max = std::max(_max, *(data + i));
152
352
                }
153
352
            }
154
177
        }
155
177
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
134
11
    void _update_batch(const ColumnPtr& column, size_t start) {
135
11
        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
11
        } else {
145
11
            const T* data = (T*)column->get_raw_data().data;
146
41
            for (size_t i = start; i < size; i++) {
147
30
                if constexpr (NeedMin) {
148
30
                    _min = std::min(_min, *(data + i));
149
30
                }
150
30
                if constexpr (NeedMax) {
151
30
                    _max = std::max(_max, *(data + i));
152
30
                }
153
30
            }
154
11
        }
155
11
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
134
48
    void _update_batch(const ColumnPtr& column, size_t start) {
135
48
        const auto size = column->size();
136
48
        if constexpr (std::is_same_v<T, std::string>) {
137
48
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
1
                                     size);
140
47
            } else {
141
47
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
47
                                     size);
143
47
            }
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
48
    }
_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
4
    void _update_batch(const ColumnPtr& column, size_t start) {
135
4
        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
4
        } else {
145
4
            const T* data = (T*)column->get_raw_data().data;
146
51
            for (size_t i = start; i < size; i++) {
147
47
                if constexpr (NeedMin) {
148
47
                    _min = std::min(_min, *(data + i));
149
47
                }
150
47
                if constexpr (NeedMax) {
151
47
                    _max = std::max(_max, *(data + i));
152
47
                }
153
47
            }
154
4
        }
155
4
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
134
53
    void _update_batch(const ColumnPtr& column, size_t start) {
135
53
        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
53
        } else {
145
53
            const T* data = (T*)column->get_raw_data().data;
146
108
            for (size_t i = start; i < size; i++) {
147
55
                if constexpr (NeedMin) {
148
55
                    _min = std::min(_min, *(data + i));
149
55
                }
150
55
                if constexpr (NeedMax) {
151
55
                    _max = std::max(_max, *(data + i));
152
55
                }
153
55
            }
154
53
        }
155
53
    }
_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
3.85k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
3.85k
        const auto size = column->size();
159
3.85k
        if constexpr (std::is_same_v<T, std::string>) {
160
168
            if (column->is_column_string64()) {
161
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
0
                                     start, size);
163
168
            } else {
164
168
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
168
                                     start, size);
166
168
            }
167
3.68k
        } else {
168
3.68k
            const T* data = (T*)column->get_raw_data().data;
169
5.05M
            for (size_t i = start; i < size; i++) {
170
5.04M
                if (!nullmap[i]) {
171
5.03M
                    if constexpr (NeedMin) {
172
5.03M
                        _min = std::min(_min, *(data + i));
173
5.03M
                    }
174
5.03M
                    if constexpr (NeedMax) {
175
5.03M
                        _max = std::max(_max, *(data + i));
176
5.03M
                    }
177
5.03M
                }
178
5.04M
            }
179
3.68k
        }
180
3.85k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
26
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
26
        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
26
        } else {
168
26
            const T* data = (T*)column->get_raw_data().data;
169
77
            for (size_t i = start; i < size; i++) {
170
51
                if (!nullmap[i]) {
171
34
                    if constexpr (NeedMin) {
172
34
                        _min = std::min(_min, *(data + i));
173
34
                    }
174
34
                    if constexpr (NeedMax) {
175
34
                        _max = std::max(_max, *(data + i));
176
34
                    }
177
34
                }
178
51
            }
179
26
        }
180
26
    }
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
247
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
247
        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
247
        } else {
168
247
            const T* data = (T*)column->get_raw_data().data;
169
774
            for (size_t i = start; i < size; i++) {
170
527
                if (!nullmap[i]) {
171
520
                    if constexpr (NeedMin) {
172
520
                        _min = std::min(_min, *(data + i));
173
520
                    }
174
520
                    if constexpr (NeedMax) {
175
520
                        _max = std::max(_max, *(data + i));
176
520
                    }
177
520
                }
178
527
            }
179
247
        }
180
247
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
150
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
150
        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
150
        } else {
168
150
            const T* data = (T*)column->get_raw_data().data;
169
840
            for (size_t i = start; i < size; i++) {
170
690
                if (!nullmap[i]) {
171
673
                    if constexpr (NeedMin) {
172
673
                        _min = std::min(_min, *(data + i));
173
673
                    }
174
673
                    if constexpr (NeedMax) {
175
673
                        _max = std::max(_max, *(data + i));
176
673
                    }
177
673
                }
178
690
            }
179
150
        }
180
150
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
2.18k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
2.18k
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
2.18k
        } else {
168
2.18k
            const T* data = (T*)column->get_raw_data().data;
169
5.04M
            for (size_t i = start; i < size; i++) {
170
5.04M
                if (!nullmap[i]) {
171
5.03M
                    if constexpr (NeedMin) {
172
5.03M
                        _min = std::min(_min, *(data + i));
173
5.03M
                    }
174
5.03M
                    if constexpr (NeedMax) {
175
5.03M
                        _max = std::max(_max, *(data + i));
176
5.03M
                    }
177
5.03M
                }
178
5.04M
            }
179
2.18k
        }
180
2.18k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
730
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
730
        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
730
        } else {
168
730
            const T* data = (T*)column->get_raw_data().data;
169
3.29k
            for (size_t i = start; i < size; i++) {
170
2.56k
                if (!nullmap[i]) {
171
2.30k
                    if constexpr (NeedMin) {
172
2.30k
                        _min = std::min(_min, *(data + i));
173
2.30k
                    }
174
2.30k
                    if constexpr (NeedMax) {
175
2.30k
                        _max = std::max(_max, *(data + i));
176
2.30k
                    }
177
2.30k
                }
178
2.56k
            }
179
730
        }
180
730
    }
_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
12
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
12
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
12
        } else {
168
12
            const T* data = (T*)column->get_raw_data().data;
169
24
            for (size_t i = start; i < size; i++) {
170
12
                if (!nullmap[i]) {
171
0
                    if constexpr (NeedMin) {
172
0
                        _min = std::min(_min, *(data + i));
173
0
                    }
174
0
                    if constexpr (NeedMax) {
175
0
                        _max = std::max(_max, *(data + i));
176
0
                    }
177
0
                }
178
12
            }
179
12
        }
180
12
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_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
54
            for (size_t i = start; i < size; i++) {
170
48
                if (!nullmap[i]) {
171
48
                    if constexpr (NeedMin) {
172
48
                        _min = std::min(_min, *(data + i));
173
48
                    }
174
48
                    if constexpr (NeedMax) {
175
48
                        _max = std::max(_max, *(data + i));
176
48
                    }
177
48
                }
178
48
            }
179
6
        }
180
6
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
71
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
71
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
71
        } else {
168
71
            const T* data = (T*)column->get_raw_data().data;
169
866
            for (size_t i = start; i < size; i++) {
170
795
                if (!nullmap[i]) {
171
766
                    if constexpr (NeedMin) {
172
766
                        _min = std::min(_min, *(data + i));
173
766
                    }
174
766
                    if constexpr (NeedMax) {
175
766
                        _max = std::max(_max, *(data + i));
176
766
                    }
177
766
                }
178
795
            }
179
71
        }
180
71
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
107
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
107
        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
107
        } else {
168
107
            const T* data = (T*)column->get_raw_data().data;
169
311
            for (size_t i = start; i < size; i++) {
170
204
                if (!nullmap[i]) {
171
192
                    if constexpr (NeedMin) {
172
192
                        _min = std::min(_min, *(data + i));
173
192
                    }
174
192
                    if constexpr (NeedMax) {
175
192
                        _max = std::max(_max, *(data + i));
176
192
                    }
177
192
                }
178
204
            }
179
107
        }
180
107
    }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
1
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
1
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
1
        } else {
168
1
            const T* data = (T*)column->get_raw_data().data;
169
4
            for (size_t i = start; i < size; i++) {
170
3
                if (!nullmap[i]) {
171
3
                    if constexpr (NeedMin) {
172
3
                        _min = std::min(_min, *(data + i));
173
3
                    }
174
3
                    if constexpr (NeedMax) {
175
3
                        _max = std::max(_max, *(data + i));
176
3
                    }
177
3
                }
178
3
            }
179
1
        }
180
1
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
168
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
168
        const auto size = column->size();
159
168
        if constexpr (std::is_same_v<T, std::string>) {
160
168
            if (column->is_column_string64()) {
161
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
0
                                     start, size);
163
168
            } else {
164
168
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
168
                                     start, size);
166
168
            }
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
168
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
24
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
24
        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
24
        } else {
168
24
            const T* data = (T*)column->get_raw_data().data;
169
78
            for (size_t i = start; i < size; i++) {
170
54
                if (!nullmap[i]) {
171
54
                    if constexpr (NeedMin) {
172
54
                        _min = std::min(_min, *(data + i));
173
54
                    }
174
54
                    if constexpr (NeedMax) {
175
54
                        _max = std::max(_max, *(data + i));
176
54
                    }
177
54
                }
178
54
            }
179
24
        }
180
24
    }
_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
28
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
28
        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
28
        } else {
168
28
            const T* data = (T*)column->get_raw_data().data;
169
89
            for (size_t i = start; i < size; i++) {
170
61
                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
61
            }
179
28
        }
180
28
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_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
257
            for (size_t i = start; i < size; i++) {
170
244
                if (!nullmap[i]) {
171
244
                    if constexpr (NeedMin) {
172
244
                        _min = std::min(_min, *(data + i));
173
244
                    }
174
244
                    if constexpr (NeedMax) {
175
244
                        _max = std::max(_max, *(data + i));
176
244
                    }
177
244
                }
178
244
            }
179
13
        }
180
13
    }
_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