Coverage Report

Created: 2026-05-14 06:37

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
be/src/exprs/minmax_predicate.h
Line
Count
Source
1
// Licensed to the Apache Software Foundation (ASF) under one
2
// or more contributor license agreements.  See the NOTICE file
3
// distributed with this work for additional information
4
// regarding copyright ownership.  The ASF licenses this file
5
// to you under the Apache License, Version 2.0 (the
6
// "License"); you may not use this file except in compliance
7
// with the License.  You may obtain a copy of the License at
8
//
9
//   http://www.apache.org/licenses/LICENSE-2.0
10
//
11
// Unless required by applicable law or agreed to in writing,
12
// software distributed under the License is distributed on an
13
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
// KIND, either express or implied.  See the License for the
15
// specific language governing permissions and limitations
16
// under the License.
17
18
#pragma once
19
20
#include <gen_cpp/internal_service.pb.h>
21
22
#include "core/column/column_nullable.h"
23
#include "core/column/column_string.h"
24
#include "core/type_limit.h"
25
#include "exprs/filter_base.h"
26
27
namespace doris {
28
29
// only used in Runtime Filter
30
class MinMaxFuncBase : public FilterBase {
31
public:
32
50.5k
    MinMaxFuncBase(bool null_aware) : FilterBase(null_aware) {}
33
    virtual void insert_fixed_len(const ColumnPtr& column, size_t start) = 0;
34
    virtual void* get_max() = 0;
35
    virtual void* get_min() = 0;
36
    // assign minmax data
37
    virtual Status assign(void* min_data, void* max_data) = 0;
38
    // merge from other minmax_func
39
    virtual Status merge(MinMaxFuncBase* minmax_func) = 0;
40
50.7k
    virtual ~MinMaxFuncBase() = default;
41
42
    virtual void to_pb(PMinMaxFilter* filter) = 0;
43
};
44
45
template <class T, bool NeedMax = true, bool NeedMin = true>
46
class MinMaxNumFunc : public MinMaxFuncBase {
47
public:
48
    static constexpr bool IsStringValue = std::is_same_v<T, std::string>;
49
50.5k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIhLb1ELb1EEC2Eb
Line
Count
Source
49
217
    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
901
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIsLb1ELb1EEC2Eb
Line
Count
Source
49
406
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIiLb1ELb1EEC2Eb
Line
Count
Source
49
16.6k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIlLb1ELb1EEC2Eb
Line
Count
Source
49
25.4k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncInLb1ELb1EEC2Eb
Line
Count
Source
49
112
    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
132
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EEC2Eb
Line
Count
Source
49
42
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
49
972
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
49
3.53k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EEC2Eb
Line
Count
Source
49
7
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EEC2Eb
Line
Count
Source
49
1.01k
    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
540
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EEC2Eb
Line
Count
Source
49
201
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EEC2Eb
Line
Count
Source
49
36
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIjLb1ELb1EEC2Eb
Line
Count
Source
49
20
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIoLb1ELb1EEC2Eb
Line
Count
Source
49
10
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
50
1.00k
    ~MinMaxNumFunc() override = default;
51
52
7.25k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
7.25k
        if (column->is_nullable()) {
54
5.43k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
5.43k
            const auto& col = nullable->get_nested_column_ptr();
56
5.43k
            const auto& nullmap = nullable->get_null_map_data();
57
5.43k
            if (nullable->has_null()) {
58
4.57k
                _update_batch(col, nullmap, start);
59
4.57k
                _contain_null = true;
60
4.57k
            } else {
61
860
                _update_batch(col, start);
62
860
            }
63
5.43k
        } else {
64
1.82k
            _update_batch(column, start);
65
1.82k
        }
66
7.25k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
24
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
24
        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
0
            _update_batch(column, start);
65
0
        }
66
24
    }
_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
242
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
242
        if (column->is_nullable()) {
54
241
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
241
            const auto& col = nullable->get_nested_column_ptr();
56
241
            const auto& nullmap = nullable->get_null_map_data();
57
241
            if (nullable->has_null()) {
58
209
                _update_batch(col, nullmap, start);
59
209
                _contain_null = true;
60
209
            } else {
61
32
                _update_batch(col, start);
62
32
            }
63
241
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
242
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
92
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
92
        if (column->is_nullable()) {
54
92
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
92
            const auto& col = nullable->get_nested_column_ptr();
56
92
            const auto& nullmap = nullable->get_null_map_data();
57
92
            if (nullable->has_null()) {
58
92
                _update_batch(col, nullmap, start);
59
92
                _contain_null = true;
60
92
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
92
        } else {
64
0
            _update_batch(column, start);
65
0
        }
66
92
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
4.64k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
4.64k
        if (column->is_nullable()) {
54
3.40k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
3.40k
            const auto& col = nullable->get_nested_column_ptr();
56
3.40k
            const auto& nullmap = nullable->get_null_map_data();
57
3.40k
            if (nullable->has_null()) {
58
2.65k
                _update_batch(col, nullmap, start);
59
2.65k
                _contain_null = true;
60
2.65k
            } else {
61
754
                _update_batch(col, start);
62
754
            }
63
3.40k
        } else {
64
1.23k
            _update_batch(column, start);
65
1.23k
        }
66
4.64k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
917
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
917
        if (column->is_nullable()) {
54
724
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
724
            const auto& col = nullable->get_nested_column_ptr();
56
724
            const auto& nullmap = nullable->get_null_map_data();
57
724
            if (nullable->has_null()) {
58
708
                _update_batch(col, nullmap, start);
59
708
                _contain_null = true;
60
708
            } else {
61
16
                _update_batch(col, start);
62
16
            }
63
724
        } else {
64
193
            _update_batch(column, start);
65
193
        }
66
917
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
60
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
60
        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
56
        } else {
64
56
            _update_batch(column, start);
65
56
        }
66
60
    }
_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
118
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
118
        if (column->is_nullable()) {
54
117
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
117
            const auto& col = nullable->get_nested_column_ptr();
56
117
            const auto& nullmap = nullable->get_null_map_data();
57
117
            if (nullable->has_null()) {
58
101
                _update_batch(col, nullmap, start);
59
101
                _contain_null = true;
60
101
            } else {
61
16
                _update_batch(col, start);
62
16
            }
63
117
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
118
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
7
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
7
        if (column->is_nullable()) {
54
5
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
5
            const auto& col = nullable->get_nested_column_ptr();
56
5
            const auto& nullmap = nullable->get_null_map_data();
57
5
            if (nullable->has_null()) {
58
5
                _update_batch(col, nullmap, start);
59
5
                _contain_null = true;
60
5
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
5
        } else {
64
2
            _update_batch(column, start);
65
2
        }
66
7
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
52
270
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
270
        if (column->is_nullable()) {
54
90
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
90
            const auto& col = nullable->get_nested_column_ptr();
56
90
            const auto& nullmap = nullable->get_null_map_data();
57
90
            if (nullable->has_null()) {
58
90
                _update_batch(col, nullmap, start);
59
90
                _contain_null = true;
60
90
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
180
        } else {
64
180
            _update_batch(column, start);
65
180
        }
66
270
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
52
454
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
454
        if (column->is_nullable()) {
54
406
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
406
            const auto& col = nullable->get_nested_column_ptr();
56
406
            const auto& nullmap = nullable->get_null_map_data();
57
406
            if (nullable->has_null()) {
58
406
                _update_batch(col, nullmap, start);
59
406
                _contain_null = true;
60
406
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
406
        } else {
64
48
            _update_batch(column, start);
65
48
        }
66
454
    }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
6
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
6
        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
0
            _update_batch(column, start);
65
0
        }
66
6
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
52
189
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
189
        if (column->is_nullable()) {
54
143
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
143
            const auto& col = nullable->get_nested_column_ptr();
56
143
            const auto& nullmap = nullable->get_null_map_data();
57
143
            if (nullable->has_null()) {
58
134
                _update_batch(col, nullmap, start);
59
134
                _contain_null = true;
60
134
            } else {
61
9
                _update_batch(col, start);
62
9
            }
63
143
        } else {
64
46
            _update_batch(column, start);
65
46
        }
66
189
    }
_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
75
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
75
        if (column->is_nullable()) {
54
55
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
55
            const auto& col = nullable->get_nested_column_ptr();
56
55
            const auto& nullmap = nullable->get_null_map_data();
57
55
            if (nullable->has_null()) {
58
55
                _update_batch(col, nullmap, start);
59
55
                _contain_null = true;
60
55
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
55
        } else {
64
20
            _update_batch(column, start);
65
20
        }
66
75
    }
_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
44
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
44
            const auto& col = nullable->get_nested_column_ptr();
56
44
            const auto& nullmap = nullable->get_null_map_data();
57
44
            if (nullable->has_null()) {
58
11
                _update_batch(col, nullmap, start);
59
11
                _contain_null = true;
60
33
            } else {
61
33
                _update_batch(col, start);
62
33
            }
63
44
        } else {
64
37
            _update_batch(column, start);
65
37
        }
66
81
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EEm
Line
Count
Source
52
9
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
9
        if (column->is_nullable()) {
54
8
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
8
            const auto& col = nullable->get_nested_column_ptr();
56
8
            const auto& nullmap = nullable->get_null_map_data();
57
8
            if (nullable->has_null()) {
58
8
                _update_batch(col, nullmap, start);
59
8
                _contain_null = true;
60
8
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
8
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
9
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
10
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
10
        if (column->is_nullable()) {
54
9
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
9
            const auto& col = nullable->get_nested_column_ptr();
56
9
            const auto& nullmap = nullable->get_null_map_data();
57
9
            if (nullable->has_null()) {
58
9
                _update_batch(col, nullmap, start);
59
9
                _contain_null = true;
60
9
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
9
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
10
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
5
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
5
        if (column->is_nullable()) {
54
4
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
4
            const auto& col = nullable->get_nested_column_ptr();
56
4
            const auto& nullmap = nullable->get_null_map_data();
57
4
            if (nullable->has_null()) {
58
4
                _update_batch(col, nullmap, start);
59
4
                _contain_null = true;
60
4
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
4
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
5
    }
67
68
17.2k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
17.2k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
17.2k
        if constexpr (NeedMin) {
71
17.2k
            if constexpr (IsStringValue) {
72
616
                if (other_minmax->_min < _min || !_min_value_set) {
73
25
                    _min = other_minmax->_min;
74
25
                    _min_value_set = true;
75
25
                }
76
16.6k
            } else if (other_minmax->_min < _min) {
77
1.36k
                _min = other_minmax->_min;
78
1.36k
            }
79
17.2k
        }
80
17.2k
        if constexpr (NeedMax) {
81
17.2k
            if (other_minmax->_max > _max) {
82
1.22k
                _max = other_minmax->_max;
83
1.22k
            }
84
17.2k
        }
85
86
17.2k
        _contain_null |= minmax_func->contain_null();
87
17.2k
        return Status::OK();
88
17.2k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
168
    Status merge(MinMaxFuncBase* minmax_func) override {
69
168
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
168
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
168
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
168
        }
80
168
        if constexpr (NeedMax) {
81
168
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
168
        }
85
86
168
        _contain_null |= minmax_func->contain_null();
87
168
        return Status::OK();
88
168
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
4
    Status merge(MinMaxFuncBase* minmax_func) override {
69
4
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
4
        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
4
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
4
        }
80
4
        if constexpr (NeedMax) {
81
4
            if (other_minmax->_max > _max) {
82
4
                _max = other_minmax->_max;
83
4
            }
84
4
        }
85
86
4
        _contain_null |= minmax_func->contain_null();
87
4
        return Status::OK();
88
4
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
44
    Status merge(MinMaxFuncBase* minmax_func) override {
69
44
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
44
        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
44
            } else if (other_minmax->_min < _min) {
77
14
                _min = other_minmax->_min;
78
14
            }
79
44
        }
80
44
        if constexpr (NeedMax) {
81
44
            if (other_minmax->_max > _max) {
82
15
                _max = other_minmax->_max;
83
15
            }
84
44
        }
85
86
44
        _contain_null |= minmax_func->contain_null();
87
44
        return Status::OK();
88
44
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
10.1k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
10.1k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
10.1k
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
10.1k
            } else if (other_minmax->_min < _min) {
77
1.07k
                _min = other_minmax->_min;
78
1.07k
            }
79
10.1k
        }
80
10.1k
        if constexpr (NeedMax) {
81
10.1k
            if (other_minmax->_max > _max) {
82
925
                _max = other_minmax->_max;
83
925
            }
84
10.1k
        }
85
86
10.1k
        _contain_null |= minmax_func->contain_null();
87
10.1k
        return Status::OK();
88
10.1k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
2.30k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
2.30k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
2.30k
        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.30k
            } else if (other_minmax->_min < _min) {
77
70
                _min = other_minmax->_min;
78
70
            }
79
2.30k
        }
80
2.30k
        if constexpr (NeedMax) {
81
2.30k
            if (other_minmax->_max > _max) {
82
62
                _max = other_minmax->_max;
83
62
            }
84
2.30k
        }
85
86
2.30k
        _contain_null |= minmax_func->contain_null();
87
2.30k
        return Status::OK();
88
2.30k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE5mergeEPNS_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
0
                _min = other_minmax->_min;
78
0
            }
79
56
        }
80
56
        if constexpr (NeedMax) {
81
56
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
56
        }
85
86
56
        _contain_null |= minmax_func->contain_null();
87
56
        return Status::OK();
88
56
    }
_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
105
    Status merge(MinMaxFuncBase* minmax_func) override {
69
105
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
105
        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
105
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
105
        }
80
105
        if constexpr (NeedMax) {
81
105
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
105
        }
85
86
105
        _contain_null |= minmax_func->contain_null();
87
105
        return Status::OK();
88
105
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
28
    Status merge(MinMaxFuncBase* minmax_func) override {
69
28
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
28
        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
28
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
28
        }
80
28
        if constexpr (NeedMax) {
81
28
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
28
        }
85
86
28
        _contain_null |= minmax_func->contain_null();
87
28
        return Status::OK();
88
28
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
551
    Status merge(MinMaxFuncBase* minmax_func) override {
69
551
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
551
        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
551
            } else if (other_minmax->_min < _min) {
77
40
                _min = other_minmax->_min;
78
40
            }
79
551
        }
80
551
        if constexpr (NeedMax) {
81
551
            if (other_minmax->_max > _max) {
82
46
                _max = other_minmax->_max;
83
46
            }
84
551
        }
85
86
551
        _contain_null |= minmax_func->contain_null();
87
551
        return Status::OK();
88
551
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
2.73k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
2.73k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
2.73k
        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.73k
            } else if (other_minmax->_min < _min) {
77
149
                _min = other_minmax->_min;
78
149
            }
79
2.73k
        }
80
2.73k
        if constexpr (NeedMax) {
81
2.73k
            if (other_minmax->_max > _max) {
82
141
                _max = other_minmax->_max;
83
141
            }
84
2.73k
        }
85
86
2.73k
        _contain_null |= minmax_func->contain_null();
87
2.73k
        return Status::OK();
88
2.73k
    }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
5
    Status merge(MinMaxFuncBase* minmax_func) override {
69
5
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
5
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
5
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
5
        }
80
5
        if constexpr (NeedMax) {
81
5
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
5
        }
85
86
5
        _contain_null |= minmax_func->contain_null();
87
5
        return Status::OK();
88
5
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
616
    Status merge(MinMaxFuncBase* minmax_func) override {
69
616
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
616
        if constexpr (NeedMin) {
71
616
            if constexpr (IsStringValue) {
72
616
                if (other_minmax->_min < _min || !_min_value_set) {
73
25
                    _min = other_minmax->_min;
74
25
                    _min_value_set = true;
75
25
                }
76
            } else if (other_minmax->_min < _min) {
77
                _min = other_minmax->_min;
78
            }
79
616
        }
80
616
        if constexpr (NeedMax) {
81
616
            if (other_minmax->_max > _max) {
82
16
                _max = other_minmax->_max;
83
16
            }
84
616
        }
85
86
616
        _contain_null |= minmax_func->contain_null();
87
616
        return Status::OK();
88
616
    }
_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
278
    Status merge(MinMaxFuncBase* minmax_func) override {
69
278
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
278
        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
278
            } else if (other_minmax->_min < _min) {
77
4
                _min = other_minmax->_min;
78
4
            }
79
278
        }
80
278
        if constexpr (NeedMax) {
81
278
            if (other_minmax->_max > _max) {
82
3
                _max = other_minmax->_max;
83
3
            }
84
278
        }
85
86
278
        _contain_null |= minmax_func->contain_null();
87
278
        return Status::OK();
88
278
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
44
    Status merge(MinMaxFuncBase* minmax_func) override {
69
44
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
44
        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
44
            } else if (other_minmax->_min < _min) {
77
7
                _min = other_minmax->_min;
78
7
            }
79
44
        }
80
44
        if constexpr (NeedMax) {
81
44
            if (other_minmax->_max > _max) {
82
5
                _max = other_minmax->_max;
83
5
            }
84
44
        }
85
86
44
        _contain_null |= minmax_func->contain_null();
87
44
        return Status::OK();
88
44
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIoLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
89
90
16.5k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_maxEv
Line
Count
Source
90
25
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_maxEv
Line
Count
Source
90
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_maxEv
Line
Count
Source
90
443
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_maxEv
Line
Count
Source
90
162
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_maxEv
Line
Count
Source
90
3.17k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_maxEv
Line
Count
Source
90
11.5k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_maxEv
Line
Count
Source
90
23
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE7get_maxEv
Line
Count
Source
90
34
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7get_maxEv
Line
Count
Source
90
14
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_maxEv
Line
Count
Source
90
9
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
195
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
484
    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
197
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_maxEv
Line
Count
Source
90
25
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_maxEv
Line
Count
Source
90
134
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_maxEv
Line
Count
Source
90
75
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
19
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_maxEv
Line
Count
Source
90
11
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_maxEv
Line
Count
Source
90
6
    void* get_max() override { return &_max; }
91
92
16.5k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_minEv
Line
Count
Source
92
25
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_minEv
Line
Count
Source
92
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_minEv
Line
Count
Source
92
429
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_minEv
Line
Count
Source
92
163
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_minEv
Line
Count
Source
92
3.16k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_minEv
Line
Count
Source
92
11.5k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_minEv
Line
Count
Source
92
29
    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
9
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
92
197
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
92
488
    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
200
    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
134
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_minEv
Line
Count
Source
92
84
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_minEv
Line
Count
Source
92
19
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_minEv
Line
Count
Source
92
11
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_minEv
Line
Count
Source
92
6
    void* get_min() override { return &_min; }
93
94
1.63k
    Status assign(void* min_data, void* max_data) override {
95
1.63k
        if constexpr (IsStringValue) {
96
61
            _min_value_set = true;
97
61
        }
98
1.63k
        _min = *(T*)min_data;
99
1.63k
        _max = *(T*)max_data;
100
1.63k
        return Status::OK();
101
1.63k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE6assignEPvS2_
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_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
33
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
33
        _min = *(T*)min_data;
99
33
        _max = *(T*)max_data;
100
33
        return Status::OK();
101
33
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
72
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
72
        _min = *(T*)min_data;
99
72
        _max = *(T*)max_data;
100
72
        return Status::OK();
101
72
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1.09k
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1.09k
        _min = *(T*)min_data;
99
1.09k
        _max = *(T*)max_data;
100
1.09k
        return Status::OK();
101
1.09k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
119
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
119
        _min = *(T*)min_data;
99
119
        _max = *(T*)max_data;
100
119
        return Status::OK();
101
119
    }
_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
67
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
67
        _min = *(T*)min_data;
99
67
        _max = *(T*)max_data;
100
67
        return Status::OK();
101
67
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
94
143
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
143
        _min = *(T*)min_data;
99
143
        _max = *(T*)max_data;
100
143
        return Status::OK();
101
143
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE6assignEPvS3_
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE6assignEPvS8_
Line
Count
Source
94
61
    Status assign(void* min_data, void* max_data) override {
95
61
        if constexpr (IsStringValue) {
96
61
            _min_value_set = true;
97
61
        }
98
61
        _min = *(T*)min_data;
99
61
        _max = *(T*)max_data;
100
61
        return Status::OK();
101
61
    }
_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
5
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
5
        _min = *(T*)min_data;
99
5
        _max = *(T*)max_data;
100
5
        return Status::OK();
101
5
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE6assignEPvS3_
Line
Count
Source
94
15
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
15
        _min = *(T*)min_data;
99
15
        _max = *(T*)max_data;
100
15
        return Status::OK();
101
15
    }
_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.75k
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIhLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
34
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
80
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
1.22k
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
123
    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
66
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
142
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
58
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
10
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
4
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
14
    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.75k
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
1.75k
        if constexpr (NeedMin) {
108
1.75k
            f(filter->mutable_min_val(), _min);
109
1.75k
        }
110
1.75k
        if constexpr (NeedMax) {
111
1.75k
            f(filter->mutable_max_val(), _max);
112
1.75k
        }
113
1.75k
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIhLb1ELb1EE7_set_pbIZNS_13get_convertorIhEEDavEUlPNS_12PColumnValueERKhE_EEvPNS_13PMinMaxFilterET_
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
34
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
34
        if constexpr (NeedMin) {
108
34
            f(filter->mutable_min_val(), _min);
109
34
        }
110
34
        if constexpr (NeedMax) {
111
34
            f(filter->mutable_max_val(), _max);
112
34
        }
113
34
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7_set_pbIZNS_13get_convertorIsEEDavEUlPNS_12PColumnValueERKsE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
80
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
80
        if constexpr (NeedMin) {
108
80
            f(filter->mutable_min_val(), _min);
109
80
        }
110
80
        if constexpr (NeedMax) {
111
80
            f(filter->mutable_max_val(), _max);
112
80
        }
113
80
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7_set_pbIZNS_13get_convertorIiEEDavEUlPNS_12PColumnValueERKiE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
1.22k
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
1.22k
        if constexpr (NeedMin) {
108
1.22k
            f(filter->mutable_min_val(), _min);
109
1.22k
        }
110
1.22k
        if constexpr (NeedMax) {
111
1.22k
            f(filter->mutable_max_val(), _max);
112
1.22k
        }
113
1.22k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7_set_pbIZNS_13get_convertorIlEEDavEUlPNS_12PColumnValueERKlE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
123
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
123
        if constexpr (NeedMin) {
108
123
            f(filter->mutable_min_val(), _min);
109
123
        }
110
123
        if constexpr (NeedMax) {
111
123
            f(filter->mutable_max_val(), _max);
112
123
        }
113
123
    }
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
66
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
66
        if constexpr (NeedMin) {
108
66
            f(filter->mutable_min_val(), _min);
109
66
        }
110
66
        if constexpr (NeedMax) {
111
66
            f(filter->mutable_max_val(), _max);
112
66
        }
113
66
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
142
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
142
        if constexpr (NeedMin) {
108
142
            f(filter->mutable_min_val(), _min);
109
142
        }
110
142
        if constexpr (NeedMax) {
111
142
            f(filter->mutable_max_val(), _max);
112
142
        }
113
142
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS6_EEDavEUlPNS_12PColumnValueERKS6_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
58
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
58
        if constexpr (NeedMin) {
108
58
            f(filter->mutable_min_val(), _min);
109
58
        }
110
58
        if constexpr (NeedMax) {
111
58
            f(filter->mutable_max_val(), _max);
112
58
        }
113
58
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7_set_pbIZNS_13get_convertorIS2_EEDavEUlPNS_12PColumnValueERKS2_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
10
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
10
        if constexpr (NeedMin) {
108
10
            f(filter->mutable_min_val(), _min);
109
10
        }
110
10
        if constexpr (NeedMax) {
111
10
            f(filter->mutable_max_val(), _max);
112
10
        }
113
10
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7_set_pbIZNS_13get_convertorIS2_EEDavEUlPNS_12PColumnValueERKS2_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
4
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
4
        if constexpr (NeedMin) {
108
4
            f(filter->mutable_min_val(), _min);
109
4
        }
110
4
        if constexpr (NeedMax) {
111
4
            f(filter->mutable_max_val(), _max);
112
4
        }
113
4
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
14
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
14
        if constexpr (NeedMin) {
108
14
            f(filter->mutable_min_val(), _min);
109
14
        }
110
14
        if constexpr (NeedMax) {
111
14
            f(filter->mutable_max_val(), _max);
112
14
        }
113
14
    }
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
189
                              size_t start, size_t size) {
117
1.01k
        for (size_t i = start; i < size; i++) {
118
824
            if (nullmap == nullptr || !nullmap[i]) {
119
800
                if constexpr (NeedMin) {
120
800
                    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
800
                }
125
800
                if constexpr (NeedMax) {
126
800
                    if (column_string.get_data_at(i) > StringRef(_max)) {
127
286
                        _max = column_string.get_data_at(i).to_string();
128
286
                    }
129
800
                }
130
800
            }
131
824
        }
132
189
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE20_update_batch_stringINS_9ColumnStrImEEEEvRKT_PKhmm
Line
Count
Source
116
76
                              size_t start, size_t size) {
117
675
        for (size_t i = start; i < size; i++) {
118
599
            if (nullmap == nullptr || !nullmap[i]) {
119
595
                if constexpr (NeedMin) {
120
595
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
121
150
                        _min = column_string.get_data_at(i).to_string();
122
150
                        _min_value_set = true;
123
150
                    }
124
595
                }
125
595
                if constexpr (NeedMax) {
126
595
                    if (column_string.get_data_at(i) > StringRef(_max)) {
127
143
                        _max = column_string.get_data_at(i).to_string();
128
143
                    }
129
595
                }
130
595
            }
131
599
        }
132
76
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE20_update_batch_stringINS_9ColumnStrIjEEEEvRKT_PKhmm
Line
Count
Source
116
113
                              size_t start, size_t size) {
117
338
        for (size_t i = start; i < size; i++) {
118
225
            if (nullmap == nullptr || !nullmap[i]) {
119
205
                if constexpr (NeedMin) {
120
205
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
121
128
                        _min = column_string.get_data_at(i).to_string();
122
128
                        _min_value_set = true;
123
128
                    }
124
205
                }
125
205
                if constexpr (NeedMax) {
126
205
                    if (column_string.get_data_at(i) > StringRef(_max)) {
127
143
                        _max = column_string.get_data_at(i).to_string();
128
143
                    }
129
205
                }
130
205
            }
131
225
        }
132
113
    }
133
134
2.68k
    void _update_batch(const ColumnPtr& column, size_t start) {
135
2.68k
        const auto size = column->size();
136
2.68k
        if constexpr (std::is_same_v<T, std::string>) {
137
55
            if (column->is_column_string64()) {
138
18
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
18
                                     size);
140
37
            } else {
141
37
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
37
                                     size);
143
37
            }
144
2.63k
        } else {
145
2.63k
            const T* data = (T*)column->get_raw_data().data;
146
684k
            for (size_t i = start; i < size; i++) {
147
681k
                if constexpr (NeedMin) {
148
681k
                    _min = std::min(_min, *(data + i));
149
681k
                }
150
681k
                if constexpr (NeedMax) {
151
681k
                    _max = std::max(_max, *(data + i));
152
681k
                }
153
681k
            }
154
2.63k
        }
155
2.68k
    }
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
33
    void _update_batch(const ColumnPtr& column, size_t start) {
135
33
        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
33
        } else {
145
33
            const T* data = (T*)column->get_raw_data().data;
146
84
            for (size_t i = start; i < size; i++) {
147
51
                if constexpr (NeedMin) {
148
51
                    _min = std::min(_min, *(data + i));
149
51
                }
150
51
                if constexpr (NeedMax) {
151
51
                    _max = std::max(_max, *(data + i));
152
51
                }
153
51
            }
154
33
        }
155
33
    }
_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.99k
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1.99k
        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.99k
        } else {
145
1.99k
            const T* data = (T*)column->get_raw_data().data;
146
682k
            for (size_t i = start; i < size; i++) {
147
680k
                if constexpr (NeedMin) {
148
680k
                    _min = std::min(_min, *(data + i));
149
680k
                }
150
680k
                if constexpr (NeedMax) {
151
680k
                    _max = std::max(_max, *(data + i));
152
680k
                }
153
680k
            }
154
1.99k
        }
155
1.99k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
209
    void _update_batch(const ColumnPtr& column, size_t start) {
135
209
        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
209
        } else {
145
209
            const T* data = (T*)column->get_raw_data().data;
146
654
            for (size_t i = start; i < size; i++) {
147
445
                if constexpr (NeedMin) {
148
445
                    _min = std::min(_min, *(data + i));
149
445
                }
150
445
                if constexpr (NeedMax) {
151
445
                    _max = std::max(_max, *(data + i));
152
445
                }
153
445
            }
154
209
        }
155
209
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
56
    void _update_batch(const ColumnPtr& column, size_t start) {
135
56
        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
56
        } else {
145
56
            const T* data = (T*)column->get_raw_data().data;
146
131
            for (size_t i = start; i < size; i++) {
147
75
                if constexpr (NeedMin) {
148
75
                    _min = std::min(_min, *(data + i));
149
75
                }
150
75
                if constexpr (NeedMax) {
151
75
                    _max = std::max(_max, *(data + i));
152
75
                }
153
75
            }
154
56
        }
155
56
    }
_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
17
    void _update_batch(const ColumnPtr& column, size_t start) {
135
17
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
17
        } else {
145
17
            const T* data = (T*)column->get_raw_data().data;
146
36
            for (size_t i = start; i < size; i++) {
147
19
                if constexpr (NeedMin) {
148
19
                    _min = std::min(_min, *(data + i));
149
19
                }
150
19
                if constexpr (NeedMax) {
151
19
                    _max = std::max(_max, *(data + i));
152
19
                }
153
19
            }
154
17
        }
155
17
    }
_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
180
    void _update_batch(const ColumnPtr& column, size_t start) {
135
180
        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
180
        } else {
145
180
            const T* data = (T*)column->get_raw_data().data;
146
512
            for (size_t i = start; i < size; i++) {
147
332
                if constexpr (NeedMin) {
148
332
                    _min = std::min(_min, *(data + i));
149
332
                }
150
332
                if constexpr (NeedMax) {
151
332
                    _max = std::max(_max, *(data + i));
152
332
                }
153
332
            }
154
180
        }
155
180
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
134
48
    void _update_batch(const ColumnPtr& column, size_t start) {
135
48
        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
48
        } else {
145
48
            const T* data = (T*)column->get_raw_data().data;
146
196
            for (size_t i = start; i < size; i++) {
147
148
                if constexpr (NeedMin) {
148
148
                    _min = std::min(_min, *(data + i));
149
148
                }
150
148
                if constexpr (NeedMax) {
151
148
                    _max = std::max(_max, *(data + i));
152
148
                }
153
148
            }
154
48
        }
155
48
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
134
55
    void _update_batch(const ColumnPtr& column, size_t start) {
135
55
        const auto size = column->size();
136
55
        if constexpr (std::is_same_v<T, std::string>) {
137
55
            if (column->is_column_string64()) {
138
18
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
18
                                     size);
140
37
            } else {
141
37
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
37
                                     size);
143
37
            }
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
55
    }
_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
20
    void _update_batch(const ColumnPtr& column, size_t start) {
135
20
        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
20
        } else {
145
20
            const T* data = (T*)column->get_raw_data().data;
146
109
            for (size_t i = start; i < size; i++) {
147
89
                if constexpr (NeedMin) {
148
89
                    _min = std::min(_min, *(data + i));
149
89
                }
150
89
                if constexpr (NeedMax) {
151
89
                    _max = std::max(_max, *(data + i));
152
89
                }
153
89
            }
154
20
        }
155
20
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
134
70
    void _update_batch(const ColumnPtr& column, size_t start) {
135
70
        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
70
        } else {
145
70
            const T* data = (T*)column->get_raw_data().data;
146
214
            for (size_t i = start; i < size; i++) {
147
144
                if constexpr (NeedMin) {
148
144
                    _min = std::min(_min, *(data + i));
149
144
                }
150
144
                if constexpr (NeedMax) {
151
144
                    _max = std::max(_max, *(data + i));
152
144
                }
153
144
            }
154
70
        }
155
70
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
156
157
4.56k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
4.56k
        const auto size = column->size();
159
4.56k
        if constexpr (std::is_same_v<T, std::string>) {
160
134
            if (column->is_column_string64()) {
161
58
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
58
                                     start, size);
163
76
            } else {
164
76
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
76
                                     start, size);
166
76
            }
167
4.43k
        } else {
168
4.43k
            const T* data = (T*)column->get_raw_data().data;
169
1.10M
            for (size_t i = start; i < size; i++) {
170
1.09M
                if (!nullmap[i]) {
171
1.09M
                    if constexpr (NeedMin) {
172
1.09M
                        _min = std::min(_min, *(data + i));
173
1.09M
                    }
174
1.09M
                    if constexpr (NeedMax) {
175
1.09M
                        _max = std::max(_max, *(data + i));
176
1.09M
                    }
177
1.09M
                }
178
1.09M
            }
179
4.43k
        }
180
4.56k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_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
72
            for (size_t i = start; i < size; i++) {
170
48
                if (!nullmap[i]) {
171
32
                    if constexpr (NeedMin) {
172
32
                        _min = std::min(_min, *(data + i));
173
32
                    }
174
32
                    if constexpr (NeedMax) {
175
32
                        _max = std::max(_max, *(data + i));
176
32
                    }
177
32
                }
178
48
            }
179
24
        }
180
24
    }
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
209
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
209
        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
209
        } else {
168
209
            const T* data = (T*)column->get_raw_data().data;
169
620
            for (size_t i = start; i < size; i++) {
170
411
                if (!nullmap[i]) {
171
410
                    if constexpr (NeedMin) {
172
410
                        _min = std::min(_min, *(data + i));
173
410
                    }
174
410
                    if constexpr (NeedMax) {
175
410
                        _max = std::max(_max, *(data + i));
176
410
                    }
177
410
                }
178
411
            }
179
209
        }
180
209
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
91
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
91
        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
91
        } else {
168
91
            const T* data = (T*)column->get_raw_data().data;
169
519
            for (size_t i = start; i < size; i++) {
170
428
                if (!nullmap[i]) {
171
412
                    if constexpr (NeedMin) {
172
412
                        _min = std::min(_min, *(data + i));
173
412
                    }
174
412
                    if constexpr (NeedMax) {
175
412
                        _max = std::max(_max, *(data + i));
176
412
                    }
177
412
                }
178
428
            }
179
91
        }
180
91
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
2.64k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
2.64k
        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.64k
        } else {
168
2.64k
            const T* data = (T*)column->get_raw_data().data;
169
893k
            for (size_t i = start; i < size; i++) {
170
890k
                if (!nullmap[i]) {
171
887k
                    if constexpr (NeedMin) {
172
887k
                        _min = std::min(_min, *(data + i));
173
887k
                    }
174
887k
                    if constexpr (NeedMax) {
175
887k
                        _max = std::max(_max, *(data + i));
176
887k
                    }
177
887k
                }
178
890k
            }
179
2.64k
        }
180
2.64k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
708
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
708
        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
708
        } else {
168
708
            const T* data = (T*)column->get_raw_data().data;
169
202k
            for (size_t i = start; i < size; i++) {
170
202k
                if (!nullmap[i]) {
171
201k
                    if constexpr (NeedMin) {
172
201k
                        _min = std::min(_min, *(data + i));
173
201k
                    }
174
201k
                    if constexpr (NeedMax) {
175
201k
                        _max = std::max(_max, *(data + i));
176
201k
                    }
177
201k
                }
178
202k
            }
179
708
        }
180
708
    }
_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
101
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
101
        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
101
        } else {
168
101
            const T* data = (T*)column->get_raw_data().data;
169
202
            for (size_t i = start; i < size; i++) {
170
101
                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
101
            }
179
101
        }
180
101
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
5
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
5
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
5
        } else {
168
5
            const T* data = (T*)column->get_raw_data().data;
169
29
            for (size_t i = start; i < size; i++) {
170
24
                if (!nullmap[i]) {
171
24
                    if constexpr (NeedMin) {
172
24
                        _min = std::min(_min, *(data + i));
173
24
                    }
174
24
                    if constexpr (NeedMax) {
175
24
                        _max = std::max(_max, *(data + i));
176
24
                    }
177
24
                }
178
24
            }
179
5
        }
180
5
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
90
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
90
        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
90
        } else {
168
90
            const T* data = (T*)column->get_raw_data().data;
169
3.27k
            for (size_t i = start; i < size; i++) {
170
3.18k
                if (!nullmap[i]) {
171
2.77k
                    if constexpr (NeedMin) {
172
2.77k
                        _min = std::min(_min, *(data + i));
173
2.77k
                    }
174
2.77k
                    if constexpr (NeedMax) {
175
2.77k
                        _max = std::max(_max, *(data + i));
176
2.77k
                    }
177
2.77k
                }
178
3.18k
            }
179
90
        }
180
90
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
406
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
406
        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
406
        } else {
168
406
            const T* data = (T*)column->get_raw_data().data;
169
946
            for (size_t i = start; i < size; i++) {
170
540
                if (!nullmap[i]) {
171
527
                    if constexpr (NeedMin) {
172
527
                        _min = std::min(_min, *(data + i));
173
527
                    }
174
527
                    if constexpr (NeedMax) {
175
527
                        _max = std::max(_max, *(data + i));
176
527
                    }
177
527
                }
178
540
            }
179
406
        }
180
406
    }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE13_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
24
            for (size_t i = start; i < size; i++) {
170
18
                if (!nullmap[i]) {
171
18
                    if constexpr (NeedMin) {
172
18
                        _min = std::min(_min, *(data + i));
173
18
                    }
174
18
                    if constexpr (NeedMax) {
175
18
                        _max = std::max(_max, *(data + i));
176
18
                    }
177
18
                }
178
18
            }
179
6
        }
180
6
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
134
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
134
        const auto size = column->size();
159
134
        if constexpr (std::is_same_v<T, std::string>) {
160
134
            if (column->is_column_string64()) {
161
58
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
58
                                     start, size);
163
76
            } else {
164
76
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
76
                                     start, size);
166
76
            }
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
134
    }
_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
55
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
55
        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
55
        } else {
168
55
            const T* data = (T*)column->get_raw_data().data;
169
148
            for (size_t i = start; i < size; i++) {
170
93
                if (!nullmap[i]) {
171
81
                    if constexpr (NeedMin) {
172
81
                        _min = std::min(_min, *(data + i));
173
81
                    }
174
81
                    if constexpr (NeedMax) {
175
81
                        _max = std::max(_max, *(data + i));
176
81
                    }
177
81
                }
178
93
            }
179
55
        }
180
55
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
11
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
11
        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
11
        } else {
168
11
            const T* data = (T*)column->get_raw_data().data;
169
48
            for (size_t i = start; i < size; i++) {
170
37
                if (!nullmap[i]) {
171
27
                    if constexpr (NeedMin) {
172
27
                        _min = std::min(_min, *(data + i));
173
27
                    }
174
27
                    if constexpr (NeedMax) {
175
27
                        _max = std::max(_max, *(data + i));
176
27
                    }
177
27
                }
178
37
            }
179
11
        }
180
11
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
8
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
8
        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
8
        } else {
168
8
            const T* data = (T*)column->get_raw_data().data;
169
544
            for (size_t i = start; i < size; i++) {
170
536
                if (!nullmap[i]) {
171
536
                    if constexpr (NeedMin) {
172
536
                        _min = std::min(_min, *(data + i));
173
536
                    }
174
536
                    if constexpr (NeedMax) {
175
536
                        _max = std::max(_max, *(data + i));
176
536
                    }
177
536
                }
178
536
            }
179
8
        }
180
8
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
9
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
9
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
9
        } else {
168
9
            const T* data = (T*)column->get_raw_data().data;
169
553
            for (size_t i = start; i < size; i++) {
170
544
                if (!nullmap[i]) {
171
495
                    if constexpr (NeedMin) {
172
495
                        _min = std::min(_min, *(data + i));
173
495
                    }
174
495
                    if constexpr (NeedMax) {
175
495
                        _max = std::max(_max, *(data + i));
176
495
                    }
177
495
                }
178
544
            }
179
9
        }
180
9
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_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
48
            for (size_t i = start; i < size; i++) {
170
44
                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
44
            }
179
4
        }
180
4
    }
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