Coverage Report

Created: 2026-03-20 15:57

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
64.4k
    MinMaxFuncBase(bool null_aware) : FilterBase(null_aware) {}
33
    virtual void insert_fixed_len(const ColumnPtr& column, size_t start) = 0;
34
    virtual void* get_max() = 0;
35
    virtual void* get_min() = 0;
36
    // assign minmax data
37
    virtual Status assign(void* min_data, void* max_data) = 0;
38
    // merge from other minmax_func
39
    virtual Status merge(MinMaxFuncBase* minmax_func) = 0;
40
65.3k
    virtual ~MinMaxFuncBase() = default;
41
42
    virtual void to_pb(PMinMaxFilter* filter) = 0;
43
};
44
45
template <class T, bool NeedMax = true, bool NeedMin = true>
46
class MinMaxNumFunc : public MinMaxFuncBase {
47
public:
48
    static constexpr bool IsStringValue = std::is_same_v<T, std::string>;
49
64.4k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIhLb1ELb1EEC2Eb
Line
Count
Source
49
220
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EEC2Eb
Line
Count
Source
49
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIaLb1ELb1EEC2Eb
Line
Count
Source
49
437
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIsLb1ELb1EEC2Eb
Line
Count
Source
49
319
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIiLb1ELb1EEC2Eb
Line
Count
Source
49
14.3k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIlLb1ELb1EEC2Eb
Line
Count
Source
49
43.5k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncInLb1ELb1EEC2Eb
Line
Count
Source
49
231
    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
75
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EEC2Eb
Line
Count
Source
49
16
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
49
995
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
49
913
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EEC2Eb
Line
Count
Source
49
14
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EEC2Eb
Line
Count
Source
49
1.71k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EEC2Eb
Line
Count
Source
49
90
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EEC2Eb
Line
Count
Source
49
890
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EEC2Eb
Line
Count
Source
49
374
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EEC2Eb
Line
Count
Source
49
43
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIjLb1ELb1EEC2Eb
Line
Count
Source
49
31
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIoLb1ELb1EEC2Eb
Line
Count
Source
49
14
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
50
1.71k
    ~MinMaxNumFunc() override = default;
51
52
6.86k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
6.86k
        if (column->is_nullable()) {
54
4.75k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
4.75k
            const auto& col = nullable->get_nested_column_ptr();
56
4.75k
            const auto& nullmap = nullable->get_null_map_data();
57
4.75k
            if (nullable->has_null()) {
58
4.44k
                _update_batch(col, nullmap, start);
59
4.44k
                _contain_null = true;
60
4.44k
            } else {
61
317
                _update_batch(col, start);
62
317
            }
63
4.75k
        } else {
64
2.10k
            _update_batch(column, start);
65
2.10k
        }
66
6.86k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
25
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
25
        if (column->is_nullable()) {
54
25
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
25
            const auto& col = nullable->get_nested_column_ptr();
56
25
            const auto& nullmap = nullable->get_null_map_data();
57
25
            if (nullable->has_null()) {
58
25
                _update_batch(col, nullmap, start);
59
25
                _contain_null = true;
60
25
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
25
        } else {
64
0
            _update_batch(column, start);
65
0
        }
66
25
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
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
160
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
160
        if (column->is_nullable()) {
54
154
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
154
            const auto& col = nullable->get_nested_column_ptr();
56
154
            const auto& nullmap = nullable->get_null_map_data();
57
154
            if (nullable->has_null()) {
58
107
                _update_batch(col, nullmap, start);
59
107
                _contain_null = true;
60
107
            } else {
61
47
                _update_batch(col, start);
62
47
            }
63
154
        } else {
64
6
            _update_batch(column, start);
65
6
        }
66
160
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
113
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
113
        if (column->is_nullable()) {
54
112
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
112
            const auto& col = nullable->get_nested_column_ptr();
56
112
            const auto& nullmap = nullable->get_null_map_data();
57
112
            if (nullable->has_null()) {
58
112
                _update_batch(col, nullmap, start);
59
112
                _contain_null = true;
60
112
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
112
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
113
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
3.98k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
3.98k
        if (column->is_nullable()) {
54
2.42k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
2.42k
            const auto& col = nullable->get_nested_column_ptr();
56
2.42k
            const auto& nullmap = nullable->get_null_map_data();
57
2.42k
            if (nullable->has_null()) {
58
2.30k
                _update_batch(col, nullmap, start);
59
2.30k
                _contain_null = true;
60
2.30k
            } else {
61
119
                _update_batch(col, start);
62
119
            }
63
2.42k
        } else {
64
1.55k
            _update_batch(column, start);
65
1.55k
        }
66
3.98k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
1.32k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
1.32k
        if (column->is_nullable()) {
54
1.21k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
1.21k
            const auto& col = nullable->get_nested_column_ptr();
56
1.21k
            const auto& nullmap = nullable->get_null_map_data();
57
1.21k
            if (nullable->has_null()) {
58
1.12k
                _update_batch(col, nullmap, start);
59
1.12k
                _contain_null = true;
60
1.12k
            } else {
61
92
                _update_batch(col, start);
62
92
            }
63
1.21k
        } else {
64
106
            _update_batch(column, start);
65
106
        }
66
1.32k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
110
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
110
        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
106
        } else {
64
106
            _update_batch(column, start);
65
106
        }
66
110
    }
_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
66
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
66
        if (column->is_nullable()) {
54
65
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
65
            const auto& col = nullable->get_nested_column_ptr();
56
65
            const auto& nullmap = nullable->get_null_map_data();
57
65
            if (nullable->has_null()) {
58
42
                _update_batch(col, nullmap, start);
59
42
                _contain_null = true;
60
42
            } else {
61
23
                _update_batch(col, start);
62
23
            }
63
65
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
66
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
5
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
5
        if (column->is_nullable()) {
54
3
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
3
            const auto& col = nullable->get_nested_column_ptr();
56
3
            const auto& nullmap = nullable->get_null_map_data();
57
3
            if (nullable->has_null()) {
58
3
                _update_batch(col, nullmap, start);
59
3
                _contain_null = true;
60
3
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
3
        } else {
64
2
            _update_batch(column, start);
65
2
        }
66
5
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
52
262
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
262
        if (column->is_nullable()) {
54
68
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
68
            const auto& col = nullable->get_nested_column_ptr();
56
68
            const auto& nullmap = nullable->get_null_map_data();
57
68
            if (nullable->has_null()) {
58
66
                _update_batch(col, nullmap, start);
59
66
                _contain_null = true;
60
66
            } else {
61
2
                _update_batch(col, start);
62
2
            }
63
194
        } else {
64
194
            _update_batch(column, start);
65
194
        }
66
262
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
52
154
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
154
        if (column->is_nullable()) {
54
107
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
107
            const auto& col = nullable->get_nested_column_ptr();
56
107
            const auto& nullmap = nullable->get_null_map_data();
57
107
            if (nullable->has_null()) {
58
107
                _update_batch(col, nullmap, start);
59
107
                _contain_null = true;
60
107
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
107
        } else {
64
47
            _update_batch(column, start);
65
47
        }
66
154
    }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
12
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
12
        if (column->is_nullable()) {
54
12
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
12
            const auto& col = nullable->get_nested_column_ptr();
56
12
            const auto& nullmap = nullable->get_null_map_data();
57
12
            if (nullable->has_null()) {
58
12
                _update_batch(col, nullmap, start);
59
12
                _contain_null = true;
60
12
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
12
        } else {
64
0
            _update_batch(column, start);
65
0
        }
66
12
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
52
328
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
328
        if (column->is_nullable()) {
54
247
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
247
            const auto& col = nullable->get_nested_column_ptr();
56
247
            const auto& nullmap = nullable->get_null_map_data();
57
247
            if (nullable->has_null()) {
58
222
                _update_batch(col, nullmap, start);
59
222
                _contain_null = true;
60
222
            } else {
61
25
                _update_batch(col, start);
62
25
            }
63
247
        } else {
64
81
            _update_batch(column, start);
65
81
        }
66
328
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_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
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
52
73
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
73
        if (column->is_nullable()) {
54
72
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
72
            const auto& col = nullable->get_nested_column_ptr();
56
72
            const auto& nullmap = nullable->get_null_map_data();
57
72
            if (nullable->has_null()) {
58
72
                _update_batch(col, nullmap, start);
59
72
                _contain_null = true;
60
72
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
72
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
73
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
128
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
128
        if (column->is_nullable()) {
54
126
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
126
            const auto& col = nullable->get_nested_column_ptr();
56
126
            const auto& nullmap = nullable->get_null_map_data();
57
126
            if (nullable->has_null()) {
58
117
                _update_batch(col, nullmap, start);
59
117
                _contain_null = true;
60
117
            } else {
61
9
                _update_batch(col, start);
62
9
            }
63
126
        } else {
64
2
            _update_batch(column, start);
65
2
        }
66
128
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EEm
Line
Count
Source
52
29
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
29
        if (column->is_nullable()) {
54
28
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
28
            const auto& col = nullable->get_nested_column_ptr();
56
28
            const auto& nullmap = nullable->get_null_map_data();
57
28
            if (nullable->has_null()) {
58
28
                _update_batch(col, nullmap, start);
59
28
                _contain_null = true;
60
28
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
28
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
29
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
23
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
23
        if (column->is_nullable()) {
54
22
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
22
            const auto& col = nullable->get_nested_column_ptr();
56
22
            const auto& nullmap = nullable->get_null_map_data();
57
22
            if (nullable->has_null()) {
58
22
                _update_batch(col, nullmap, start);
59
22
                _contain_null = true;
60
22
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
22
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
23
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
7
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
7
        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
1
            _update_batch(column, start);
65
1
        }
66
7
    }
67
68
11.9k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
11.9k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
11.9k
        if constexpr (NeedMin) {
71
11.9k
            if constexpr (IsStringValue) {
72
914
                if (other_minmax->_min < _min || !_min_value_set) {
73
71
                    _min = other_minmax->_min;
74
71
                    _min_value_set = true;
75
71
                }
76
10.9k
            } else if (other_minmax->_min < _min) {
77
653
                _min = other_minmax->_min;
78
653
            }
79
11.9k
        }
80
11.9k
        if constexpr (NeedMax) {
81
11.9k
            if (other_minmax->_max > _max) {
82
629
                _max = other_minmax->_max;
83
629
            }
84
11.9k
        }
85
86
11.9k
        _contain_null |= minmax_func->contain_null();
87
11.9k
        return Status::OK();
88
11.9k
    }
_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
49
    Status merge(MinMaxFuncBase* minmax_func) override {
69
49
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
49
        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
49
            } else if (other_minmax->_min < _min) {
77
11
                _min = other_minmax->_min;
78
11
            }
79
49
        }
80
49
        if constexpr (NeedMax) {
81
49
            if (other_minmax->_max > _max) {
82
5
                _max = other_minmax->_max;
83
5
            }
84
49
        }
85
86
49
        _contain_null |= minmax_func->contain_null();
87
49
        return Status::OK();
88
49
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
57
    Status merge(MinMaxFuncBase* minmax_func) override {
69
57
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
57
        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
57
            } else if (other_minmax->_min < _min) {
77
13
                _min = other_minmax->_min;
78
13
            }
79
57
        }
80
57
        if constexpr (NeedMax) {
81
57
            if (other_minmax->_max > _max) {
82
14
                _max = other_minmax->_max;
83
14
            }
84
57
        }
85
86
57
        _contain_null |= minmax_func->contain_null();
87
57
        return Status::OK();
88
57
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
5.06k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
5.06k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
5.06k
        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.06k
            } else if (other_minmax->_min < _min) {
77
437
                _min = other_minmax->_min;
78
437
            }
79
5.06k
        }
80
5.06k
        if constexpr (NeedMax) {
81
5.06k
            if (other_minmax->_max > _max) {
82
416
                _max = other_minmax->_max;
83
416
            }
84
5.06k
        }
85
86
5.06k
        _contain_null |= minmax_func->contain_null();
87
5.06k
        return Status::OK();
88
5.06k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
3.49k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
3.49k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
3.49k
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
3.49k
            } else if (other_minmax->_min < _min) {
77
94
                _min = other_minmax->_min;
78
94
            }
79
3.49k
        }
80
3.49k
        if constexpr (NeedMax) {
81
3.49k
            if (other_minmax->_max > _max) {
82
83
                _max = other_minmax->_max;
83
83
            }
84
3.49k
        }
85
86
3.49k
        _contain_null |= minmax_func->contain_null();
87
3.49k
        return Status::OK();
88
3.49k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
73
    Status merge(MinMaxFuncBase* minmax_func) override {
69
73
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
73
        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
73
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
73
        }
80
73
        if constexpr (NeedMax) {
81
73
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
73
        }
85
86
73
        _contain_null |= minmax_func->contain_null();
87
73
        return Status::OK();
88
73
    }
_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
57
    Status merge(MinMaxFuncBase* minmax_func) override {
69
57
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
57
        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
57
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
57
        }
80
57
        if constexpr (NeedMax) {
81
57
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
57
        }
85
86
57
        _contain_null |= minmax_func->contain_null();
87
57
        return Status::OK();
88
57
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
571
    Status merge(MinMaxFuncBase* minmax_func) override {
69
571
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
571
        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
571
            } else if (other_minmax->_min < _min) {
77
60
                _min = other_minmax->_min;
78
60
            }
79
571
        }
80
571
        if constexpr (NeedMax) {
81
571
            if (other_minmax->_max > _max) {
82
52
                _max = other_minmax->_max;
83
52
            }
84
571
        }
85
86
571
        _contain_null |= minmax_func->contain_null();
87
571
        return Status::OK();
88
571
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
611
    Status merge(MinMaxFuncBase* minmax_func) override {
69
611
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
611
        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
611
            } else if (other_minmax->_min < _min) {
77
6
                _min = other_minmax->_min;
78
6
            }
79
611
        }
80
611
        if constexpr (NeedMax) {
81
611
            if (other_minmax->_max > _max) {
82
5
                _max = other_minmax->_max;
83
5
            }
84
611
        }
85
86
611
        _contain_null |= minmax_func->contain_null();
87
611
        return Status::OK();
88
611
    }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
10
    Status merge(MinMaxFuncBase* minmax_func) override {
69
10
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
10
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
10
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
10
        }
80
10
        if constexpr (NeedMax) {
81
10
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
10
        }
85
86
10
        _contain_null |= minmax_func->contain_null();
87
10
        return Status::OK();
88
10
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
914
    Status merge(MinMaxFuncBase* minmax_func) override {
69
914
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
914
        if constexpr (NeedMin) {
71
914
            if constexpr (IsStringValue) {
72
914
                if (other_minmax->_min < _min || !_min_value_set) {
73
71
                    _min = other_minmax->_min;
74
71
                    _min_value_set = true;
75
71
                }
76
            } else if (other_minmax->_min < _min) {
77
                _min = other_minmax->_min;
78
            }
79
914
        }
80
914
        if constexpr (NeedMax) {
81
914
            if (other_minmax->_max > _max) {
82
33
                _max = other_minmax->_max;
83
33
            }
84
914
        }
85
86
914
        _contain_null |= minmax_func->contain_null();
87
914
        return Status::OK();
88
914
    }
_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
308
    Status merge(MinMaxFuncBase* minmax_func) override {
69
308
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
308
        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
308
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
308
        }
80
308
        if constexpr (NeedMax) {
81
308
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
308
        }
85
86
308
        _contain_null |= minmax_func->contain_null();
87
308
        return Status::OK();
88
308
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
270
    Status merge(MinMaxFuncBase* minmax_func) override {
69
270
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
270
        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
270
            } else if (other_minmax->_min < _min) {
77
27
                _min = other_minmax->_min;
78
27
            }
79
270
        }
80
270
        if constexpr (NeedMax) {
81
270
            if (other_minmax->_max > _max) {
82
17
                _max = other_minmax->_max;
83
17
            }
84
270
        }
85
86
270
        _contain_null |= minmax_func->contain_null();
87
270
        return Status::OK();
88
270
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
15
    Status merge(MinMaxFuncBase* minmax_func) override {
69
15
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
15
        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
15
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
15
        }
80
15
        if constexpr (NeedMax) {
81
15
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
15
        }
85
86
15
        _contain_null |= minmax_func->contain_null();
87
15
        return Status::OK();
88
15
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
15
    Status merge(MinMaxFuncBase* minmax_func) override {
69
15
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
15
        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
15
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
15
        }
80
15
        if constexpr (NeedMax) {
81
15
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
15
        }
85
86
15
        _contain_null |= minmax_func->contain_null();
87
15
        return Status::OK();
88
15
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIoLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
89
90
25.6k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_maxEv
Line
Count
Source
90
26
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_maxEv
Line
Count
Source
90
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_maxEv
Line
Count
Source
90
190
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_maxEv
Line
Count
Source
90
124
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_maxEv
Line
Count
Source
90
3.64k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_maxEv
Line
Count
Source
90
20.3k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_maxEv
Line
Count
Source
90
70
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE7get_maxEv
Line
Count
Source
90
34
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7get_maxEv
Line
Count
Source
90
9
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_maxEv
Line
Count
Source
90
10
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
184
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
152
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_maxEv
Line
Count
Source
90
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
394
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_maxEv
Line
Count
Source
90
41
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_maxEv
Line
Count
Source
90
291
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_maxEv
Line
Count
Source
90
48
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
15
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_maxEv
Line
Count
Source
90
9
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_maxEv
Line
Count
Source
90
8
    void* get_max() override { return &_max; }
91
92
25.6k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_minEv
Line
Count
Source
92
26
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_minEv
Line
Count
Source
92
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_minEv
Line
Count
Source
92
183
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_minEv
Line
Count
Source
92
124
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_minEv
Line
Count
Source
92
3.63k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_minEv
Line
Count
Source
92
20.4k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_minEv
Line
Count
Source
92
71
    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
3
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_minEv
Line
Count
Source
92
10
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
92
184
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
92
152
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_minEv
Line
Count
Source
92
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_minEv
Line
Count
Source
92
400
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_minEv
Line
Count
Source
92
42
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_minEv
Line
Count
Source
92
292
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_minEv
Line
Count
Source
92
50
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_minEv
Line
Count
Source
92
15
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_minEv
Line
Count
Source
92
9
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_minEv
Line
Count
Source
92
8
    void* get_min() override { return &_min; }
93
94
1.15k
    Status assign(void* min_data, void* max_data) override {
95
1.15k
        if constexpr (IsStringValue) {
96
67
            _min_value_set = true;
97
67
        }
98
1.15k
        _min = *(T*)min_data;
99
1.15k
        _max = *(T*)max_data;
100
1.15k
        return Status::OK();
101
1.15k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
3
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
3
        _min = *(T*)min_data;
99
3
        _max = *(T*)max_data;
100
3
        return Status::OK();
101
3
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE6assignEPvS3_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
13
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
13
        _min = *(T*)min_data;
99
13
        _max = *(T*)max_data;
100
13
        return Status::OK();
101
13
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
39
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
39
        _min = *(T*)min_data;
99
39
        _max = *(T*)max_data;
100
39
        return Status::OK();
101
39
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
724
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
724
        _min = *(T*)min_data;
99
724
        _max = *(T*)max_data;
100
724
        return Status::OK();
101
724
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
159
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
159
        _min = *(T*)min_data;
99
159
        _max = *(T*)max_data;
100
159
        return Status::OK();
101
159
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
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_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
89
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
89
        _min = *(T*)min_data;
99
89
        _max = *(T*)max_data;
100
89
        return Status::OK();
101
89
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE6assignEPvS5_
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
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE6assignEPvS3_
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE6assignEPvS8_
Line
Count
Source
94
67
    Status assign(void* min_data, void* max_data) override {
95
67
        if constexpr (IsStringValue) {
96
67
            _min_value_set = true;
97
67
        }
98
67
        _min = *(T*)min_data;
99
67
        _max = *(T*)max_data;
100
67
        return Status::OK();
101
67
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE6assignEPvS4_
Line
Count
Source
94
11
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
11
        _min = *(T*)min_data;
99
11
        _max = *(T*)max_data;
100
11
        return Status::OK();
101
11
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE6assignEPvS4_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE6assignEPvS3_
Line
Count
Source
94
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
    }
_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.33k
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
2
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
12
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
38
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
858
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
217
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncInLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIdLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
88
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
10
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
64
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
10
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
32
    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.33k
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
1.33k
        if constexpr (NeedMin) {
108
1.33k
            f(filter->mutable_min_val(), _min);
109
1.33k
        }
110
1.33k
        if constexpr (NeedMax) {
111
1.33k
            f(filter->mutable_max_val(), _max);
112
1.33k
        }
113
1.33k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7_set_pbIZNS_13get_convertorIhEEDavEUlPNS_12PColumnValueERKhE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
2
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
2
        if constexpr (NeedMin) {
108
2
            f(filter->mutable_min_val(), _min);
109
2
        }
110
2
        if constexpr (NeedMax) {
111
2
            f(filter->mutable_max_val(), _max);
112
2
        }
113
2
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7_set_pbIZNS_13get_convertorIaEEDavEUlPNS_12PColumnValueERKaE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
12
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
12
        if constexpr (NeedMin) {
108
12
            f(filter->mutable_min_val(), _min);
109
12
        }
110
12
        if constexpr (NeedMax) {
111
12
            f(filter->mutable_max_val(), _max);
112
12
        }
113
12
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7_set_pbIZNS_13get_convertorIsEEDavEUlPNS_12PColumnValueERKsE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
38
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
38
        if constexpr (NeedMin) {
108
38
            f(filter->mutable_min_val(), _min);
109
38
        }
110
38
        if constexpr (NeedMax) {
111
38
            f(filter->mutable_max_val(), _max);
112
38
        }
113
38
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7_set_pbIZNS_13get_convertorIiEEDavEUlPNS_12PColumnValueERKiE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
858
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
858
        if constexpr (NeedMin) {
108
858
            f(filter->mutable_min_val(), _min);
109
858
        }
110
858
        if constexpr (NeedMax) {
111
858
            f(filter->mutable_max_val(), _max);
112
858
        }
113
858
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7_set_pbIZNS_13get_convertorIlEEDavEUlPNS_12PColumnValueERKlE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
217
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
217
        if constexpr (NeedMin) {
108
217
            f(filter->mutable_min_val(), _min);
109
217
        }
110
217
        if constexpr (NeedMax) {
111
217
            f(filter->mutable_max_val(), _max);
112
217
        }
113
217
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncInLb1ELb1EE7_set_pbIZNS_13get_convertorInEEDavEUlPNS_12PColumnValueERKnE_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE7_set_pbIZNS_13get_convertorIfEEDavEUlPNS_12PColumnValueERKfE_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIdLb1ELb1EE7_set_pbIZNS_13get_convertorIdEEDavEUlPNS_12PColumnValueERKdE_EEvPNS_13PMinMaxFilterET_
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
88
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
88
        if constexpr (NeedMin) {
108
88
            f(filter->mutable_min_val(), _min);
109
88
        }
110
88
        if constexpr (NeedMax) {
111
88
            f(filter->mutable_max_val(), _max);
112
88
        }
113
88
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
10
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
10
        if constexpr (NeedMin) {
108
10
            f(filter->mutable_min_val(), _min);
109
10
        }
110
10
        if constexpr (NeedMax) {
111
10
            f(filter->mutable_max_val(), _max);
112
10
        }
113
10
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS6_EEDavEUlPNS_12PColumnValueERKS6_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
64
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
64
        if constexpr (NeedMin) {
108
64
            f(filter->mutable_min_val(), _min);
109
64
        }
110
64
        if constexpr (NeedMax) {
111
64
            f(filter->mutable_max_val(), _max);
112
64
        }
113
64
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7_set_pbIZNS_13get_convertorIS2_EEDavEUlPNS_12PColumnValueERKS2_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
10
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
10
        if constexpr (NeedMin) {
108
10
            f(filter->mutable_min_val(), _min);
109
10
        }
110
10
        if constexpr (NeedMax) {
111
10
            f(filter->mutable_max_val(), _max);
112
10
        }
113
10
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7_set_pbIZNS_13get_convertorIS2_EEDavEUlPNS_12PColumnValueERKS2_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
32
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
32
        if constexpr (NeedMin) {
108
32
            f(filter->mutable_min_val(), _min);
109
32
        }
110
32
        if constexpr (NeedMax) {
111
32
            f(filter->mutable_max_val(), _max);
112
32
        }
113
32
    }
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
328
                              size_t start, size_t size) {
117
1.61k
        for (size_t i = start; i < size; i++) {
118
1.28k
            if (nullmap == nullptr || !nullmap[i]) {
119
1.11k
                if constexpr (NeedMin) {
120
1.11k
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
121
440
                        _min = column_string.get_data_at(i).to_string();
122
440
                        _min_value_set = true;
123
440
                    }
124
1.11k
                }
125
1.11k
                if constexpr (NeedMax) {
126
1.11k
                    if (column_string.get_data_at(i) > StringRef(_max)) {
127
475
                        _max = column_string.get_data_at(i).to_string();
128
475
                    }
129
1.11k
                }
130
1.11k
            }
131
1.28k
        }
132
328
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE20_update_batch_stringINS_9ColumnStrImEEEEvRKT_PKhmm
Line
Count
Source
116
83
                              size_t start, size_t size) {
117
813
        for (size_t i = start; i < size; i++) {
118
730
            if (nullmap == nullptr || !nullmap[i]) {
119
722
                if constexpr (NeedMin) {
120
722
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
121
179
                        _min = column_string.get_data_at(i).to_string();
122
179
                        _min_value_set = true;
123
179
                    }
124
722
                }
125
722
                if constexpr (NeedMax) {
126
722
                    if (column_string.get_data_at(i) > StringRef(_max)) {
127
166
                        _max = column_string.get_data_at(i).to_string();
128
166
                    }
129
722
                }
130
722
            }
131
730
        }
132
83
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE20_update_batch_stringINS_9ColumnStrIjEEEEvRKT_PKhmm
Line
Count
Source
116
245
                              size_t start, size_t size) {
117
801
        for (size_t i = start; i < size; i++) {
118
556
            if (nullmap == nullptr || !nullmap[i]) {
119
389
                if constexpr (NeedMin) {
120
389
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
121
261
                        _min = column_string.get_data_at(i).to_string();
122
261
                        _min_value_set = true;
123
261
                    }
124
389
                }
125
389
                if constexpr (NeedMax) {
126
389
                    if (column_string.get_data_at(i) > StringRef(_max)) {
127
309
                        _max = column_string.get_data_at(i).to_string();
128
309
                    }
129
389
                }
130
389
            }
131
556
        }
132
245
    }
133
134
2.42k
    void _update_batch(const ColumnPtr& column, size_t start) {
135
2.42k
        const auto size = column->size();
136
2.42k
        if constexpr (std::is_same_v<T, std::string>) {
137
106
            if (column->is_column_string64()) {
138
34
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
34
                                     size);
140
72
            } else {
141
72
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
72
                                     size);
143
72
            }
144
2.32k
        } else {
145
2.32k
            const T* data = (T*)column->get_raw_data().data;
146
2.03M
            for (size_t i = start; i < size; i++) {
147
2.03M
                if constexpr (NeedMin) {
148
2.03M
                    _min = std::min(_min, *(data + i));
149
2.03M
                }
150
2.03M
                if constexpr (NeedMax) {
151
2.03M
                    _max = std::max(_max, *(data + i));
152
2.03M
                }
153
2.03M
            }
154
2.32k
        }
155
2.42k
    }
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
53
    void _update_batch(const ColumnPtr& column, size_t start) {
135
53
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
53
        } else {
145
53
            const T* data = (T*)column->get_raw_data().data;
146
182
            for (size_t i = start; i < size; i++) {
147
129
                if constexpr (NeedMin) {
148
129
                    _min = std::min(_min, *(data + i));
149
129
                }
150
129
                if constexpr (NeedMax) {
151
129
                    _max = std::max(_max, *(data + i));
152
129
                }
153
129
            }
154
53
        }
155
53
    }
_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.67k
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1.67k
        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.67k
        } else {
145
1.67k
            const T* data = (T*)column->get_raw_data().data;
146
2.02M
            for (size_t i = start; i < size; i++) {
147
2.02M
                if constexpr (NeedMin) {
148
2.02M
                    _min = std::min(_min, *(data + i));
149
2.02M
                }
150
2.02M
                if constexpr (NeedMax) {
151
2.02M
                    _max = std::max(_max, *(data + i));
152
2.02M
                }
153
2.02M
            }
154
1.67k
        }
155
1.67k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
198
    void _update_batch(const ColumnPtr& column, size_t start) {
135
198
        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
198
        } else {
145
198
            const T* data = (T*)column->get_raw_data().data;
146
1.41k
            for (size_t i = start; i < size; i++) {
147
1.22k
                if constexpr (NeedMin) {
148
1.22k
                    _min = std::min(_min, *(data + i));
149
1.22k
                }
150
1.22k
                if constexpr (NeedMax) {
151
1.22k
                    _max = std::max(_max, *(data + i));
152
1.22k
                }
153
1.22k
            }
154
198
        }
155
198
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
106
    void _update_batch(const ColumnPtr& column, size_t start) {
135
106
        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
106
        } else {
145
106
            const T* data = (T*)column->get_raw_data().data;
146
276
            for (size_t i = start; i < size; i++) {
147
170
                if constexpr (NeedMin) {
148
170
                    _min = std::min(_min, *(data + i));
149
170
                }
150
170
                if constexpr (NeedMax) {
151
170
                    _max = std::max(_max, *(data + i));
152
170
                }
153
170
            }
154
106
        }
155
106
    }
_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
24
    void _update_batch(const ColumnPtr& column, size_t start) {
135
24
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
24
        } else {
145
24
            const T* data = (T*)column->get_raw_data().data;
146
50
            for (size_t i = start; i < size; i++) {
147
26
                if constexpr (NeedMin) {
148
26
                    _min = std::min(_min, *(data + i));
149
26
                }
150
26
                if constexpr (NeedMax) {
151
26
                    _max = std::max(_max, *(data + i));
152
26
                }
153
26
            }
154
24
        }
155
24
    }
_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
196
    void _update_batch(const ColumnPtr& column, size_t start) {
135
196
        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
196
        } else {
145
196
            const T* data = (T*)column->get_raw_data().data;
146
558
            for (size_t i = start; i < size; i++) {
147
362
                if constexpr (NeedMin) {
148
362
                    _min = std::min(_min, *(data + i));
149
362
                }
150
362
                if constexpr (NeedMax) {
151
362
                    _max = std::max(_max, *(data + i));
152
362
                }
153
362
            }
154
196
        }
155
196
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
134
47
    void _update_batch(const ColumnPtr& column, size_t start) {
135
47
        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
47
        } else {
145
47
            const T* data = (T*)column->get_raw_data().data;
146
210
            for (size_t i = start; i < size; i++) {
147
163
                if constexpr (NeedMin) {
148
163
                    _min = std::min(_min, *(data + i));
149
163
                }
150
163
                if constexpr (NeedMax) {
151
163
                    _max = std::max(_max, *(data + i));
152
163
                }
153
163
            }
154
47
        }
155
47
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
134
106
    void _update_batch(const ColumnPtr& column, size_t start) {
135
106
        const auto size = column->size();
136
106
        if constexpr (std::is_same_v<T, std::string>) {
137
106
            if (column->is_column_string64()) {
138
34
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
34
                                     size);
140
72
            } else {
141
72
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
72
                                     size);
143
72
            }
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
106
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
134
11
    void _update_batch(const ColumnPtr& column, size_t start) {
135
11
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
11
        } else {
145
11
            const T* data = (T*)column->get_raw_data().data;
146
29
            for (size_t i = start; i < size; i++) {
147
18
                if constexpr (NeedMin) {
148
18
                    _min = std::min(_min, *(data + i));
149
18
                }
150
18
                if constexpr (NeedMax) {
151
18
                    _max = std::max(_max, *(data + i));
152
18
                }
153
18
            }
154
11
        }
155
11
    }
_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.43k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
4.43k
        const auto size = column->size();
159
4.43k
        if constexpr (std::is_same_v<T, std::string>) {
160
222
            if (column->is_column_string64()) {
161
49
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
49
                                     start, size);
163
173
            } else {
164
173
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
173
                                     start, size);
166
173
            }
167
4.21k
        } else {
168
4.21k
            const T* data = (T*)column->get_raw_data().data;
169
733k
            for (size_t i = start; i < size; i++) {
170
729k
                if (!nullmap[i]) {
171
727k
                    if constexpr (NeedMin) {
172
727k
                        _min = std::min(_min, *(data + i));
173
727k
                    }
174
727k
                    if constexpr (NeedMax) {
175
727k
                        _max = std::max(_max, *(data + i));
176
727k
                    }
177
727k
                }
178
729k
            }
179
4.21k
        }
180
4.43k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
25
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
25
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
25
        } else {
168
25
            const T* data = (T*)column->get_raw_data().data;
169
74
            for (size_t i = start; i < size; i++) {
170
49
                if (!nullmap[i]) {
171
33
                    if constexpr (NeedMin) {
172
33
                        _min = std::min(_min, *(data + i));
173
33
                    }
174
33
                    if constexpr (NeedMax) {
175
33
                        _max = std::max(_max, *(data + i));
176
33
                    }
177
33
                }
178
49
            }
179
25
        }
180
25
    }
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
107
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
107
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
107
        } else {
168
107
            const T* data = (T*)column->get_raw_data().data;
169
347
            for (size_t i = start; i < size; i++) {
170
240
                if (!nullmap[i]) {
171
234
                    if constexpr (NeedMin) {
172
234
                        _min = std::min(_min, *(data + i));
173
234
                    }
174
234
                    if constexpr (NeedMax) {
175
234
                        _max = std::max(_max, *(data + i));
176
234
                    }
177
234
                }
178
240
            }
179
107
        }
180
107
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
112
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
112
        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
112
        } else {
168
112
            const T* data = (T*)column->get_raw_data().data;
169
778
            for (size_t i = start; i < size; i++) {
170
666
                if (!nullmap[i]) {
171
635
                    if constexpr (NeedMin) {
172
635
                        _min = std::min(_min, *(data + i));
173
635
                    }
174
635
                    if constexpr (NeedMax) {
175
635
                        _max = std::max(_max, *(data + i));
176
635
                    }
177
635
                }
178
666
            }
179
112
        }
180
112
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
2.30k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
2.30k
        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.30k
        } else {
168
2.30k
            const T* data = (T*)column->get_raw_data().data;
169
520k
            for (size_t i = start; i < size; i++) {
170
518k
                if (!nullmap[i]) {
171
517k
                    if constexpr (NeedMin) {
172
517k
                        _min = std::min(_min, *(data + i));
173
517k
                    }
174
517k
                    if constexpr (NeedMax) {
175
517k
                        _max = std::max(_max, *(data + i));
176
517k
                    }
177
517k
                }
178
518k
            }
179
2.30k
        }
180
2.30k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
1.12k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
1.12k
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
1.12k
        } else {
168
1.12k
            const T* data = (T*)column->get_raw_data().data;
169
206k
            for (size_t i = start; i < size; i++) {
170
205k
                if (!nullmap[i]) {
171
205k
                    if constexpr (NeedMin) {
172
205k
                        _min = std::min(_min, *(data + i));
173
205k
                    }
174
205k
                    if constexpr (NeedMax) {
175
205k
                        _max = std::max(_max, *(data + i));
176
205k
                    }
177
205k
                }
178
205k
            }
179
1.12k
        }
180
1.12k
    }
_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
42
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
42
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
42
        } else {
168
42
            const T* data = (T*)column->get_raw_data().data;
169
84
            for (size_t i = start; i < size; i++) {
170
42
                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
42
            }
179
42
        }
180
42
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
3
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
3
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
3
        } else {
168
3
            const T* data = (T*)column->get_raw_data().data;
169
27
            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
3
        }
180
3
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
66
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
66
        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
66
        } else {
168
66
            const T* data = (T*)column->get_raw_data().data;
169
176
            for (size_t i = start; i < size; i++) {
170
110
                if (!nullmap[i]) {
171
105
                    if constexpr (NeedMin) {
172
105
                        _min = std::min(_min, *(data + i));
173
105
                    }
174
105
                    if constexpr (NeedMax) {
175
105
                        _max = std::max(_max, *(data + i));
176
105
                    }
177
105
                }
178
110
            }
179
66
        }
180
66
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
107
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
107
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
107
        } else {
168
107
            const T* data = (T*)column->get_raw_data().data;
169
281
            for (size_t i = start; i < size; i++) {
170
174
                if (!nullmap[i]) {
171
162
                    if constexpr (NeedMin) {
172
162
                        _min = std::min(_min, *(data + i));
173
162
                    }
174
162
                    if constexpr (NeedMax) {
175
162
                        _max = std::max(_max, *(data + i));
176
162
                    }
177
162
                }
178
174
            }
179
107
        }
180
107
    }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
12
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
12
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
12
        } else {
168
12
            const T* data = (T*)column->get_raw_data().data;
169
48
            for (size_t i = start; i < size; i++) {
170
36
                if (!nullmap[i]) {
171
36
                    if constexpr (NeedMin) {
172
36
                        _min = std::min(_min, *(data + i));
173
36
                    }
174
36
                    if constexpr (NeedMax) {
175
36
                        _max = std::max(_max, *(data + i));
176
36
                    }
177
36
                }
178
36
            }
179
12
        }
180
12
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
222
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
222
        const auto size = column->size();
159
222
        if constexpr (std::is_same_v<T, std::string>) {
160
222
            if (column->is_column_string64()) {
161
49
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
49
                                     start, size);
163
173
            } else {
164
173
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
173
                                     start, size);
166
173
            }
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
222
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_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
79
            for (size_t i = start; i < size; i++) {
170
47
                if (!nullmap[i]) {
171
47
                    if constexpr (NeedMin) {
172
47
                        _min = std::min(_min, *(data + i));
173
47
                    }
174
47
                    if constexpr (NeedMax) {
175
47
                        _max = std::max(_max, *(data + i));
176
47
                    }
177
47
                }
178
47
            }
179
32
        }
180
32
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
72
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
72
        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
72
        } else {
168
72
            const T* data = (T*)column->get_raw_data().data;
169
168
            for (size_t i = start; i < size; i++) {
170
96
                if (!nullmap[i]) {
171
88
                    if constexpr (NeedMin) {
172
88
                        _min = std::min(_min, *(data + i));
173
88
                    }
174
88
                    if constexpr (NeedMax) {
175
88
                        _max = std::max(_max, *(data + i));
176
88
                    }
177
88
                }
178
96
            }
179
72
        }
180
72
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
117
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
117
        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
117
        } else {
168
117
            const T* data = (T*)column->get_raw_data().data;
169
468
            for (size_t i = start; i < size; i++) {
170
351
                if (!nullmap[i]) {
171
192
                    if constexpr (NeedMin) {
172
192
                        _min = std::min(_min, *(data + i));
173
192
                    }
174
192
                    if constexpr (NeedMax) {
175
192
                        _max = std::max(_max, *(data + i));
176
192
                    }
177
192
                }
178
351
            }
179
117
        }
180
117
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
28
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
28
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
28
        } else {
168
28
            const T* data = (T*)column->get_raw_data().data;
169
1.77k
            for (size_t i = start; i < size; i++) {
170
1.74k
                if (!nullmap[i]) {
171
1.74k
                    if constexpr (NeedMin) {
172
1.74k
                        _min = std::min(_min, *(data + i));
173
1.74k
                    }
174
1.74k
                    if constexpr (NeedMax) {
175
1.74k
                        _max = std::max(_max, *(data + i));
176
1.74k
                    }
177
1.74k
                }
178
1.74k
            }
179
28
        }
180
28
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
22
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
22
        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
22
        } else {
168
22
            const T* data = (T*)column->get_raw_data().data;
169
1.68k
            for (size_t i = start; i < size; i++) {
170
1.66k
                if (!nullmap[i]) {
171
1.51k
                    if constexpr (NeedMin) {
172
1.51k
                        _min = std::min(_min, *(data + i));
173
1.51k
                    }
174
1.51k
                    if constexpr (NeedMax) {
175
1.51k
                        _max = std::max(_max, *(data + i));
176
1.51k
                    }
177
1.51k
                }
178
1.66k
            }
179
22
        }
180
22
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
6
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
6
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
6
        } else {
168
6
            const T* data = (T*)column->get_raw_data().data;
169
72
            for (size_t i = start; i < size; i++) {
170
66
                if (!nullmap[i]) {
171
60
                    if constexpr (NeedMin) {
172
60
                        _min = std::min(_min, *(data + i));
173
60
                    }
174
60
                    if constexpr (NeedMax) {
175
60
                        _max = std::max(_max, *(data + i));
176
60
                    }
177
60
                }
178
66
            }
179
6
        }
180
6
    }
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