Coverage Report

Created: 2026-05-25 13:30

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
25.6k
    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
25.6k
    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
25.6k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIhLb1ELb1EEC2Eb
Line
Count
Source
49
224
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EEC2Eb
Line
Count
Source
49
22
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIaLb1ELb1EEC2Eb
Line
Count
Source
49
569
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIsLb1ELb1EEC2Eb
Line
Count
Source
49
340
    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
3.13k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncInLb1ELb1EEC2Eb
Line
Count
Source
49
121
    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
35
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EEC2Eb
Line
Count
Source
49
43
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
49
922
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
49
3.42k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EEC2Eb
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EEC2Eb
Line
Count
Source
49
1.15k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EEC2Eb
Line
Count
Source
49
46
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EEC2Eb
Line
Count
Source
49
767
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EEC2Eb
Line
Count
Source
49
205
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EEC2Eb
Line
Count
Source
49
34
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIjLb1ELb1EEC2Eb
Line
Count
Source
49
10
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIoLb1ELb1EEC2Eb
Line
Count
Source
49
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
50
1.15k
    ~MinMaxNumFunc() override = default;
51
52
7.60k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
7.60k
        if (column->is_nullable()) {
54
5.86k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
5.86k
            const auto& col = nullable->get_nested_column_ptr();
56
5.86k
            const auto& nullmap = nullable->get_null_map_data();
57
5.86k
            if (nullable->has_null()) {
58
5.08k
                _update_batch(col, nullmap, start);
59
5.08k
                _contain_null = true;
60
5.08k
            } else {
61
782
                _update_batch(col, start);
62
782
            }
63
5.86k
        } else {
64
1.73k
            _update_batch(column, start);
65
1.73k
        }
66
7.60k
    }
_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
11
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
11
        if (column->is_nullable()) {
54
10
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
10
            const auto& col = nullable->get_nested_column_ptr();
56
10
            const auto& nullmap = nullable->get_null_map_data();
57
10
            if (nullable->has_null()) {
58
10
                _update_batch(col, nullmap, start);
59
10
                _contain_null = true;
60
10
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
10
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
11
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
288
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
288
        if (column->is_nullable()) {
54
287
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
287
            const auto& col = nullable->get_nested_column_ptr();
56
287
            const auto& nullmap = nullable->get_null_map_data();
57
287
            if (nullable->has_null()) {
58
237
                _update_batch(col, nullmap, start);
59
237
                _contain_null = true;
60
237
            } else {
61
50
                _update_batch(col, start);
62
50
            }
63
287
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
288
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
82
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
82
        if (column->is_nullable()) {
54
81
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
81
            const auto& col = nullable->get_nested_column_ptr();
56
81
            const auto& nullmap = nullable->get_null_map_data();
57
81
            if (nullable->has_null()) {
58
81
                _update_batch(col, nullmap, start);
59
81
                _contain_null = true;
60
81
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
81
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
82
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
4.83k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
4.83k
        if (column->is_nullable()) {
54
3.48k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
3.48k
            const auto& col = nullable->get_nested_column_ptr();
56
3.48k
            const auto& nullmap = nullable->get_null_map_data();
57
3.48k
            if (nullable->has_null()) {
58
2.84k
                _update_batch(col, nullmap, start);
59
2.84k
                _contain_null = true;
60
2.84k
            } else {
61
640
                _update_batch(col, start);
62
640
            }
63
3.48k
        } else {
64
1.35k
            _update_batch(column, start);
65
1.35k
        }
66
4.83k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
1.08k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
1.08k
        if (column->is_nullable()) {
54
1.01k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
1.01k
            const auto& col = nullable->get_nested_column_ptr();
56
1.01k
            const auto& nullmap = nullable->get_null_map_data();
57
1.01k
            if (nullable->has_null()) {
58
960
                _update_batch(col, nullmap, start);
59
960
                _contain_null = true;
60
960
            } else {
61
51
                _update_batch(col, start);
62
51
            }
63
1.01k
        } else {
64
78
            _update_batch(column, start);
65
78
        }
66
1.08k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
35
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
35
        if (column->is_nullable()) {
54
10
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
10
            const auto& col = nullable->get_nested_column_ptr();
56
10
            const auto& nullmap = nullable->get_null_map_data();
57
10
            if (nullable->has_null()) {
58
10
                _update_batch(col, nullmap, start);
59
10
                _contain_null = true;
60
10
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
25
        } else {
64
25
            _update_batch(column, start);
65
25
        }
66
35
    }
_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
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
6
                _update_batch(col, nullmap, start);
59
6
                _contain_null = true;
60
16
            } else {
61
16
                _update_batch(col, start);
62
16
            }
63
22
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
23
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
8
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
8
        if (column->is_nullable()) {
54
6
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
6
            const auto& col = nullable->get_nested_column_ptr();
56
6
            const auto& nullmap = nullable->get_null_map_data();
57
6
            if (nullable->has_null()) {
58
6
                _update_batch(col, nullmap, start);
59
6
                _contain_null = true;
60
6
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
6
        } else {
64
2
            _update_batch(column, start);
65
2
        }
66
8
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
52
239
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
239
        if (column->is_nullable()) {
54
67
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
67
            const auto& col = nullable->get_nested_column_ptr();
56
67
            const auto& nullmap = nullable->get_null_map_data();
57
67
            if (nullable->has_null()) {
58
67
                _update_batch(col, nullmap, start);
59
67
                _contain_null = true;
60
67
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
172
        } else {
64
172
            _update_batch(column, start);
65
172
        }
66
239
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
52
412
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
412
        if (column->is_nullable()) {
54
388
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
388
            const auto& col = nullable->get_nested_column_ptr();
56
388
            const auto& nullmap = nullable->get_null_map_data();
57
388
            if (nullable->has_null()) {
58
388
                _update_batch(col, nullmap, start);
59
388
                _contain_null = true;
60
388
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
388
        } else {
64
24
            _update_batch(column, start);
65
24
        }
66
412
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
52
270
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
270
        if (column->is_nullable()) {
54
231
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
231
            const auto& col = nullable->get_nested_column_ptr();
56
231
            const auto& nullmap = nullable->get_null_map_data();
57
231
            if (nullable->has_null()) {
58
213
                _update_batch(col, nullmap, start);
59
213
                _contain_null = true;
60
213
            } else {
61
18
                _update_batch(col, start);
62
18
            }
63
231
        } else {
64
39
            _update_batch(column, start);
65
39
        }
66
270
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
52
17
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
17
        if (column->is_nullable()) {
54
16
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
16
            const auto& col = nullable->get_nested_column_ptr();
56
16
            const auto& nullmap = nullable->get_null_map_data();
57
16
            if (nullable->has_null()) {
58
16
                _update_batch(col, nullmap, start);
59
16
                _contain_null = true;
60
16
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
16
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
17
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
52
158
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
158
        if (column->is_nullable()) {
54
147
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
147
            const auto& col = nullable->get_nested_column_ptr();
56
147
            const auto& nullmap = nullable->get_null_map_data();
57
147
            if (nullable->has_null()) {
58
147
                _update_batch(col, nullmap, start);
59
147
                _contain_null = true;
60
147
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
147
        } else {
64
11
            _update_batch(column, start);
65
11
        }
66
158
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
57
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
57
        if (column->is_nullable()) {
54
39
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
39
            const auto& col = nullable->get_nested_column_ptr();
56
39
            const auto& nullmap = nullable->get_null_map_data();
57
39
            if (nullable->has_null()) {
58
32
                _update_batch(col, nullmap, start);
59
32
                _contain_null = true;
60
32
            } else {
61
7
                _update_batch(col, start);
62
7
            }
63
39
        } else {
64
18
            _update_batch(column, start);
65
18
        }
66
57
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EEm
Line
Count
Source
52
14
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
14
        if (column->is_nullable()) {
54
13
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
13
            const auto& col = nullable->get_nested_column_ptr();
56
13
            const auto& nullmap = nullable->get_null_map_data();
57
13
            if (nullable->has_null()) {
58
13
                _update_batch(col, nullmap, start);
59
13
                _contain_null = true;
60
13
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
13
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
14
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
2
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
2
        if (column->is_nullable()) {
54
1
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
1
            const auto& col = nullable->get_nested_column_ptr();
56
1
            const auto& nullmap = nullable->get_null_map_data();
57
1
            if (nullable->has_null()) {
58
1
                _update_batch(col, nullmap, start);
59
1
                _contain_null = true;
60
1
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
1
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
2
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
52
1
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
53
1
        if (column->is_nullable()) {
54
0
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
55
0
            const auto& col = nullable->get_nested_column_ptr();
56
0
            const auto& nullmap = nullable->get_null_map_data();
57
0
            if (nullable->has_null()) {
58
0
                _update_batch(col, nullmap, start);
59
0
                _contain_null = true;
60
0
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
1
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
1
    }
67
68
14.7k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
14.7k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
14.7k
        if constexpr (NeedMin) {
71
14.7k
            if constexpr (IsStringValue) {
72
608
                if (other_minmax->_min < _min || !_min_value_set) {
73
23
                    _min = other_minmax->_min;
74
23
                    _min_value_set = true;
75
23
                }
76
14.0k
            } else if (other_minmax->_min < _min) {
77
833
                _min = other_minmax->_min;
78
833
            }
79
14.7k
        }
80
14.7k
        if constexpr (NeedMax) {
81
14.7k
            if (other_minmax->_max > _max) {
82
851
                _max = other_minmax->_max;
83
851
            }
84
14.7k
        }
85
86
14.7k
        _contain_null |= minmax_func->contain_null();
87
14.7k
        return Status::OK();
88
14.7k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
172
    Status merge(MinMaxFuncBase* minmax_func) override {
69
172
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
172
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
172
            } else if (other_minmax->_min < _min) {
77
1
                _min = other_minmax->_min;
78
1
            }
79
172
        }
80
172
        if constexpr (NeedMax) {
81
172
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
172
        }
85
86
172
        _contain_null |= minmax_func->contain_null();
87
172
        return Status::OK();
88
172
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
51
    Status merge(MinMaxFuncBase* minmax_func) override {
69
51
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
51
        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
51
            } else if (other_minmax->_min < _min) {
77
5
                _min = other_minmax->_min;
78
5
            }
79
51
        }
80
51
        if constexpr (NeedMax) {
81
51
            if (other_minmax->_max > _max) {
82
2
                _max = other_minmax->_max;
83
2
            }
84
51
        }
85
86
51
        _contain_null |= minmax_func->contain_null();
87
51
        return Status::OK();
88
51
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
30
    Status merge(MinMaxFuncBase* minmax_func) override {
69
30
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
30
        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
30
            } else if (other_minmax->_min < _min) {
77
15
                _min = other_minmax->_min;
78
15
            }
79
30
        }
80
30
        if constexpr (NeedMax) {
81
30
            if (other_minmax->_max > _max) {
82
13
                _max = other_minmax->_max;
83
13
            }
84
30
        }
85
86
30
        _contain_null |= minmax_func->contain_null();
87
30
        return Status::OK();
88
30
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
8.58k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
8.58k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
8.58k
        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.58k
            } else if (other_minmax->_min < _min) {
77
522
                _min = other_minmax->_min;
78
522
            }
79
8.58k
        }
80
8.58k
        if constexpr (NeedMax) {
81
8.58k
            if (other_minmax->_max > _max) {
82
529
                _max = other_minmax->_max;
83
529
            }
84
8.58k
        }
85
86
8.58k
        _contain_null |= minmax_func->contain_null();
87
8.58k
        return Status::OK();
88
8.58k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
1.32k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
1.32k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
1.32k
        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
1.32k
            } else if (other_minmax->_min < _min) {
77
84
                _min = other_minmax->_min;
78
84
            }
79
1.32k
        }
80
1.32k
        if constexpr (NeedMax) {
81
1.32k
            if (other_minmax->_max > _max) {
82
87
                _max = other_minmax->_max;
83
87
            }
84
1.32k
        }
85
86
1.32k
        _contain_null |= minmax_func->contain_null();
87
1.32k
        return Status::OK();
88
1.32k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
89
    Status merge(MinMaxFuncBase* minmax_func) override {
69
89
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
89
        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
89
            } else if (other_minmax->_min < _min) {
77
1
                _min = other_minmax->_min;
78
1
            }
79
89
        }
80
89
        if constexpr (NeedMax) {
81
89
            if (other_minmax->_max > _max) {
82
1
                _max = other_minmax->_max;
83
1
            }
84
89
        }
85
86
89
        _contain_null |= minmax_func->contain_null();
87
89
        return Status::OK();
88
89
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
224
    Status merge(MinMaxFuncBase* minmax_func) override {
69
224
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
224
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
224
            } else if (other_minmax->_min < _min) {
77
0
                _min = other_minmax->_min;
78
0
            }
79
224
        }
80
224
        if constexpr (NeedMax) {
81
224
            if (other_minmax->_max > _max) {
82
0
                _max = other_minmax->_max;
83
0
            }
84
224
        }
85
86
224
        _contain_null |= minmax_func->contain_null();
87
224
        return Status::OK();
88
224
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIdLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
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
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
560
    Status merge(MinMaxFuncBase* minmax_func) override {
69
560
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
560
        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
560
            } else if (other_minmax->_min < _min) {
77
50
                _min = other_minmax->_min;
78
50
            }
79
560
        }
80
560
        if constexpr (NeedMax) {
81
560
            if (other_minmax->_max > _max) {
82
47
                _max = other_minmax->_max;
83
47
            }
84
560
        }
85
86
560
        _contain_null |= minmax_func->contain_null();
87
560
        return Status::OK();
88
560
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
2.72k
    Status merge(MinMaxFuncBase* minmax_func) override {
69
2.72k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
2.72k
        if constexpr (NeedMin) {
71
            if constexpr (IsStringValue) {
72
                if (other_minmax->_min < _min || !_min_value_set) {
73
                    _min = other_minmax->_min;
74
                    _min_value_set = true;
75
                }
76
2.72k
            } else if (other_minmax->_min < _min) {
77
145
                _min = other_minmax->_min;
78
145
            }
79
2.72k
        }
80
2.72k
        if constexpr (NeedMax) {
81
2.72k
            if (other_minmax->_max > _max) {
82
143
                _max = other_minmax->_max;
83
143
            }
84
2.72k
        }
85
86
2.72k
        _contain_null |= minmax_func->contain_null();
87
2.72k
        return Status::OK();
88
2.72k
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
608
    Status merge(MinMaxFuncBase* minmax_func) override {
69
608
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
608
        if constexpr (NeedMin) {
71
608
            if constexpr (IsStringValue) {
72
608
                if (other_minmax->_min < _min || !_min_value_set) {
73
23
                    _min = other_minmax->_min;
74
23
                    _min_value_set = true;
75
23
                }
76
            } else if (other_minmax->_min < _min) {
77
                _min = other_minmax->_min;
78
            }
79
608
        }
80
608
        if constexpr (NeedMax) {
81
608
            if (other_minmax->_max > _max) {
82
19
                _max = other_minmax->_max;
83
19
            }
84
608
        }
85
86
608
        _contain_null |= minmax_func->contain_null();
87
608
        return Status::OK();
88
608
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
282
    Status merge(MinMaxFuncBase* minmax_func) override {
69
282
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
282
        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
282
            } else if (other_minmax->_min < _min) {
77
5
                _min = other_minmax->_min;
78
5
            }
79
282
        }
80
282
        if constexpr (NeedMax) {
81
282
            if (other_minmax->_max > _max) {
82
5
                _max = other_minmax->_max;
83
5
            }
84
282
        }
85
86
282
        _contain_null |= minmax_func->contain_null();
87
282
        return Status::OK();
88
282
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
35
    Status merge(MinMaxFuncBase* minmax_func) override {
69
35
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
35
        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
35
            } else if (other_minmax->_min < _min) {
77
5
                _min = other_minmax->_min;
78
5
            }
79
35
        }
80
35
        if constexpr (NeedMax) {
81
35
            if (other_minmax->_max > _max) {
82
5
                _max = other_minmax->_max;
83
5
            }
84
35
        }
85
86
35
        _contain_null |= minmax_func->contain_null();
87
35
        return Status::OK();
88
35
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIoLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
89
90
4.66k
    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
12
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_maxEv
Line
Count
Source
90
242
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_maxEv
Line
Count
Source
90
135
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_maxEv
Line
Count
Source
90
2.36k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_maxEv
Line
Count
Source
90
866
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_maxEv
Line
Count
Source
90
17
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE7get_maxEv
Line
Count
Source
90
34
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7get_maxEv
Line
Count
Source
90
9
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_maxEv
Line
Count
Source
90
16
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
163
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
134
    void* get_max() override { return &_max; }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_maxEv
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
281
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_maxEv
Line
Count
Source
90
24
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_maxEv
Line
Count
Source
90
232
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_maxEv
Line
Count
Source
90
78
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
18
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_maxEv
Line
Count
Source
90
6
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_maxEv
Line
Count
Source
90
2
    void* get_max() override { return &_max; }
91
92
4.64k
    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
12
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_minEv
Line
Count
Source
92
230
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_minEv
Line
Count
Source
92
135
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_minEv
Line
Count
Source
92
2.35k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_minEv
Line
Count
Source
92
872
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_minEv
Line
Count
Source
92
17
    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
10
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_minEv
Line
Count
Source
92
16
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
92
163
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
92
133
    void* get_min() override { return &_min; }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_minEv
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_minEv
Line
Count
Source
92
282
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_minEv
Line
Count
Source
92
23
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_minEv
Line
Count
Source
92
232
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_minEv
Line
Count
Source
92
79
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_minEv
Line
Count
Source
92
18
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_minEv
Line
Count
Source
92
6
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_minEv
Line
Count
Source
92
2
    void* get_min() override { return &_min; }
93
94
1.27k
    Status assign(void* min_data, void* max_data) override {
95
1.27k
        if constexpr (IsStringValue) {
96
53
            _min_value_set = true;
97
53
        }
98
1.27k
        _min = *(T*)min_data;
99
1.27k
        _max = *(T*)max_data;
100
1.27k
        return Status::OK();
101
1.27k
    }
_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
31
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
31
        _min = *(T*)min_data;
99
31
        _max = *(T*)max_data;
100
31
        return Status::OK();
101
31
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
77
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
77
        _min = *(T*)min_data;
99
77
        _max = *(T*)max_data;
100
77
        return Status::OK();
101
77
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
725
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
725
        _min = *(T*)min_data;
99
725
        _max = *(T*)max_data;
100
725
        return Status::OK();
101
725
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
131
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
131
        _min = *(T*)min_data;
99
131
        _max = *(T*)max_data;
100
131
        return Status::OK();
101
131
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
5
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
5
        _min = *(T*)min_data;
99
5
        _max = *(T*)max_data;
100
5
        return Status::OK();
101
5
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE6assignEPvS3_
Line
Count
Source
94
2
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
2
        _min = *(T*)min_data;
99
2
        _max = *(T*)max_data;
100
2
        return Status::OK();
101
2
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
94
71
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
71
        _min = *(T*)min_data;
99
71
        _max = *(T*)max_data;
100
71
        return Status::OK();
101
71
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
94
125
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
125
        _min = *(T*)min_data;
99
125
        _max = *(T*)max_data;
100
125
        return Status::OK();
101
125
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE6assignEPvS3_
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE6assignEPvS8_
Line
Count
Source
94
53
    Status assign(void* min_data, void* max_data) override {
95
53
        if constexpr (IsStringValue) {
96
53
            _min_value_set = true;
97
53
        }
98
53
        _min = *(T*)min_data;
99
53
        _max = *(T*)max_data;
100
53
        return Status::OK();
101
53
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE6assignEPvS4_
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_7DecimalIlEELb1ELb1EE6assignEPvS4_
Line
Count
Source
94
11
    Status assign(void* min_data, void* max_data) override {
95
        if constexpr (IsStringValue) {
96
            _min_value_set = true;
97
        }
98
11
        _min = *(T*)min_data;
99
11
        _max = *(T*)max_data;
100
11
        return Status::OK();
101
11
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE6assignEPvS3_
Line
Count
Source
94
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.57k
    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
40
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
93
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
948
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
162
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncInLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
23
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
70
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
130
    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
50
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
22
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_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.57k
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
1.57k
        if constexpr (NeedMin) {
108
1.57k
            f(filter->mutable_min_val(), _min);
109
1.57k
        }
110
1.57k
        if constexpr (NeedMax) {
111
1.57k
            f(filter->mutable_max_val(), _max);
112
1.57k
        }
113
1.57k
    }
_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
40
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
40
        if constexpr (NeedMin) {
108
40
            f(filter->mutable_min_val(), _min);
109
40
        }
110
40
        if constexpr (NeedMax) {
111
40
            f(filter->mutable_max_val(), _max);
112
40
        }
113
40
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7_set_pbIZNS_13get_convertorIsEEDavEUlPNS_12PColumnValueERKsE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
93
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
93
        if constexpr (NeedMin) {
108
93
            f(filter->mutable_min_val(), _min);
109
93
        }
110
93
        if constexpr (NeedMax) {
111
93
            f(filter->mutable_max_val(), _max);
112
93
        }
113
93
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7_set_pbIZNS_13get_convertorIiEEDavEUlPNS_12PColumnValueERKiE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
948
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
948
        if constexpr (NeedMin) {
108
948
            f(filter->mutable_min_val(), _min);
109
948
        }
110
948
        if constexpr (NeedMax) {
111
948
            f(filter->mutable_max_val(), _max);
112
948
        }
113
948
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7_set_pbIZNS_13get_convertorIlEEDavEUlPNS_12PColumnValueERKlE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
162
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
162
        if constexpr (NeedMin) {
108
162
            f(filter->mutable_min_val(), _min);
109
162
        }
110
162
        if constexpr (NeedMax) {
111
162
            f(filter->mutable_max_val(), _max);
112
162
        }
113
162
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncInLb1ELb1EE7_set_pbIZNS_13get_convertorInEEDavEUlPNS_12PColumnValueERKnE_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE7_set_pbIZNS_13get_convertorIfEEDavEUlPNS_12PColumnValueERKfE_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7_set_pbIZNS_13get_convertorIdEEDavEUlPNS_12PColumnValueERKdE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
23
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
23
        if constexpr (NeedMin) {
108
23
            f(filter->mutable_min_val(), _min);
109
23
        }
110
23
        if constexpr (NeedMax) {
111
23
            f(filter->mutable_max_val(), _max);
112
23
        }
113
23
    }
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
70
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
70
        if constexpr (NeedMin) {
108
70
            f(filter->mutable_min_val(), _min);
109
70
        }
110
70
        if constexpr (NeedMax) {
111
70
            f(filter->mutable_max_val(), _max);
112
70
        }
113
70
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
130
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
130
        if constexpr (NeedMin) {
108
130
            f(filter->mutable_min_val(), _min);
109
130
        }
110
130
        if constexpr (NeedMax) {
111
130
            f(filter->mutable_max_val(), _max);
112
130
        }
113
130
    }
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
50
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
50
        if constexpr (NeedMin) {
108
50
            f(filter->mutable_min_val(), _min);
109
50
        }
110
50
        if constexpr (NeedMax) {
111
50
            f(filter->mutable_max_val(), _max);
112
50
        }
113
50
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7_set_pbIZNS_13get_convertorIS2_EEDavEUlPNS_12PColumnValueERKS2_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7_set_pbIZNS_13get_convertorIS2_EEDavEUlPNS_12PColumnValueERKS2_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
22
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
22
        if constexpr (NeedMin) {
108
22
            f(filter->mutable_min_val(), _min);
109
22
        }
110
22
        if constexpr (NeedMax) {
111
22
            f(filter->mutable_max_val(), _max);
112
22
        }
113
22
    }
_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
269
                              size_t start, size_t size) {
117
1.06k
        for (size_t i = start; i < size; i++) {
118
800
            if (nullmap == nullptr || !nullmap[i]) {
119
764
                if constexpr (NeedMin) {
120
764
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
121
343
                        _min = column_string.get_data_at(i).to_string();
122
343
                        _min_value_set = true;
123
343
                    }
124
764
                }
125
764
                if constexpr (NeedMax) {
126
764
                    if (column_string.get_data_at(i) > StringRef(_max)) {
127
342
                        _max = column_string.get_data_at(i).to_string();
128
342
                    }
129
764
                }
130
764
            }
131
800
        }
132
269
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE20_update_batch_stringINS_9ColumnStrImEEEEvRKT_PKhmm
Line
Count
Source
116
1
                              size_t start, size_t size) {
117
9
        for (size_t i = start; i < size; i++) {
118
8
            if (nullmap == nullptr || !nullmap[i]) {
119
8
                if constexpr (NeedMin) {
120
8
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
121
1
                        _min = column_string.get_data_at(i).to_string();
122
1
                        _min_value_set = true;
123
1
                    }
124
8
                }
125
8
                if constexpr (NeedMax) {
126
8
                    if (column_string.get_data_at(i) > StringRef(_max)) {
127
8
                        _max = column_string.get_data_at(i).to_string();
128
8
                    }
129
8
                }
130
8
            }
131
8
        }
132
1
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE20_update_batch_stringINS_9ColumnStrIjEEEEvRKT_PKhmm
Line
Count
Source
116
268
                              size_t start, size_t size) {
117
1.06k
        for (size_t i = start; i < size; i++) {
118
792
            if (nullmap == nullptr || !nullmap[i]) {
119
756
                if constexpr (NeedMin) {
120
756
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
121
342
                        _min = column_string.get_data_at(i).to_string();
122
342
                        _min_value_set = true;
123
342
                    }
124
756
                }
125
756
                if constexpr (NeedMax) {
126
756
                    if (column_string.get_data_at(i) > StringRef(_max)) {
127
334
                        _max = column_string.get_data_at(i).to_string();
128
334
                    }
129
756
                }
130
756
            }
131
792
        }
132
268
    }
133
134
2.51k
    void _update_batch(const ColumnPtr& column, size_t start) {
135
2.51k
        const auto size = column->size();
136
2.51k
        if constexpr (std::is_same_v<T, std::string>) {
137
57
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
1
                                     size);
140
56
            } else {
141
56
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
56
                                     size);
143
56
            }
144
2.46k
        } else {
145
2.46k
            const T* data = (T*)column->get_raw_data().data;
146
1.56M
            for (size_t i = start; i < size; i++) {
147
1.56M
                if constexpr (NeedMin) {
148
1.56M
                    _min = std::min(_min, *(data + i));
149
1.56M
                }
150
1.56M
                if constexpr (NeedMax) {
151
1.56M
                    _max = std::max(_max, *(data + i));
152
1.56M
                }
153
1.56M
            }
154
2.46k
        }
155
2.51k
    }
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
51
    void _update_batch(const ColumnPtr& column, size_t start) {
135
51
        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
51
        } else {
145
51
            const T* data = (T*)column->get_raw_data().data;
146
165
            for (size_t i = start; i < size; i++) {
147
114
                if constexpr (NeedMin) {
148
114
                    _min = std::min(_min, *(data + i));
149
114
                }
150
114
                if constexpr (NeedMax) {
151
114
                    _max = std::max(_max, *(data + i));
152
114
                }
153
114
            }
154
51
        }
155
51
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
2.00k
    void _update_batch(const ColumnPtr& column, size_t start) {
135
2.00k
        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.00k
        } else {
145
2.00k
            const T* data = (T*)column->get_raw_data().data;
146
1.56M
            for (size_t i = start; i < size; i++) {
147
1.56M
                if constexpr (NeedMin) {
148
1.56M
                    _min = std::min(_min, *(data + i));
149
1.56M
                }
150
1.56M
                if constexpr (NeedMax) {
151
1.56M
                    _max = std::max(_max, *(data + i));
152
1.56M
                }
153
1.56M
            }
154
2.00k
        }
155
2.00k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
128
    void _update_batch(const ColumnPtr& column, size_t start) {
135
128
        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
128
        } else {
145
128
            const T* data = (T*)column->get_raw_data().data;
146
833
            for (size_t i = start; i < size; i++) {
147
705
                if constexpr (NeedMin) {
148
705
                    _min = std::min(_min, *(data + i));
149
705
                }
150
705
                if constexpr (NeedMax) {
151
705
                    _max = std::max(_max, *(data + i));
152
705
                }
153
705
            }
154
128
        }
155
128
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
25
    void _update_batch(const ColumnPtr& column, size_t start) {
135
25
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
25
        } else {
145
25
            const T* data = (T*)column->get_raw_data().data;
146
56
            for (size_t i = start; i < size; i++) {
147
31
                if constexpr (NeedMin) {
148
31
                    _min = std::min(_min, *(data + i));
149
31
                }
150
31
                if constexpr (NeedMax) {
151
31
                    _max = std::max(_max, *(data + i));
152
31
                }
153
31
            }
154
25
        }
155
25
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
17
    void _update_batch(const ColumnPtr& column, size_t start) {
135
17
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
17
        } else {
145
17
            const T* data = (T*)column->get_raw_data().data;
146
36
            for (size_t i = start; i < size; i++) {
147
19
                if constexpr (NeedMin) {
148
19
                    _min = std::min(_min, *(data + i));
149
19
                }
150
19
                if constexpr (NeedMax) {
151
19
                    _max = std::max(_max, *(data + i));
152
19
                }
153
19
            }
154
17
        }
155
17
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
134
2
    void _update_batch(const ColumnPtr& column, size_t start) {
135
2
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
2
        } else {
145
2
            const T* data = (T*)column->get_raw_data().data;
146
8
            for (size_t i = start; i < size; i++) {
147
6
                if constexpr (NeedMin) {
148
6
                    _min = std::min(_min, *(data + i));
149
6
                }
150
6
                if constexpr (NeedMax) {
151
6
                    _max = std::max(_max, *(data + i));
152
6
                }
153
6
            }
154
2
        }
155
2
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
134
172
    void _update_batch(const ColumnPtr& column, size_t start) {
135
172
        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
172
        } else {
145
172
            const T* data = (T*)column->get_raw_data().data;
146
546
            for (size_t i = start; i < size; i++) {
147
374
                if constexpr (NeedMin) {
148
374
                    _min = std::min(_min, *(data + i));
149
374
                }
150
374
                if constexpr (NeedMax) {
151
374
                    _max = std::max(_max, *(data + i));
152
374
                }
153
374
            }
154
172
        }
155
172
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
134
23
    void _update_batch(const ColumnPtr& column, size_t start) {
135
23
        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
23
        } else {
145
23
            const T* data = (T*)column->get_raw_data().data;
146
97
            for (size_t i = start; i < size; i++) {
147
74
                if constexpr (NeedMin) {
148
74
                    _min = std::min(_min, *(data + i));
149
74
                }
150
74
                if constexpr (NeedMax) {
151
74
                    _max = std::max(_max, *(data + i));
152
74
                }
153
74
            }
154
23
        }
155
23
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
134
57
    void _update_batch(const ColumnPtr& column, size_t start) {
135
57
        const auto size = column->size();
136
57
        if constexpr (std::is_same_v<T, std::string>) {
137
57
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
1
                                     size);
140
56
            } else {
141
56
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
56
                                     size);
143
56
            }
144
        } else {
145
            const T* data = (T*)column->get_raw_data().data;
146
            for (size_t i = start; i < size; i++) {
147
                if constexpr (NeedMin) {
148
                    _min = std::min(_min, *(data + i));
149
                }
150
                if constexpr (NeedMax) {
151
                    _max = std::max(_max, *(data + i));
152
                }
153
            }
154
        }
155
57
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
134
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
73
            for (size_t i = start; i < size; i++) {
147
62
                if constexpr (NeedMin) {
148
62
                    _min = std::min(_min, *(data + i));
149
62
                }
150
62
                if constexpr (NeedMax) {
151
62
                    _max = std::max(_max, *(data + i));
152
62
                }
153
62
            }
154
11
        }
155
11
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
134
25
    void _update_batch(const ColumnPtr& column, size_t start) {
135
25
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
25
        } else {
145
25
            const T* data = (T*)column->get_raw_data().data;
146
60
            for (size_t i = start; i < size; i++) {
147
35
                if constexpr (NeedMin) {
148
35
                    _min = std::min(_min, *(data + i));
149
35
                }
150
35
                if constexpr (NeedMax) {
151
35
                    _max = std::max(_max, *(data + i));
152
35
                }
153
35
            }
154
25
        }
155
25
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
134
1
    void _update_batch(const ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
        if constexpr (std::is_same_v<T, std::string>) {
137
            if (column->is_column_string64()) {
138
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
139
                                     size);
140
            } else {
141
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
142
                                     size);
143
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
156
157
5.07k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
5.07k
        const auto size = column->size();
159
5.07k
        if constexpr (std::is_same_v<T, std::string>) {
160
213
            if (column->is_column_string64()) {
161
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
0
                                     start, size);
163
213
            } else {
164
213
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
213
                                     start, size);
166
213
            }
167
4.86k
        } else {
168
4.86k
            const T* data = (T*)column->get_raw_data().data;
169
4.74M
            for (size_t i = start; i < size; i++) {
170
4.74M
                if (!nullmap[i]) {
171
4.72M
                    if constexpr (NeedMin) {
172
4.72M
                        _min = std::min(_min, *(data + i));
173
4.72M
                    }
174
4.72M
                    if constexpr (NeedMax) {
175
4.72M
                        _max = std::max(_max, *(data + i));
176
4.72M
                    }
177
4.72M
                }
178
4.74M
            }
179
4.86k
        }
180
5.07k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
25
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
25
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
25
        } else {
168
25
            const T* data = (T*)column->get_raw_data().data;
169
74
            for (size_t i = start; i < size; i++) {
170
49
                if (!nullmap[i]) {
171
33
                    if constexpr (NeedMin) {
172
33
                        _min = std::min(_min, *(data + i));
173
33
                    }
174
33
                    if constexpr (NeedMax) {
175
33
                        _max = std::max(_max, *(data + i));
176
33
                    }
177
33
                }
178
49
            }
179
25
        }
180
25
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
10
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
10
        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
10
        } else {
168
10
            const T* data = (T*)column->get_raw_data().data;
169
40
            for (size_t i = start; i < size; i++) {
170
30
                if (!nullmap[i]) {
171
30
                    if constexpr (NeedMin) {
172
30
                        _min = std::min(_min, *(data + i));
173
30
                    }
174
30
                    if constexpr (NeedMax) {
175
30
                        _max = std::max(_max, *(data + i));
176
30
                    }
177
30
                }
178
30
            }
179
10
        }
180
10
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
237
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
237
        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
237
        } else {
168
237
            const T* data = (T*)column->get_raw_data().data;
169
683
            for (size_t i = start; i < size; i++) {
170
446
                if (!nullmap[i]) {
171
439
                    if constexpr (NeedMin) {
172
439
                        _min = std::min(_min, *(data + i));
173
439
                    }
174
439
                    if constexpr (NeedMax) {
175
439
                        _max = std::max(_max, *(data + i));
176
439
                    }
177
439
                }
178
446
            }
179
237
        }
180
237
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
81
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
81
        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
81
        } else {
168
81
            const T* data = (T*)column->get_raw_data().data;
169
450
            for (size_t i = start; i < size; i++) {
170
369
                if (!nullmap[i]) {
171
322
                    if constexpr (NeedMin) {
172
322
                        _min = std::min(_min, *(data + i));
173
322
                    }
174
322
                    if constexpr (NeedMax) {
175
322
                        _max = std::max(_max, *(data + i));
176
322
                    }
177
322
                }
178
369
            }
179
81
        }
180
81
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
2.83k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
2.83k
        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.83k
        } else {
168
2.83k
            const T* data = (T*)column->get_raw_data().data;
169
4.53M
            for (size_t i = start; i < size; i++) {
170
4.53M
                if (!nullmap[i]) {
171
4.51M
                    if constexpr (NeedMin) {
172
4.51M
                        _min = std::min(_min, *(data + i));
173
4.51M
                    }
174
4.51M
                    if constexpr (NeedMax) {
175
4.51M
                        _max = std::max(_max, *(data + i));
176
4.51M
                    }
177
4.51M
                }
178
4.53M
            }
179
2.83k
        }
180
2.83k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
959
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
959
        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
959
        } else {
168
959
            const T* data = (T*)column->get_raw_data().data;
169
205k
            for (size_t i = start; i < size; i++) {
170
204k
                if (!nullmap[i]) {
171
203k
                    if constexpr (NeedMin) {
172
203k
                        _min = std::min(_min, *(data + i));
173
203k
                    }
174
203k
                    if constexpr (NeedMax) {
175
203k
                        _max = std::max(_max, *(data + i));
176
203k
                    }
177
203k
                }
178
204k
            }
179
959
        }
180
959
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
10
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
10
        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
10
        } else {
168
10
            const T* data = (T*)column->get_raw_data().data;
169
21
            for (size_t i = start; i < size; i++) {
170
11
                if (!nullmap[i]) {
171
11
                    if constexpr (NeedMin) {
172
11
                        _min = std::min(_min, *(data + i));
173
11
                    }
174
11
                    if constexpr (NeedMax) {
175
11
                        _max = std::max(_max, *(data + i));
176
11
                    }
177
11
                }
178
11
            }
179
10
        }
180
10
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
32
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
32
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
32
        } else {
168
32
            const T* data = (T*)column->get_raw_data().data;
169
80
            for (size_t i = start; i < size; i++) {
170
48
                if (!nullmap[i]) {
171
40
                    if constexpr (NeedMin) {
172
40
                        _min = std::min(_min, *(data + i));
173
40
                    }
174
40
                    if constexpr (NeedMax) {
175
40
                        _max = std::max(_max, *(data + i));
176
40
                    }
177
40
                }
178
48
            }
179
32
        }
180
32
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
6
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
6
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
6
        } else {
168
6
            const T* data = (T*)column->get_raw_data().data;
169
15
            for (size_t i = start; i < size; i++) {
170
9
                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
9
            }
179
6
        }
180
6
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
6
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
6
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
6
        } else {
168
6
            const T* data = (T*)column->get_raw_data().data;
169
54
            for (size_t i = start; i < size; i++) {
170
48
                if (!nullmap[i]) {
171
48
                    if constexpr (NeedMin) {
172
48
                        _min = std::min(_min, *(data + i));
173
48
                    }
174
48
                    if constexpr (NeedMax) {
175
48
                        _max = std::max(_max, *(data + i));
176
48
                    }
177
48
                }
178
48
            }
179
6
        }
180
6
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
67
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
67
        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
67
        } else {
168
67
            const T* data = (T*)column->get_raw_data().data;
169
1.04k
            for (size_t i = start; i < size; i++) {
170
975
                if (!nullmap[i]) {
171
918
                    if constexpr (NeedMin) {
172
918
                        _min = std::min(_min, *(data + i));
173
918
                    }
174
918
                    if constexpr (NeedMax) {
175
918
                        _max = std::max(_max, *(data + i));
176
918
                    }
177
918
                }
178
975
            }
179
67
        }
180
67
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
388
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
388
        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
388
        } else {
168
388
            const T* data = (T*)column->get_raw_data().data;
169
892
            for (size_t i = start; i < size; i++) {
170
504
                if (!nullmap[i]) {
171
489
                    if constexpr (NeedMin) {
172
489
                        _min = std::min(_min, *(data + i));
173
489
                    }
174
489
                    if constexpr (NeedMax) {
175
489
                        _max = std::max(_max, *(data + i));
176
489
                    }
177
489
                }
178
504
            }
179
388
        }
180
388
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
213
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
213
        const auto size = column->size();
159
213
        if constexpr (std::is_same_v<T, std::string>) {
160
213
            if (column->is_column_string64()) {
161
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
0
                                     start, size);
163
213
            } else {
164
213
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
213
                                     start, size);
166
213
            }
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
213
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
16
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
16
        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
16
        } else {
168
16
            const T* data = (T*)column->get_raw_data().data;
169
56
            for (size_t i = start; i < size; i++) {
170
40
                if (!nullmap[i]) {
171
12
                    if constexpr (NeedMin) {
172
12
                        _min = std::min(_min, *(data + i));
173
12
                    }
174
12
                    if constexpr (NeedMax) {
175
12
                        _max = std::max(_max, *(data + i));
176
12
                    }
177
12
                }
178
40
            }
179
16
        }
180
16
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
147
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
147
        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
147
        } else {
168
147
            const T* data = (T*)column->get_raw_data().data;
169
320
            for (size_t i = start; i < size; i++) {
170
173
                if (!nullmap[i]) {
171
164
                    if constexpr (NeedMin) {
172
164
                        _min = std::min(_min, *(data + i));
173
164
                    }
174
164
                    if constexpr (NeedMax) {
175
164
                        _max = std::max(_max, *(data + i));
176
164
                    }
177
164
                }
178
173
            }
179
147
        }
180
147
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_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
148
            for (size_t i = start; i < size; i++) {
170
116
                if (!nullmap[i]) {
171
57
                    if constexpr (NeedMin) {
172
57
                        _min = std::min(_min, *(data + i));
173
57
                    }
174
57
                    if constexpr (NeedMax) {
175
57
                        _max = std::max(_max, *(data + i));
176
57
                    }
177
57
                }
178
116
            }
179
32
        }
180
32
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_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
182
            for (size_t i = start; i < size; i++) {
170
170
                if (!nullmap[i]) {
171
166
                    if constexpr (NeedMin) {
172
166
                        _min = std::min(_min, *(data + i));
173
166
                    }
174
166
                    if constexpr (NeedMax) {
175
166
                        _max = std::max(_max, *(data + i));
176
166
                    }
177
166
                }
178
170
            }
179
12
        }
180
12
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
157
1
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
158
1
        const auto size = column->size();
159
        if constexpr (std::is_same_v<T, std::string>) {
160
            if (column->is_column_string64()) {
161
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
162
                                     start, size);
163
            } else {
164
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
165
                                     start, size);
166
            }
167
1
        } else {
168
1
            const T* data = (T*)column->get_raw_data().data;
169
101
            for (size_t i = start; i < size; i++) {
170
100
                if (!nullmap[i]) {
171
91
                    if constexpr (NeedMin) {
172
91
                        _min = std::min(_min, *(data + i));
173
91
                    }
174
91
                    if constexpr (NeedMax) {
175
91
                        _max = std::max(_max, *(data + i));
176
91
                    }
177
91
                }
178
100
            }
179
1
        }
180
1
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
181
182
    T _max = type_limit<T>::min();
183
    T _min = type_limit<T>::max();
184
185
    bool _min_value_set = false;
186
};
187
188
template <class T>
189
using MinNumFunc = MinMaxNumFunc<T, false, true>;
190
191
template <class T>
192
using MaxNumFunc = MinMaxNumFunc<T, true, false>;
193
194
} // namespace doris