Coverage Report

Created: 2026-11-03 09:54

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
24.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
    // Deep copy. The returned object shares nothing with this one.
41
    virtual MinMaxFuncBase* clone() const = 0;
42
25.0k
    virtual ~MinMaxFuncBase() = default;
43
44
    virtual void to_pb(PMinMaxFilter* filter) = 0;
45
};
46
47
template <class T, bool NeedMax = true, bool NeedMin = true>
48
class MinMaxNumFunc : public MinMaxFuncBase {
49
public:
50
    static constexpr bool IsStringValue = std::is_same_v<T, std::string>;
51
24.7k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIhLb1ELb1EEC2Eb
Line
Count
Source
51
14
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EEC2Eb
Line
Count
Source
51
18
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIaLb1ELb1EEC2Eb
Line
Count
Source
51
993
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIsLb1ELb1EEC2Eb
Line
Count
Source
51
786
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIiLb1ELb1EEC2Eb
Line
Count
Source
51
14.9k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIlLb1ELb1EEC2Eb
Line
Count
Source
51
3.67k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncInLb1ELb1EEC2Eb
Line
Count
Source
51
262
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIfLb1ELb1EEC2Eb
Line
Count
Source
51
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIdLb1ELb1EEC2Eb
Line
Count
Source
51
60
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EEC2Eb
Line
Count
Source
51
53
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
51
553
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
51
2.46k
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EEC2Eb
Line
Count
Source
51
58
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EEC2Eb
Line
Count
Source
51
9
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EEC2Eb
Line
Count
Source
51
495
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EEC2Eb
Line
Count
Source
51
52
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EEC2Eb
Line
Count
Source
51
57
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EEC2Eb
Line
Count
Source
51
240
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EEC2Eb
Line
Count
Source
51
29
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIjLb1ELb1EEC2Eb
Line
Count
Source
51
16
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIoLb1ELb1EEC2Eb
Line
Count
Source
51
23
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
52
499
    ~MinMaxNumFunc() override = default;
53
54
7.37k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
7.37k
        if (is_column_nullable(*column)) {
56
5.32k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
5.32k
            const auto& col = nullable->get_nested_column_ptr();
58
5.32k
            const auto& nullmap = nullable->get_null_map_data();
59
5.32k
            if (nullable->has_null()) {
60
4.10k
                _update_batch(col, nullmap, start);
61
4.10k
                _contain_null = true;
62
4.10k
            } else {
63
1.21k
                _update_batch(col, start);
64
1.21k
            }
65
5.32k
        } else {
66
2.05k
            _update_batch(column, start);
67
2.05k
        }
68
7.37k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
3
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
3
        if (is_column_nullable(*column)) {
56
3
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
3
            const auto& col = nullable->get_nested_column_ptr();
58
3
            const auto& nullmap = nullable->get_null_map_data();
59
3
            if (nullable->has_null()) {
60
3
                _update_batch(col, nullmap, start);
61
3
                _contain_null = true;
62
3
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
3
        } else {
66
0
            _update_batch(column, start);
67
0
        }
68
3
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
3
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
3
        if (is_column_nullable(*column)) {
56
2
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
2
            const auto& col = nullable->get_nested_column_ptr();
58
2
            const auto& nullmap = nullable->get_null_map_data();
59
2
            if (nullable->has_null()) {
60
2
                _update_batch(col, nullmap, start);
61
2
                _contain_null = true;
62
2
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
2
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
3
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
662
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
662
        if (is_column_nullable(*column)) {
56
656
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
656
            const auto& col = nullable->get_nested_column_ptr();
58
656
            const auto& nullmap = nullable->get_null_map_data();
59
656
            if (nullable->has_null()) {
60
408
                _update_batch(col, nullmap, start);
61
408
                _contain_null = true;
62
408
            } else {
63
248
                _update_batch(col, start);
64
248
            }
65
656
        } else {
66
6
            _update_batch(column, start);
67
6
        }
68
662
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
383
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
383
        if (is_column_nullable(*column)) {
56
382
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
382
            const auto& col = nullable->get_nested_column_ptr();
58
382
            const auto& nullmap = nullable->get_null_map_data();
59
382
            if (nullable->has_null()) {
60
381
                _update_batch(col, nullmap, start);
61
381
                _contain_null = true;
62
381
            } else {
63
1
                _update_batch(col, start);
64
1
            }
65
382
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
383
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
4.24k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
4.24k
        if (is_column_nullable(*column)) {
56
2.69k
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
2.69k
            const auto& col = nullable->get_nested_column_ptr();
58
2.69k
            const auto& nullmap = nullable->get_null_map_data();
59
2.69k
            if (nullable->has_null()) {
60
1.79k
                _update_batch(col, nullmap, start);
61
1.79k
                _contain_null = true;
62
1.79k
            } else {
63
903
                _update_batch(col, start);
64
903
            }
65
2.69k
        } else {
66
1.54k
            _update_batch(column, start);
67
1.54k
        }
68
4.24k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
1.02k
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
1.02k
        if (is_column_nullable(*column)) {
56
921
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
921
            const auto& col = nullable->get_nested_column_ptr();
58
921
            const auto& nullmap = nullable->get_null_map_data();
59
921
            if (nullable->has_null()) {
60
895
                _update_batch(col, nullmap, start);
61
895
                _contain_null = true;
62
895
            } else {
63
26
                _update_batch(col, start);
64
26
            }
65
921
        } else {
66
103
            _update_batch(column, start);
67
103
        }
68
1.02k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
101
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
101
        if (is_column_nullable(*column)) {
56
26
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
26
            const auto& col = nullable->get_nested_column_ptr();
58
26
            const auto& nullmap = nullable->get_null_map_data();
59
26
            if (nullable->has_null()) {
60
26
                _update_batch(col, nullmap, start);
61
26
                _contain_null = true;
62
26
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
75
        } else {
66
75
            _update_batch(column, start);
67
75
        }
68
101
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
1
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
1
        if (is_column_nullable(*column)) {
56
0
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
0
            const auto& col = nullable->get_nested_column_ptr();
58
0
            const auto& nullmap = nullable->get_null_map_data();
59
0
            if (nullable->has_null()) {
60
0
                _update_batch(col, nullmap, start);
61
0
                _contain_null = true;
62
0
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
1
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
1
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
43
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
43
        if (is_column_nullable(*column)) {
56
42
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
42
            const auto& col = nullable->get_nested_column_ptr();
58
42
            const auto& nullmap = nullable->get_null_map_data();
59
42
            if (nullable->has_null()) {
60
37
                _update_batch(col, nullmap, start);
61
37
                _contain_null = true;
62
37
            } else {
63
5
                _update_batch(col, start);
64
5
            }
65
42
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
43
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
37
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
37
        if (is_column_nullable(*column)) {
56
35
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
35
            const auto& col = nullable->get_nested_column_ptr();
58
35
            const auto& nullmap = nullable->get_null_map_data();
59
35
            if (nullable->has_null()) {
60
35
                _update_batch(col, nullmap, start);
61
35
                _contain_null = true;
62
35
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
35
        } else {
66
2
            _update_batch(column, start);
67
2
        }
68
37
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
54
218
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
218
        if (is_column_nullable(*column)) {
56
35
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
35
            const auto& col = nullable->get_nested_column_ptr();
58
35
            const auto& nullmap = nullable->get_null_map_data();
59
35
            if (nullable->has_null()) {
60
35
                _update_batch(col, nullmap, start);
61
35
                _contain_null = true;
62
35
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
183
        } else {
66
183
            _update_batch(column, start);
67
183
        }
68
218
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
54
316
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
316
        if (is_column_nullable(*column)) {
56
304
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
304
            const auto& col = nullable->get_nested_column_ptr();
58
304
            const auto& nullmap = nullable->get_null_map_data();
59
304
            if (nullable->has_null()) {
60
302
                _update_batch(col, nullmap, start);
61
302
                _contain_null = true;
62
302
            } else {
63
2
                _update_batch(col, start);
64
2
            }
65
304
        } else {
66
12
            _update_batch(column, start);
67
12
        }
68
316
    }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
28
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
28
        if (is_column_nullable(*column)) {
56
28
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
28
            const auto& col = nullable->get_nested_column_ptr();
58
28
            const auto& nullmap = nullable->get_null_map_data();
59
28
            if (nullable->has_null()) {
60
28
                _update_batch(col, nullmap, start);
61
28
                _contain_null = true;
62
28
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
28
        } else {
66
0
            _update_batch(column, start);
67
0
        }
68
28
    }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
6
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
6
        if (is_column_nullable(*column)) {
56
6
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
6
            const auto& col = nullable->get_nested_column_ptr();
58
6
            const auto& nullmap = nullable->get_null_map_data();
59
6
            if (nullable->has_null()) {
60
6
                _update_batch(col, nullmap, start);
61
6
                _contain_null = true;
62
6
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
6
        } else {
66
0
            _update_batch(column, start);
67
0
        }
68
6
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
54
159
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
159
        if (is_column_nullable(*column)) {
56
75
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
75
            const auto& col = nullable->get_nested_column_ptr();
58
75
            const auto& nullmap = nullable->get_null_map_data();
59
75
            if (nullable->has_null()) {
60
71
                _update_batch(col, nullmap, start);
61
71
                _contain_null = true;
62
71
            } else {
63
4
                _update_batch(col, start);
64
4
            }
65
84
        } else {
66
84
            _update_batch(column, start);
67
84
        }
68
159
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
54
38
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
38
        if (is_column_nullable(*column)) {
56
37
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
37
            const auto& col = nullable->get_nested_column_ptr();
58
37
            const auto& nullmap = nullable->get_null_map_data();
59
37
            if (nullable->has_null()) {
60
37
                _update_batch(col, nullmap, start);
61
37
                _contain_null = true;
62
37
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
37
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
38
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
54
12
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
12
        if (is_column_nullable(*column)) {
56
1
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
1
            const auto& col = nullable->get_nested_column_ptr();
58
1
            const auto& nullmap = nullable->get_null_map_data();
59
1
            if (nullable->has_null()) {
60
1
                _update_batch(col, nullmap, start);
61
1
                _contain_null = true;
62
1
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
11
        } else {
66
11
            _update_batch(column, start);
67
11
        }
68
12
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
54
72
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
72
        if (is_column_nullable(*column)) {
56
53
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
53
            const auto& col = nullable->get_nested_column_ptr();
58
53
            const auto& nullmap = nullable->get_null_map_data();
59
53
            if (nullable->has_null()) {
60
27
                _update_batch(col, nullmap, start);
61
27
                _contain_null = true;
62
27
            } else {
63
26
                _update_batch(col, start);
64
26
            }
65
53
        } else {
66
19
            _update_batch(column, start);
67
19
        }
68
72
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EEm
Line
Count
Source
54
13
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
13
        if (is_column_nullable(*column)) {
56
12
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
12
            const auto& col = nullable->get_nested_column_ptr();
58
12
            const auto& nullmap = nullable->get_null_map_data();
59
12
            if (nullable->has_null()) {
60
12
                _update_batch(col, nullmap, start);
61
12
                _contain_null = true;
62
12
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
12
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
13
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
3
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
3
        if (is_column_nullable(*column)) {
56
2
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
2
            const auto& col = nullable->get_nested_column_ptr();
58
2
            const auto& nullmap = nullable->get_null_map_data();
59
2
            if (nullable->has_null()) {
60
2
                _update_batch(col, nullmap, start);
61
2
                _contain_null = true;
62
2
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
2
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
3
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
54
6
    void insert_fixed_len(const ColumnPtr& column, size_t start) override {
55
6
        if (is_column_nullable(*column)) {
56
5
            const auto* nullable = assert_cast<const ColumnNullable*>(column.get());
57
5
            const auto& col = nullable->get_nested_column_ptr();
58
5
            const auto& nullmap = nullable->get_null_map_data();
59
5
            if (nullable->has_null()) {
60
5
                _update_batch(col, nullmap, start);
61
5
                _contain_null = true;
62
5
            } else {
63
0
                _update_batch(col, start);
64
0
            }
65
5
        } else {
66
1
            _update_batch(column, start);
67
1
        }
68
6
    }
69
70
12.7k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
12.7k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
12.7k
        if constexpr (NeedMin) {
73
12.7k
            if constexpr (IsStringValue) {
74
185
                if (other_minmax->_min < _min || !_min_value_set) {
75
30
                    _min = other_minmax->_min;
76
30
                    _min_value_set = true;
77
30
                }
78
12.5k
            } else if (other_minmax->_min < _min) {
79
974
                _min = other_minmax->_min;
80
974
            }
81
12.7k
        }
82
12.7k
        if constexpr (NeedMax) {
83
12.7k
            if (other_minmax->_max > _max) {
84
963
                _max = other_minmax->_max;
85
963
            }
86
12.7k
        }
87
88
12.7k
        _contain_null |= minmax_func->contain_null();
89
12.7k
        return Status::OK();
90
12.7k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
7
    Status merge(MinMaxFuncBase* minmax_func) override {
71
7
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
7
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
7
            } else if (other_minmax->_min < _min) {
79
2
                _min = other_minmax->_min;
80
2
            }
81
7
        }
82
7
        if constexpr (NeedMax) {
83
7
            if (other_minmax->_max > _max) {
84
1
                _max = other_minmax->_max;
85
1
            }
86
7
        }
87
88
7
        _contain_null |= minmax_func->contain_null();
89
7
        return Status::OK();
90
7
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
10
    Status merge(MinMaxFuncBase* minmax_func) override {
71
10
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
10
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
10
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
10
        }
82
10
        if constexpr (NeedMax) {
83
10
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
10
        }
87
88
10
        _contain_null |= minmax_func->contain_null();
89
10
        return Status::OK();
90
10
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
371
    Status merge(MinMaxFuncBase* minmax_func) override {
71
371
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
371
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
371
            } else if (other_minmax->_min < _min) {
79
22
                _min = other_minmax->_min;
80
22
            }
81
371
        }
82
371
        if constexpr (NeedMax) {
83
371
            if (other_minmax->_max > _max) {
84
18
                _max = other_minmax->_max;
85
18
            }
86
371
        }
87
88
371
        _contain_null |= minmax_func->contain_null();
89
371
        return Status::OK();
90
371
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
338
    Status merge(MinMaxFuncBase* minmax_func) override {
71
338
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
338
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
338
            } else if (other_minmax->_min < _min) {
79
24
                _min = other_minmax->_min;
80
24
            }
81
338
        }
82
338
        if constexpr (NeedMax) {
83
338
            if (other_minmax->_max > _max) {
84
22
                _max = other_minmax->_max;
85
22
            }
86
338
        }
87
88
338
        _contain_null |= minmax_func->contain_null();
89
338
        return Status::OK();
90
338
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
7.99k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
7.99k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
7.99k
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
7.99k
            } else if (other_minmax->_min < _min) {
79
647
                _min = other_minmax->_min;
80
647
            }
81
7.99k
        }
82
7.99k
        if constexpr (NeedMax) {
83
7.99k
            if (other_minmax->_max > _max) {
84
602
                _max = other_minmax->_max;
85
602
            }
86
7.99k
        }
87
88
7.99k
        _contain_null |= minmax_func->contain_null();
89
7.99k
        return Status::OK();
90
7.99k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
1.08k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
1.08k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
1.08k
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
1.08k
            } else if (other_minmax->_min < _min) {
79
87
                _min = other_minmax->_min;
80
87
            }
81
1.08k
        }
82
1.08k
        if constexpr (NeedMax) {
83
1.08k
            if (other_minmax->_max > _max) {
84
90
                _max = other_minmax->_max;
85
90
            }
86
1.08k
        }
87
88
1.08k
        _contain_null |= minmax_func->contain_null();
89
1.08k
        return Status::OK();
90
1.08k
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
177
    Status merge(MinMaxFuncBase* minmax_func) override {
71
177
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
177
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
177
            } else if (other_minmax->_min < _min) {
79
6
                _min = other_minmax->_min;
80
6
            }
81
177
        }
82
177
        if constexpr (NeedMax) {
83
177
            if (other_minmax->_max > _max) {
84
10
                _max = other_minmax->_max;
85
10
            }
86
177
        }
87
88
177
        _contain_null |= minmax_func->contain_null();
89
177
        return Status::OK();
90
177
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
34
    Status merge(MinMaxFuncBase* minmax_func) override {
71
34
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
34
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
34
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
34
        }
82
34
        if constexpr (NeedMax) {
83
34
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
34
        }
87
88
34
        _contain_null |= minmax_func->contain_null();
89
34
        return Status::OK();
90
34
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
27
    Status merge(MinMaxFuncBase* minmax_func) override {
71
27
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
27
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
27
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
27
        }
82
27
        if constexpr (NeedMax) {
83
27
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
27
        }
87
88
27
        _contain_null |= minmax_func->contain_null();
89
27
        return Status::OK();
90
27
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
258
    Status merge(MinMaxFuncBase* minmax_func) override {
71
258
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
258
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
258
            } else if (other_minmax->_min < _min) {
79
51
                _min = other_minmax->_min;
80
51
            }
81
258
        }
82
258
        if constexpr (NeedMax) {
83
258
            if (other_minmax->_max > _max) {
84
46
                _max = other_minmax->_max;
85
46
            }
86
258
        }
87
88
258
        _contain_null |= minmax_func->contain_null();
89
258
        return Status::OK();
90
258
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
2.08k
    Status merge(MinMaxFuncBase* minmax_func) override {
71
2.08k
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
2.08k
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
2.08k
            } else if (other_minmax->_min < _min) {
79
116
                _min = other_minmax->_min;
80
116
            }
81
2.08k
        }
82
2.08k
        if constexpr (NeedMax) {
83
2.08k
            if (other_minmax->_max > _max) {
84
122
                _max = other_minmax->_max;
85
122
            }
86
2.08k
        }
87
88
2.08k
        _contain_null |= minmax_func->contain_null();
89
2.08k
        return Status::OK();
90
2.08k
    }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
21
    Status merge(MinMaxFuncBase* minmax_func) override {
71
21
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
21
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
21
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
21
        }
82
21
        if constexpr (NeedMax) {
83
21
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
21
        }
87
88
21
        _contain_null |= minmax_func->contain_null();
89
21
        return Status::OK();
90
21
    }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
4
    Status merge(MinMaxFuncBase* minmax_func) override {
71
4
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
4
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
4
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
4
        }
82
4
        if constexpr (NeedMax) {
83
4
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
4
        }
87
88
4
        _contain_null |= minmax_func->contain_null();
89
4
        return Status::OK();
90
4
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
185
    Status merge(MinMaxFuncBase* minmax_func) override {
71
185
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
185
        if constexpr (NeedMin) {
73
185
            if constexpr (IsStringValue) {
74
185
                if (other_minmax->_min < _min || !_min_value_set) {
75
30
                    _min = other_minmax->_min;
76
30
                    _min_value_set = true;
77
30
                }
78
            } else if (other_minmax->_min < _min) {
79
                _min = other_minmax->_min;
80
            }
81
185
        }
82
185
        if constexpr (NeedMax) {
83
185
            if (other_minmax->_max > _max) {
84
31
                _max = other_minmax->_max;
85
31
            }
86
185
        }
87
88
185
        _contain_null |= minmax_func->contain_null();
89
185
        return Status::OK();
90
185
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
31
    Status merge(MinMaxFuncBase* minmax_func) override {
71
31
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
31
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
31
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
31
        }
82
31
        if constexpr (NeedMax) {
83
31
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
31
        }
87
88
31
        _contain_null |= minmax_func->contain_null();
89
31
        return Status::OK();
90
31
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
9
    Status merge(MinMaxFuncBase* minmax_func) override {
71
9
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
9
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
9
            } else if (other_minmax->_min < _min) {
79
3
                _min = other_minmax->_min;
80
3
            }
81
9
        }
82
9
        if constexpr (NeedMax) {
83
9
            if (other_minmax->_max > _max) {
84
4
                _max = other_minmax->_max;
85
4
            }
86
9
        }
87
88
9
        _contain_null |= minmax_func->contain_null();
89
9
        return Status::OK();
90
9
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
85
    Status merge(MinMaxFuncBase* minmax_func) override {
71
85
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
85
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
85
            } else if (other_minmax->_min < _min) {
79
15
                _min = other_minmax->_min;
80
15
            }
81
85
        }
82
85
        if constexpr (NeedMax) {
83
85
            if (other_minmax->_max > _max) {
84
17
                _max = other_minmax->_max;
85
17
            }
86
85
        }
87
88
85
        _contain_null |= minmax_func->contain_null();
89
85
        return Status::OK();
90
85
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
9
    Status merge(MinMaxFuncBase* minmax_func) override {
71
9
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
9
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
9
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
9
        }
82
9
        if constexpr (NeedMax) {
83
9
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
9
        }
87
88
9
        _contain_null |= minmax_func->contain_null();
89
9
        return Status::OK();
90
9
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
8
    Status merge(MinMaxFuncBase* minmax_func) override {
71
8
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
8
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
8
            } else if (other_minmax->_min < _min) {
79
0
                _min = other_minmax->_min;
80
0
            }
81
8
        }
82
8
        if constexpr (NeedMax) {
83
8
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
8
        }
87
88
8
        _contain_null |= minmax_func->contain_null();
89
8
        return Status::OK();
90
8
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
70
9
    Status merge(MinMaxFuncBase* minmax_func) override {
71
9
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
72
9
        if constexpr (NeedMin) {
73
            if constexpr (IsStringValue) {
74
                if (other_minmax->_min < _min || !_min_value_set) {
75
                    _min = other_minmax->_min;
76
                    _min_value_set = true;
77
                }
78
9
            } else if (other_minmax->_min < _min) {
79
1
                _min = other_minmax->_min;
80
1
            }
81
9
        }
82
9
        if constexpr (NeedMax) {
83
9
            if (other_minmax->_max > _max) {
84
0
                _max = other_minmax->_max;
85
0
            }
86
9
        }
87
88
9
        _contain_null |= minmax_func->contain_null();
89
9
        return Status::OK();
90
9
    }
91
92
774
    MinMaxFuncBase* clone() const override {
93
774
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
774
        cloned->_max = _max;
95
774
        cloned->_min = _min;
96
774
        cloned->_min_value_set = _min_value_set;
97
774
        cloned->_contain_null = _contain_null;
98
774
        return cloned;
99
774
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncIhLb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5cloneEv
Line
Count
Source
92
2
    MinMaxFuncBase* clone() const override {
93
2
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
2
        cloned->_max = _max;
95
2
        cloned->_min = _min;
96
2
        cloned->_min_value_set = _min_value_set;
97
2
        cloned->_contain_null = _contain_null;
98
2
        return cloned;
99
2
    }
_ZNK5doris13MinMaxNumFuncIaLb1ELb1EE5cloneEv
Line
Count
Source
92
69
    MinMaxFuncBase* clone() const override {
93
69
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
69
        cloned->_max = _max;
95
69
        cloned->_min = _min;
96
69
        cloned->_min_value_set = _min_value_set;
97
69
        cloned->_contain_null = _contain_null;
98
69
        return cloned;
99
69
    }
_ZNK5doris13MinMaxNumFuncIsLb1ELb1EE5cloneEv
Line
Count
Source
92
52
    MinMaxFuncBase* clone() const override {
93
52
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
52
        cloned->_max = _max;
95
52
        cloned->_min = _min;
96
52
        cloned->_min_value_set = _min_value_set;
97
52
        cloned->_contain_null = _contain_null;
98
52
        return cloned;
99
52
    }
_ZNK5doris13MinMaxNumFuncIiLb1ELb1EE5cloneEv
Line
Count
Source
92
425
    MinMaxFuncBase* clone() const override {
93
425
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
425
        cloned->_max = _max;
95
425
        cloned->_min = _min;
96
425
        cloned->_min_value_set = _min_value_set;
97
425
        cloned->_contain_null = _contain_null;
98
425
        return cloned;
99
425
    }
_ZNK5doris13MinMaxNumFuncIlLb1ELb1EE5cloneEv
Line
Count
Source
92
123
    MinMaxFuncBase* clone() const override {
93
123
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
123
        cloned->_max = _max;
95
123
        cloned->_min = _min;
96
123
        cloned->_min_value_set = _min_value_set;
97
123
        cloned->_contain_null = _contain_null;
98
123
        return cloned;
99
123
    }
_ZNK5doris13MinMaxNumFuncInLb1ELb1EE5cloneEv
Line
Count
Source
92
16
    MinMaxFuncBase* clone() const override {
93
16
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
16
        cloned->_max = _max;
95
16
        cloned->_min = _min;
96
16
        cloned->_min_value_set = _min_value_set;
97
16
        cloned->_contain_null = _contain_null;
98
16
        return cloned;
99
16
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncIfLb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncIdLb1ELb1EE5cloneEv
Line
Count
Source
92
8
    MinMaxFuncBase* clone() const override {
93
8
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
8
        cloned->_max = _max;
95
8
        cloned->_min = _min;
96
8
        cloned->_min_value_set = _min_value_set;
97
8
        cloned->_contain_null = _contain_null;
98
8
        return cloned;
99
8
    }
_ZNK5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5cloneEv
Line
Count
Source
92
6
    MinMaxFuncBase* clone() const override {
93
6
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
6
        cloned->_max = _max;
95
6
        cloned->_min = _min;
96
6
        cloned->_min_value_set = _min_value_set;
97
6
        cloned->_contain_null = _contain_null;
98
6
        return cloned;
99
6
    }
_ZNK5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5cloneEv
Line
Count
Source
92
21
    MinMaxFuncBase* clone() const override {
93
21
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
21
        cloned->_max = _max;
95
21
        cloned->_min = _min;
96
21
        cloned->_min_value_set = _min_value_set;
97
21
        cloned->_contain_null = _contain_null;
98
21
        return cloned;
99
21
    }
_ZNK5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5cloneEv
Line
Count
Source
92
6
    MinMaxFuncBase* clone() const override {
93
6
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
6
        cloned->_max = _max;
95
6
        cloned->_min = _min;
96
6
        cloned->_min_value_set = _min_value_set;
97
6
        cloned->_contain_null = _contain_null;
98
6
        return cloned;
99
6
    }
_ZNK5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE5cloneEv
Line
Count
Source
92
7
    MinMaxFuncBase* clone() const override {
93
7
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
7
        cloned->_max = _max;
95
7
        cloned->_min = _min;
96
7
        cloned->_min_value_set = _min_value_set;
97
7
        cloned->_contain_null = _contain_null;
98
7
        return cloned;
99
7
    }
_ZNK5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5cloneEv
Line
Count
Source
92
1
    MinMaxFuncBase* clone() const override {
93
1
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
1
        cloned->_max = _max;
95
1
        cloned->_min = _min;
96
1
        cloned->_min_value_set = _min_value_set;
97
1
        cloned->_contain_null = _contain_null;
98
1
        return cloned;
99
1
    }
_ZNK5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5cloneEv
Line
Count
Source
92
16
    MinMaxFuncBase* clone() const override {
93
16
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
16
        cloned->_max = _max;
95
16
        cloned->_min = _min;
96
16
        cloned->_min_value_set = _min_value_set;
97
16
        cloned->_contain_null = _contain_null;
98
16
        return cloned;
99
16
    }
_ZNK5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE5cloneEv
Line
Count
Source
92
6
    MinMaxFuncBase* clone() const override {
93
6
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
6
        cloned->_max = _max;
95
6
        cloned->_min = _min;
96
6
        cloned->_min_value_set = _min_value_set;
97
6
        cloned->_contain_null = _contain_null;
98
6
        return cloned;
99
6
    }
Unexecuted instantiation: _ZNK5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE5cloneEv
_ZNK5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5cloneEv
Line
Count
Source
92
9
    MinMaxFuncBase* clone() const override {
93
9
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
9
        cloned->_max = _max;
95
9
        cloned->_min = _min;
96
9
        cloned->_min_value_set = _min_value_set;
97
9
        cloned->_contain_null = _contain_null;
98
9
        return cloned;
99
9
    }
_ZNK5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5cloneEv
Line
Count
Source
92
3
    MinMaxFuncBase* clone() const override {
93
3
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
3
        cloned->_max = _max;
95
3
        cloned->_min = _min;
96
3
        cloned->_min_value_set = _min_value_set;
97
3
        cloned->_contain_null = _contain_null;
98
3
        return cloned;
99
3
    }
_ZNK5doris13MinMaxNumFuncIjLb1ELb1EE5cloneEv
Line
Count
Source
92
2
    MinMaxFuncBase* clone() const override {
93
2
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
2
        cloned->_max = _max;
95
2
        cloned->_min = _min;
96
2
        cloned->_min_value_set = _min_value_set;
97
2
        cloned->_contain_null = _contain_null;
98
2
        return cloned;
99
2
    }
_ZNK5doris13MinMaxNumFuncIoLb1ELb1EE5cloneEv
Line
Count
Source
92
2
    MinMaxFuncBase* clone() const override {
93
2
        auto* cloned = new MinMaxNumFunc(_null_aware);
94
2
        cloned->_max = _max;
95
2
        cloned->_min = _min;
96
2
        cloned->_min_value_set = _min_value_set;
97
2
        cloned->_contain_null = _contain_null;
98
2
        return cloned;
99
2
    }
100
101
5.48k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_maxEv
Line
Count
Source
101
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
4
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_maxEv
Line
Count
Source
101
271
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_maxEv
Line
Count
Source
101
159
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_maxEv
Line
Count
Source
101
3.13k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_maxEv
Line
Count
Source
101
1.26k
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_maxEv
Line
Count
Source
101
33
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE7get_maxEv
Line
Count
Source
101
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7get_maxEv
Line
Count
Source
101
10
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
12
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
116
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
187
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
8
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_maxEv
Line
Count
Source
101
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
153
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_maxEv
Line
Count
Source
101
9
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_maxEv
Line
Count
Source
101
27
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_maxEv
Line
Count
Source
101
67
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_maxEv
Line
Count
Source
101
14
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_maxEv
Line
Count
Source
101
4
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_maxEv
Line
Count
Source
101
7
    void* get_max() override { return &_max; }
102
103
5.53k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7get_minEv
Line
Count
Source
103
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_minEv
Line
Count
Source
103
4
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_minEv
Line
Count
Source
103
246
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_minEv
Line
Count
Source
103
159
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_minEv
Line
Count
Source
103
3.18k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_minEv
Line
Count
Source
103
1.28k
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_minEv
Line
Count
Source
103
37
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE7get_minEv
Line
Count
Source
103
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7get_minEv
Line
Count
Source
103
3
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_minEv
Line
Count
Source
103
12
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
103
116
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
103
187
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE7get_minEv
Line
Count
Source
103
8
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE7get_minEv
Line
Count
Source
103
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_minEv
Line
Count
Source
103
151
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE7get_minEv
Line
Count
Source
103
9
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE7get_minEv
Line
Count
Source
103
27
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7get_minEv
Line
Count
Source
103
73
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_minEv
Line
Count
Source
103
14
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_minEv
Line
Count
Source
103
4
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_minEv
Line
Count
Source
103
7
    void* get_min() override { return &_min; }
104
105
1.55k
    Status assign(void* min_data, void* max_data) override {
106
1.55k
        if constexpr (IsStringValue) {
107
69
            _min_value_set = true;
108
69
        }
109
1.55k
        _min = *(T*)min_data;
110
1.55k
        _max = *(T*)max_data;
111
1.55k
        return Status::OK();
112
1.55k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
5
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
5
        _min = *(T*)min_data;
110
5
        _max = *(T*)max_data;
111
5
        return Status::OK();
112
5
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE6assignEPvS3_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
37
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
37
        _min = *(T*)min_data;
110
37
        _max = *(T*)max_data;
111
37
        return Status::OK();
112
37
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
103
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
103
        _min = *(T*)min_data;
110
103
        _max = *(T*)max_data;
111
103
        return Status::OK();
112
103
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
977
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
977
        _min = *(T*)min_data;
110
977
        _max = *(T*)max_data;
111
977
        return Status::OK();
112
977
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
115
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
115
        _min = *(T*)min_data;
110
115
        _max = *(T*)max_data;
111
115
        return Status::OK();
112
115
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
13
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
13
        _min = *(T*)min_data;
110
13
        _max = *(T*)max_data;
111
13
        return Status::OK();
112
13
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE6assignEPvS3_
Line
Count
Source
105
2
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
2
        _min = *(T*)min_data;
110
2
        _max = *(T*)max_data;
111
2
        return Status::OK();
112
2
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
105
67
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
67
        _min = *(T*)min_data;
110
67
        _max = *(T*)max_data;
111
67
        return Status::OK();
112
67
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
105
115
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
115
        _min = *(T*)min_data;
110
115
        _max = *(T*)max_data;
111
115
        return Status::OK();
112
115
    }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE6assignEPvS3_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE6assignEPvS3_
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE6assignEPvS8_
Line
Count
Source
105
69
    Status assign(void* min_data, void* max_data) override {
106
69
        if constexpr (IsStringValue) {
107
69
            _min_value_set = true;
108
69
        }
109
69
        _min = *(T*)min_data;
110
69
        _max = *(T*)max_data;
111
69
        return Status::OK();
112
69
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE6assignEPvS4_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE6assignEPvS4_
Line
Count
Source
105
5
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
5
        _min = *(T*)min_data;
110
5
        _max = *(T*)max_data;
111
5
        return Status::OK();
112
5
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE6assignEPvS3_
Line
Count
Source
105
33
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
33
        _min = *(T*)min_data;
110
33
        _max = *(T*)max_data;
111
33
        return Status::OK();
112
33
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE6assignEPvS7_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
1
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
1
        _min = *(T*)min_data;
110
1
        _max = *(T*)max_data;
111
1
        return Status::OK();
112
1
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE6assignEPvS2_
Line
Count
Source
105
3
    Status assign(void* min_data, void* max_data) override {
106
        if constexpr (IsStringValue) {
107
            _min_value_set = true;
108
        }
109
3
        _min = *(T*)min_data;
110
3
        _max = *(T*)max_data;
111
3
        return Status::OK();
112
3
    }
113
114
1.92k
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
4
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
58
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
153
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
1.27k
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
133
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
12
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIdLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
66
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
114
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
71
    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
114
4
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
32
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
114
2
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
115
116
private:
117
1.92k
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
1.92k
        if constexpr (NeedMin) {
119
1.92k
            f(filter->mutable_min_val(), _min);
120
1.92k
        }
121
1.92k
        if constexpr (NeedMax) {
122
1.92k
            f(filter->mutable_max_val(), _max);
123
1.92k
        }
124
1.92k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE7_set_pbIZNS_13get_convertorIhEEDavEUlPNS_12PColumnValueERKhE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
4
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
4
        if constexpr (NeedMin) {
119
4
            f(filter->mutable_min_val(), _min);
120
4
        }
121
4
        if constexpr (NeedMax) {
122
4
            f(filter->mutable_max_val(), _max);
123
4
        }
124
4
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7_set_pbIZNS_13get_convertorIaEEDavEUlPNS_12PColumnValueERKaE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
58
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
58
        if constexpr (NeedMin) {
119
58
            f(filter->mutable_min_val(), _min);
120
58
        }
121
58
        if constexpr (NeedMax) {
122
58
            f(filter->mutable_max_val(), _max);
123
58
        }
124
58
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7_set_pbIZNS_13get_convertorIsEEDavEUlPNS_12PColumnValueERKsE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
153
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
153
        if constexpr (NeedMin) {
119
153
            f(filter->mutable_min_val(), _min);
120
153
        }
121
153
        if constexpr (NeedMax) {
122
153
            f(filter->mutable_max_val(), _max);
123
153
        }
124
153
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7_set_pbIZNS_13get_convertorIiEEDavEUlPNS_12PColumnValueERKiE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
1.27k
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
1.27k
        if constexpr (NeedMin) {
119
1.27k
            f(filter->mutable_min_val(), _min);
120
1.27k
        }
121
1.27k
        if constexpr (NeedMax) {
122
1.27k
            f(filter->mutable_max_val(), _max);
123
1.27k
        }
124
1.27k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7_set_pbIZNS_13get_convertorIlEEDavEUlPNS_12PColumnValueERKlE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
133
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
133
        if constexpr (NeedMin) {
119
133
            f(filter->mutable_min_val(), _min);
120
133
        }
121
133
        if constexpr (NeedMax) {
122
133
            f(filter->mutable_max_val(), _max);
123
133
        }
124
133
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7_set_pbIZNS_13get_convertorInEEDavEUlPNS_12PColumnValueERKnE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
12
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
12
        if constexpr (NeedMin) {
119
12
            f(filter->mutable_min_val(), _min);
120
12
        }
121
12
        if constexpr (NeedMax) {
122
12
            f(filter->mutable_max_val(), _max);
123
12
        }
124
12
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE7_set_pbIZNS_13get_convertorIfEEDavEUlPNS_12PColumnValueERKfE_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIdLb1ELb1EE7_set_pbIZNS_13get_convertorIdEEDavEUlPNS_12PColumnValueERKdE_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
66
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
66
        if constexpr (NeedMin) {
119
66
            f(filter->mutable_min_val(), _min);
120
66
        }
121
66
        if constexpr (NeedMax) {
122
66
            f(filter->mutable_max_val(), _max);
123
66
        }
124
66
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
114
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
114
        if constexpr (NeedMin) {
119
114
            f(filter->mutable_min_val(), _min);
120
114
        }
121
114
        if constexpr (NeedMax) {
122
114
            f(filter->mutable_max_val(), _max);
123
114
        }
124
114
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
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
117
71
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
71
        if constexpr (NeedMin) {
119
71
            f(filter->mutable_min_val(), _min);
120
71
        }
121
71
        if constexpr (NeedMax) {
122
71
            f(filter->mutable_max_val(), _max);
123
71
        }
124
71
    }
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
117
4
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
4
        if constexpr (NeedMin) {
119
4
            f(filter->mutable_min_val(), _min);
120
4
        }
121
4
        if constexpr (NeedMax) {
122
4
            f(filter->mutable_max_val(), _max);
123
4
        }
124
4
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
32
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
32
        if constexpr (NeedMin) {
119
32
            f(filter->mutable_min_val(), _min);
120
32
        }
121
32
        if constexpr (NeedMax) {
122
32
            f(filter->mutable_max_val(), _max);
123
32
        }
124
32
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS5_EEDavEUlPNS_12PColumnValueERKS5_E_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE7_set_pbIZNS_13get_convertorIjEEDavEUlPNS_12PColumnValueERKjE_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7_set_pbIZNS_13get_convertorIoEEDavEUlPNS_12PColumnValueERKoE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
117
2
    void _set_pb(PMinMaxFilter* filter, auto f) {
118
2
        if constexpr (NeedMin) {
119
2
            f(filter->mutable_min_val(), _min);
120
2
        }
121
2
        if constexpr (NeedMax) {
122
2
            f(filter->mutable_max_val(), _max);
123
2
        }
124
2
    }
125
126
    void _update_batch_string(const auto& column_string, const uint8_t* __restrict nullmap,
127
159
                              size_t start, size_t size) {
128
6.09k
        for (size_t i = start; i < size; i++) {
129
5.93k
            if (nullmap == nullptr || !nullmap[i]) {
130
5.88k
                if constexpr (NeedMin) {
131
5.88k
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
132
255
                        _min = column_string.get_data_at(i).to_string();
133
255
                        _min_value_set = true;
134
255
                    }
135
5.88k
                }
136
5.88k
                if constexpr (NeedMax) {
137
5.88k
                    if (column_string.get_data_at(i) > StringRef(_max)) {
138
1.01k
                        _max = column_string.get_data_at(i).to_string();
139
1.01k
                    }
140
5.88k
                }
141
5.88k
            }
142
5.93k
        }
143
159
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE20_update_batch_stringINS_9ColumnStrImEEEEvRKT_PKhmm
Line
Count
Source
127
1
                              size_t start, size_t size) {
128
9
        for (size_t i = start; i < size; i++) {
129
8
            if (nullmap == nullptr || !nullmap[i]) {
130
8
                if constexpr (NeedMin) {
131
8
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
132
1
                        _min = column_string.get_data_at(i).to_string();
133
1
                        _min_value_set = true;
134
1
                    }
135
8
                }
136
8
                if constexpr (NeedMax) {
137
8
                    if (column_string.get_data_at(i) > StringRef(_max)) {
138
8
                        _max = column_string.get_data_at(i).to_string();
139
8
                    }
140
8
                }
141
8
            }
142
8
        }
143
1
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE20_update_batch_stringINS_9ColumnStrIjEEEEvRKT_PKhmm
Line
Count
Source
127
158
                              size_t start, size_t size) {
128
6.08k
        for (size_t i = start; i < size; i++) {
129
5.92k
            if (nullmap == nullptr || !nullmap[i]) {
130
5.88k
                if constexpr (NeedMin) {
131
5.88k
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
132
254
                        _min = column_string.get_data_at(i).to_string();
133
254
                        _min_value_set = true;
134
254
                    }
135
5.88k
                }
136
5.88k
                if constexpr (NeedMax) {
137
5.88k
                    if (column_string.get_data_at(i) > StringRef(_max)) {
138
1.00k
                        _max = column_string.get_data_at(i).to_string();
139
1.00k
                    }
140
5.88k
                }
141
5.88k
            }
142
5.92k
        }
143
158
    }
144
145
3.25k
    void _update_batch(const ColumnPtr& column, size_t start) {
146
3.25k
        const auto size = column->size();
147
3.25k
        if constexpr (std::is_same_v<T, std::string>) {
148
88
            if (column->is_column_string64()) {
149
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
1
                                     size);
151
87
            } else {
152
87
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
87
                                     size);
154
87
            }
155
3.16k
        } else {
156
3.16k
            const T* data = (T*)column->get_raw_data().data;
157
11.7M
            for (size_t i = start; i < size; i++) {
158
11.7M
                if constexpr (NeedMin) {
159
11.7M
                    _min = std::min(_min, *(data + i));
160
11.7M
                }
161
11.7M
                if constexpr (NeedMax) {
162
11.7M
                    _max = std::max(_max, *(data + i));
163
11.7M
                }
164
11.7M
            }
165
3.16k
        }
166
3.25k
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIhLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
145
1
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1
        } else {
156
1
            const T* data = (T*)column->get_raw_data().data;
157
4
            for (size_t i = start; i < size; i++) {
158
3
                if constexpr (NeedMin) {
159
3
                    _min = std::min(_min, *(data + i));
160
3
                }
161
3
                if constexpr (NeedMax) {
162
3
                    _max = std::max(_max, *(data + i));
163
3
                }
164
3
            }
165
1
        }
166
1
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
252
    void _update_batch(const ColumnPtr& column, size_t start) {
146
252
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
252
        } else {
156
252
            const T* data = (T*)column->get_raw_data().data;
157
759
            for (size_t i = start; i < size; i++) {
158
507
                if constexpr (NeedMin) {
159
507
                    _min = std::min(_min, *(data + i));
160
507
                }
161
507
                if constexpr (NeedMax) {
162
507
                    _max = std::max(_max, *(data + i));
163
507
                }
164
507
            }
165
252
        }
166
252
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
1
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1
        } else {
156
1
            const T* data = (T*)column->get_raw_data().data;
157
4
            for (size_t i = start; i < size; i++) {
158
3
                if constexpr (NeedMin) {
159
3
                    _min = std::min(_min, *(data + i));
160
3
                }
161
3
                if constexpr (NeedMax) {
162
3
                    _max = std::max(_max, *(data + i));
163
3
                }
164
3
            }
165
1
        }
166
1
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
2.44k
    void _update_batch(const ColumnPtr& column, size_t start) {
146
2.44k
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
2.44k
        } else {
156
2.44k
            const T* data = (T*)column->get_raw_data().data;
157
11.7M
            for (size_t i = start; i < size; i++) {
158
11.7M
                if constexpr (NeedMin) {
159
11.7M
                    _min = std::min(_min, *(data + i));
160
11.7M
                }
161
11.7M
                if constexpr (NeedMax) {
162
11.7M
                    _max = std::max(_max, *(data + i));
163
11.7M
                }
164
11.7M
            }
165
2.44k
        }
166
2.44k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
126
    void _update_batch(const ColumnPtr& column, size_t start) {
146
126
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
126
        } else {
156
126
            const T* data = (T*)column->get_raw_data().data;
157
732
            for (size_t i = start; i < size; i++) {
158
606
                if constexpr (NeedMin) {
159
606
                    _min = std::min(_min, *(data + i));
160
606
                }
161
606
                if constexpr (NeedMax) {
162
606
                    _max = std::max(_max, *(data + i));
163
606
                }
164
606
            }
165
126
        }
166
126
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
75
    void _update_batch(const ColumnPtr& column, size_t start) {
146
75
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
75
        } else {
156
75
            const T* data = (T*)column->get_raw_data().data;
157
197
            for (size_t i = start; i < size; i++) {
158
122
                if constexpr (NeedMin) {
159
122
                    _min = std::min(_min, *(data + i));
160
122
                }
161
122
                if constexpr (NeedMax) {
162
122
                    _max = std::max(_max, *(data + i));
163
122
                }
164
122
            }
165
75
        }
166
75
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
1
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1
        } else {
156
1
            const T* data = (T*)column->get_raw_data().data;
157
4
            for (size_t i = start; i < size; i++) {
158
3
                if constexpr (NeedMin) {
159
3
                    _min = std::min(_min, *(data + i));
160
3
                }
161
3
                if constexpr (NeedMax) {
162
3
                    _max = std::max(_max, *(data + i));
163
3
                }
164
3
            }
165
1
        }
166
1
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
6
    void _update_batch(const ColumnPtr& column, size_t start) {
146
6
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
6
        } else {
156
6
            const T* data = (T*)column->get_raw_data().data;
157
14
            for (size_t i = start; i < size; i++) {
158
8
                if constexpr (NeedMin) {
159
8
                    _min = std::min(_min, *(data + i));
160
8
                }
161
8
                if constexpr (NeedMax) {
162
8
                    _max = std::max(_max, *(data + i));
163
8
                }
164
8
            }
165
6
        }
166
6
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
145
2
    void _update_batch(const ColumnPtr& column, size_t start) {
146
2
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
2
        } else {
156
2
            const T* data = (T*)column->get_raw_data().data;
157
8
            for (size_t i = start; i < size; i++) {
158
6
                if constexpr (NeedMin) {
159
6
                    _min = std::min(_min, *(data + i));
160
6
                }
161
6
                if constexpr (NeedMax) {
162
6
                    _max = std::max(_max, *(data + i));
163
6
                }
164
6
            }
165
2
        }
166
2
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
145
183
    void _update_batch(const ColumnPtr& column, size_t start) {
146
183
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
183
        } else {
156
183
            const T* data = (T*)column->get_raw_data().data;
157
3.80k
            for (size_t i = start; i < size; i++) {
158
3.61k
                if constexpr (NeedMin) {
159
3.61k
                    _min = std::min(_min, *(data + i));
160
3.61k
                }
161
3.61k
                if constexpr (NeedMax) {
162
3.61k
                    _max = std::max(_max, *(data + i));
163
3.61k
                }
164
3.61k
            }
165
183
        }
166
183
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
145
14
    void _update_batch(const ColumnPtr& column, size_t start) {
146
14
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
14
        } else {
156
14
            const T* data = (T*)column->get_raw_data().data;
157
54
            for (size_t i = start; i < size; i++) {
158
40
                if constexpr (NeedMin) {
159
40
                    _min = std::min(_min, *(data + i));
160
40
                }
161
40
                if constexpr (NeedMax) {
162
40
                    _max = std::max(_max, *(data + i));
163
40
                }
164
40
            }
165
14
        }
166
14
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
145
88
    void _update_batch(const ColumnPtr& column, size_t start) {
146
88
        const auto size = column->size();
147
88
        if constexpr (std::is_same_v<T, std::string>) {
148
88
            if (column->is_column_string64()) {
149
1
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
1
                                     size);
151
87
            } else {
152
87
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
87
                                     size);
154
87
            }
155
        } else {
156
            const T* data = (T*)column->get_raw_data().data;
157
            for (size_t i = start; i < size; i++) {
158
                if constexpr (NeedMin) {
159
                    _min = std::min(_min, *(data + i));
160
                }
161
                if constexpr (NeedMax) {
162
                    _max = std::max(_max, *(data + i));
163
                }
164
            }
165
        }
166
88
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
145
1
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1
        } else {
156
1
            const T* data = (T*)column->get_raw_data().data;
157
4
            for (size_t i = start; i < size; i++) {
158
3
                if constexpr (NeedMin) {
159
3
                    _min = std::min(_min, *(data + i));
160
3
                }
161
3
                if constexpr (NeedMax) {
162
3
                    _max = std::max(_max, *(data + i));
163
3
                }
164
3
            }
165
1
        }
166
1
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
145
11
    void _update_batch(const ColumnPtr& column, size_t start) {
146
11
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
11
        } else {
156
11
            const T* data = (T*)column->get_raw_data().data;
157
73
            for (size_t i = start; i < size; i++) {
158
62
                if constexpr (NeedMin) {
159
62
                    _min = std::min(_min, *(data + i));
160
62
                }
161
62
                if constexpr (NeedMax) {
162
62
                    _max = std::max(_max, *(data + i));
163
62
                }
164
62
            }
165
11
        }
166
11
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
145
45
    void _update_batch(const ColumnPtr& column, size_t start) {
146
45
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
45
        } else {
156
45
            const T* data = (T*)column->get_raw_data().data;
157
121
            for (size_t i = start; i < size; i++) {
158
76
                if constexpr (NeedMin) {
159
76
                    _min = std::min(_min, *(data + i));
160
76
                }
161
76
                if constexpr (NeedMax) {
162
76
                    _max = std::max(_max, *(data + i));
163
76
                }
164
76
            }
165
45
        }
166
45
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EEm
Line
Count
Source
145
1
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1
        } else {
156
1
            const T* data = (T*)column->get_raw_data().data;
157
4
            for (size_t i = start; i < size; i++) {
158
3
                if constexpr (NeedMin) {
159
3
                    _min = std::min(_min, *(data + i));
160
3
                }
161
3
                if constexpr (NeedMax) {
162
3
                    _max = std::max(_max, *(data + i));
163
3
                }
164
3
            }
165
1
        }
166
1
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
1
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1
        } else {
156
1
            const T* data = (T*)column->get_raw_data().data;
157
4
            for (size_t i = start; i < size; i++) {
158
3
                if constexpr (NeedMin) {
159
3
                    _min = std::min(_min, *(data + i));
160
3
                }
161
3
                if constexpr (NeedMax) {
162
3
                    _max = std::max(_max, *(data + i));
163
3
                }
164
3
            }
165
1
        }
166
1
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EEm
Line
Count
Source
145
1
    void _update_batch(const ColumnPtr& column, size_t start) {
146
1
        const auto size = column->size();
147
        if constexpr (std::is_same_v<T, std::string>) {
148
            if (column->is_column_string64()) {
149
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullptr, start,
150
                                     size);
151
            } else {
152
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullptr, start,
153
                                     size);
154
            }
155
1
        } else {
156
1
            const T* data = (T*)column->get_raw_data().data;
157
4
            for (size_t i = start; i < size; i++) {
158
3
                if constexpr (NeedMin) {
159
3
                    _min = std::min(_min, *(data + i));
160
3
                }
161
3
                if constexpr (NeedMax) {
162
3
                    _max = std::max(_max, *(data + i));
163
3
                }
164
3
            }
165
1
        }
166
1
    }
167
168
4.10k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
4.10k
        const auto size = column->size();
170
4.10k
        if constexpr (std::is_same_v<T, std::string>) {
171
71
            if (column->is_column_string64()) {
172
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
0
                                     start, size);
174
71
            } else {
175
71
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
71
                                     start, size);
177
71
            }
178
4.02k
        } else {
179
4.02k
            const T* data = (T*)column->get_raw_data().data;
180
1.34M
            for (size_t i = start; i < size; i++) {
181
1.34M
                if (!nullmap[i]) {
182
1.33M
                    if constexpr (NeedMin) {
183
1.33M
                        _min = std::min(_min, *(data + i));
184
1.33M
                    }
185
1.33M
                    if constexpr (NeedMax) {
186
1.33M
                        _max = std::max(_max, *(data + i));
187
1.33M
                    }
188
1.33M
                }
189
1.34M
            }
190
4.02k
        }
191
4.10k
    }
_ZN5doris13MinMaxNumFuncIhLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
3
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
3
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
3
        } else {
179
3
            const T* data = (T*)column->get_raw_data().data;
180
7
            for (size_t i = start; i < size; i++) {
181
4
                if (!nullmap[i]) {
182
3
                    if constexpr (NeedMin) {
183
3
                        _min = std::min(_min, *(data + i));
184
3
                    }
185
3
                    if constexpr (NeedMax) {
186
3
                        _max = std::max(_max, *(data + i));
187
3
                    }
188
3
                }
189
4
            }
190
3
        }
191
3
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
2
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
2
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
2
        } else {
179
2
            const T* data = (T*)column->get_raw_data().data;
180
8
            for (size_t i = start; i < size; i++) {
181
6
                if (!nullmap[i]) {
182
6
                    if constexpr (NeedMin) {
183
6
                        _min = std::min(_min, *(data + i));
184
6
                    }
185
6
                    if constexpr (NeedMax) {
186
6
                        _max = std::max(_max, *(data + i));
187
6
                    }
188
6
                }
189
6
            }
190
2
        }
191
2
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
405
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
405
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
405
        } else {
179
405
            const T* data = (T*)column->get_raw_data().data;
180
1.48k
            for (size_t i = start; i < size; i++) {
181
1.07k
                if (!nullmap[i]) {
182
1.06k
                    if constexpr (NeedMin) {
183
1.06k
                        _min = std::min(_min, *(data + i));
184
1.06k
                    }
185
1.06k
                    if constexpr (NeedMax) {
186
1.06k
                        _max = std::max(_max, *(data + i));
187
1.06k
                    }
188
1.06k
                }
189
1.07k
            }
190
405
        }
191
405
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
382
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
382
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
382
        } else {
179
382
            const T* data = (T*)column->get_raw_data().data;
180
1.99k
            for (size_t i = start; i < size; i++) {
181
1.61k
                if (!nullmap[i]) {
182
1.43k
                    if constexpr (NeedMin) {
183
1.43k
                        _min = std::min(_min, *(data + i));
184
1.43k
                    }
185
1.43k
                    if constexpr (NeedMax) {
186
1.43k
                        _max = std::max(_max, *(data + i));
187
1.43k
                    }
188
1.43k
                }
189
1.61k
            }
190
382
        }
191
382
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
1.78k
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
1.78k
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
1.78k
        } else {
179
1.78k
            const T* data = (T*)column->get_raw_data().data;
180
1.13M
            for (size_t i = start; i < size; i++) {
181
1.13M
                if (!nullmap[i]) {
182
1.12M
                    if constexpr (NeedMin) {
183
1.12M
                        _min = std::min(_min, *(data + i));
184
1.12M
                    }
185
1.12M
                    if constexpr (NeedMax) {
186
1.12M
                        _max = std::max(_max, *(data + i));
187
1.12M
                    }
188
1.12M
                }
189
1.13M
            }
190
1.78k
        }
191
1.78k
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
895
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
895
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
895
        } else {
179
895
            const T* data = (T*)column->get_raw_data().data;
180
204k
            for (size_t i = start; i < size; i++) {
181
203k
                if (!nullmap[i]) {
182
203k
                    if constexpr (NeedMin) {
183
203k
                        _min = std::min(_min, *(data + i));
184
203k
                    }
185
203k
                    if constexpr (NeedMax) {
186
203k
                        _max = std::max(_max, *(data + i));
187
203k
                    }
188
203k
                }
189
203k
            }
190
895
        }
191
895
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
26
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
26
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
26
        } else {
179
26
            const T* data = (T*)column->get_raw_data().data;
180
52
            for (size_t i = start; i < size; i++) {
181
26
                if (!nullmap[i]) {
182
26
                    if constexpr (NeedMin) {
183
26
                        _min = std::min(_min, *(data + i));
184
26
                    }
185
26
                    if constexpr (NeedMax) {
186
26
                        _max = std::max(_max, *(data + i));
187
26
                    }
188
26
                }
189
26
            }
190
26
        }
191
26
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
37
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
37
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
37
        } else {
179
37
            const T* data = (T*)column->get_raw_data().data;
180
95
            for (size_t i = start; i < size; i++) {
181
58
                if (!nullmap[i]) {
182
28
                    if constexpr (NeedMin) {
183
28
                        _min = std::min(_min, *(data + i));
184
28
                    }
185
28
                    if constexpr (NeedMax) {
186
28
                        _max = std::max(_max, *(data + i));
187
28
                    }
188
28
                }
189
58
            }
190
37
        }
191
37
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
35
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
35
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
35
        } else {
179
35
            const T* data = (T*)column->get_raw_data().data;
180
239
            for (size_t i = start; i < size; i++) {
181
204
                if (!nullmap[i]) {
182
204
                    if constexpr (NeedMin) {
183
204
                        _min = std::min(_min, *(data + i));
184
204
                    }
185
204
                    if constexpr (NeedMax) {
186
204
                        _max = std::max(_max, *(data + i));
187
204
                    }
188
204
                }
189
204
            }
190
35
        }
191
35
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
35
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
35
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
35
        } else {
179
35
            const T* data = (T*)column->get_raw_data().data;
180
413
            for (size_t i = start; i < size; i++) {
181
378
                if (!nullmap[i]) {
182
317
                    if constexpr (NeedMin) {
183
317
                        _min = std::min(_min, *(data + i));
184
317
                    }
185
317
                    if constexpr (NeedMax) {
186
317
                        _max = std::max(_max, *(data + i));
187
317
                    }
188
317
                }
189
378
            }
190
35
        }
191
35
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS6_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
302
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
302
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
302
        } else {
179
302
            const T* data = (T*)column->get_raw_data().data;
180
677
            for (size_t i = start; i < size; i++) {
181
375
                if (!nullmap[i]) {
182
354
                    if constexpr (NeedMin) {
183
354
                        _min = std::min(_min, *(data + i));
184
354
                    }
185
354
                    if constexpr (NeedMax) {
186
354
                        _max = std::max(_max, *(data + i));
187
354
                    }
188
354
                }
189
375
            }
190
302
        }
191
302
    }
_ZN5doris13MinMaxNumFuncINS_16TimeStampNsValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
28
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
28
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
28
        } else {
179
28
            const T* data = (T*)column->get_raw_data().data;
180
128
            for (size_t i = start; i < size; i++) {
181
100
                if (!nullmap[i]) {
182
72
                    if constexpr (NeedMin) {
183
72
                        _min = std::min(_min, *(data + i));
184
72
                    }
185
72
                    if constexpr (NeedMax) {
186
72
                        _max = std::max(_max, *(data + i));
187
72
                    }
188
72
                }
189
100
            }
190
28
        }
191
28
    }
_ZN5doris13MinMaxNumFuncINS_16TimestampTzValueELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
6
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
6
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
6
        } else {
179
6
            const T* data = (T*)column->get_raw_data().data;
180
24
            for (size_t i = start; i < size; i++) {
181
18
                if (!nullmap[i]) {
182
18
                    if constexpr (NeedMin) {
183
18
                        _min = std::min(_min, *(data + i));
184
18
                    }
185
18
                    if constexpr (NeedMax) {
186
18
                        _max = std::max(_max, *(data + i));
187
18
                    }
188
18
                }
189
18
            }
190
6
        }
191
6
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS9_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
71
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
71
        const auto size = column->size();
170
71
        if constexpr (std::is_same_v<T, std::string>) {
171
71
            if (column->is_column_string64()) {
172
0
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
0
                                     start, size);
174
71
            } else {
175
71
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
71
                                     start, size);
177
71
            }
178
        } else {
179
            const T* data = (T*)column->get_raw_data().data;
180
            for (size_t i = start; i < size; i++) {
181
                if (!nullmap[i]) {
182
                    if constexpr (NeedMin) {
183
                        _min = std::min(_min, *(data + i));
184
                    }
185
                    if constexpr (NeedMax) {
186
                        _max = std::max(_max, *(data + i));
187
                    }
188
                }
189
            }
190
        }
191
71
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIiEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
37
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
37
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
37
        } else {
179
37
            const T* data = (T*)column->get_raw_data().data;
180
141
            for (size_t i = start; i < size; i++) {
181
104
                if (!nullmap[i]) {
182
41
                    if constexpr (NeedMin) {
183
41
                        _min = std::min(_min, *(data + i));
184
41
                    }
185
41
                    if constexpr (NeedMax) {
186
41
                        _max = std::max(_max, *(data + i));
187
41
                    }
188
41
                }
189
104
            }
190
37
        }
191
37
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIlEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS5_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
1
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
1
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
1
        } else {
179
1
            const T* data = (T*)column->get_raw_data().data;
180
6
            for (size_t i = start; i < size; i++) {
181
5
                if (!nullmap[i]) {
182
4
                    if constexpr (NeedMin) {
183
4
                        _min = std::min(_min, *(data + i));
184
4
                    }
185
4
                    if constexpr (NeedMax) {
186
4
                        _max = std::max(_max, *(data + i));
187
4
                    }
188
4
                }
189
5
            }
190
1
        }
191
1
    }
_ZN5doris13MinMaxNumFuncINS_12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS4_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
27
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
27
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
27
        } else {
179
27
            const T* data = (T*)column->get_raw_data().data;
180
118
            for (size_t i = start; i < size; i++) {
181
91
                if (!nullmap[i]) {
182
57
                    if constexpr (NeedMin) {
183
57
                        _min = std::min(_min, *(data + i));
184
57
                    }
185
57
                    if constexpr (NeedMax) {
186
57
                        _max = std::max(_max, *(data + i));
187
57
                    }
188
57
                }
189
91
            }
190
27
        }
191
27
    }
_ZN5doris13MinMaxNumFuncINS_7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS8_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
12
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
12
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
12
        } else {
179
12
            const T* data = (T*)column->get_raw_data().data;
180
84
            for (size_t i = start; i < size; i++) {
181
72
                if (!nullmap[i]) {
182
72
                    if constexpr (NeedMin) {
183
72
                        _min = std::min(_min, *(data + i));
184
72
                    }
185
72
                    if constexpr (NeedMax) {
186
72
                        _max = std::max(_max, *(data + i));
187
72
                    }
188
72
                }
189
72
            }
190
12
        }
191
12
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
2
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
2
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
2
        } else {
179
2
            const T* data = (T*)column->get_raw_data().data;
180
24
            for (size_t i = start; i < size; i++) {
181
22
                if (!nullmap[i]) {
182
20
                    if constexpr (NeedMin) {
183
20
                        _min = std::min(_min, *(data + i));
184
20
                    }
185
20
                    if constexpr (NeedMax) {
186
20
                        _max = std::max(_max, *(data + i));
187
20
                    }
188
20
                }
189
22
            }
190
2
        }
191
2
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_update_batchERKNS_3COWINS_7IColumnEE13immutable_ptrIS3_EERKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEm
Line
Count
Source
168
5
    void _update_batch(const ColumnPtr& column, const NullMap& nullmap, size_t start) {
169
5
        const auto size = column->size();
170
        if constexpr (std::is_same_v<T, std::string>) {
171
            if (column->is_column_string64()) {
172
                _update_batch_string(assert_cast<const ColumnString64&>(*column), nullmap.data(),
173
                                     start, size);
174
            } else {
175
                _update_batch_string(assert_cast<const ColumnString&>(*column), nullmap.data(),
176
                                     start, size);
177
            }
178
5
        } else {
179
5
            const T* data = (T*)column->get_raw_data().data;
180
540
            for (size_t i = start; i < size; i++) {
181
535
                if (!nullmap[i]) {
182
501
                    if constexpr (NeedMin) {
183
501
                        _min = std::min(_min, *(data + i));
184
501
                    }
185
501
                    if constexpr (NeedMax) {
186
501
                        _max = std::max(_max, *(data + i));
187
501
                    }
188
501
                }
189
535
            }
190
5
        }
191
5
    }
192
193
    T _max = type_limit<T>::min();
194
    T _min = type_limit<T>::max();
195
196
    bool _min_value_set = false;
197
};
198
199
template <class T>
200
using MinNumFunc = MinMaxNumFunc<T, false, true>;
201
202
template <class T>
203
using MaxNumFunc = MinMaxNumFunc<T, true, false>;
204
205
} // namespace doris