Coverage Report

Created: 2025-04-10 14:34

/root/doris/be/src/exprs/minmax_predicate.h
Line
Count
Source (jump to first uncovered line)
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 "exprs/filter_base.h"
23
#include "runtime/type_limit.h"
24
#include "vec/columns/column_nullable.h"
25
#include "vec/columns/column_string.h"
26
27
namespace doris {
28
29
// only used in Runtime Filter
30
class MinMaxFuncBase : public FilterBase {
31
public:
32
64
    MinMaxFuncBase(bool null_aware) : FilterBase(null_aware) {}
33
    virtual void insert_fixed_len(const vectorized::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
63
    virtual ~MinMaxFuncBase() = default;
41
42
    virtual void to_pb(PMinMaxFilter* filter) = 0;
43
};
44
45
template <class T, bool NeedMax = true, bool NeedMin = true>
46
class MinMaxNumFunc : public MinMaxFuncBase {
47
public:
48
    static constexpr bool IsStringValue = std::is_same_v<T, std::string>;
49
64
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIaLb1ELb1EEC2Eb
Line
Count
Source
49
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIsLb1ELb1EEC2Eb
Line
Count
Source
49
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIlLb1ELb1EEC2Eb
Line
Count
Source
49
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncInLb1ELb1EEC2Eb
Line
Count
Source
49
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIfLb1ELb1EEC2Eb
Line
Count
Source
49
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIdLb1ELb1EEC2Eb
Line
Count
Source
49
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIjLb1ELb1EEC2Eb
Line
Count
Source
49
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIoLb1ELb1EEC2Eb
Line
Count
Source
49
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_10vectorized7DecimalIN4wide7integerILm256EiEEEELb1ELb1EEC2Eb
Line
Count
Source
49
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EEC2Eb
Line
Count
Source
49
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_10vectorized7DecimalIiEELb1ELb1EEC2Eb
Line
Count
Source
49
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_10vectorized7DecimalIlEELb1ELb1EEC2Eb
Line
Count
Source
49
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_10vectorized12Decimal128V3ELb1ELb1EEC2Eb
Line
Count
Source
49
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EEC2Eb
Line
Count
Source
49
4
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
49
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EEC2Eb
Line
Count
Source
49
2
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIiLb1ELb1EEC2Eb
Line
Count
Source
49
24
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EEC2Eb
Line
Count
Source
49
5
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
_ZN5doris13MinMaxNumFuncIbLb1ELb1EEC2Eb
Line
Count
Source
49
1
    MinMaxNumFunc(bool null_aware) : MinMaxFuncBase(null_aware) {}
50
63
    ~MinMaxNumFunc() override = default;
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EED2Ev
Line
Count
Source
50
5
    ~MinMaxNumFunc() override = default;
_ZN5doris13MinMaxNumFuncIaLb1ELb1EED2Ev
Line
Count
Source
50
2
    ~MinMaxNumFunc() override = default;
_ZN5doris13MinMaxNumFuncIsLb1ELb1EED2Ev
Line
Count
Source
50
2
    ~MinMaxNumFunc() override = default;
_ZN5doris13MinMaxNumFuncIlLb1ELb1EED2Ev
Line
Count
Source
50
2
    ~MinMaxNumFunc() override = default;
_ZN5doris13MinMaxNumFuncInLb1ELb1EED2Ev
Line
Count
Source
50
2
    ~MinMaxNumFunc() override = default;
_ZN5doris13MinMaxNumFuncIfLb1ELb1EED2Ev
Line
Count
Source
50
2
    ~MinMaxNumFunc() override = default;
_ZN5doris13MinMaxNumFuncIdLb1ELb1EED2Ev
Line
Count
Source
50
2
    ~MinMaxNumFunc() override = default;
_ZN5doris13MinMaxNumFuncIjLb1ELb1EED2Ev
Line
Count
Source
50
2
    ~MinMaxNumFunc() override = default;
_ZN5doris13MinMaxNumFuncIoLb1ELb1EED2Ev
Line
Count
Source
50
2
    ~MinMaxNumFunc() override = default;
_ZN5doris13MinMaxNumFuncINS_10vectorized7DecimalIN4wide7integerILm256EiEEEELb1ELb1EED2Ev
Line
Count
Source
50
2
    ~MinMaxNumFunc() override = default;
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EED2Ev
Line
Count
Source
50
2
    ~MinMaxNumFunc() override = default;
_ZN5doris13MinMaxNumFuncINS_10vectorized7DecimalIiEELb1ELb1EED2Ev
Line
Count
Source
50
2
    ~MinMaxNumFunc() override = default;
_ZN5doris13MinMaxNumFuncINS_10vectorized7DecimalIlEELb1ELb1EED2Ev
Line
Count
Source
50
2
    ~MinMaxNumFunc() override = default;
_ZN5doris13MinMaxNumFuncINS_10vectorized12Decimal128V3ELb1ELb1EED2Ev
Line
Count
Source
50
2
    ~MinMaxNumFunc() override = default;
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EED2Ev
Line
Count
Source
50
4
    ~MinMaxNumFunc() override = default;
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EED2Ev
Line
Count
Source
50
2
    ~MinMaxNumFunc() override = default;
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EED2Ev
Line
Count
Source
50
2
    ~MinMaxNumFunc() override = default;
_ZN5doris13MinMaxNumFuncIiLb1ELb1EED2Ev
Line
Count
Source
50
23
    ~MinMaxNumFunc() override = default;
_ZN5doris13MinMaxNumFuncIbLb1ELb1EED2Ev
Line
Count
Source
50
1
    ~MinMaxNumFunc() override = default;
51
52
32
    void insert_fixed_len(const vectorized::ColumnPtr& column, size_t start) override {
53
32
        if (column->is_nullable()) {
54
5
            const auto* nullable = assert_cast<const vectorized::ColumnNullable*>(column.get());
55
5
            const auto& col = nullable->get_nested_column_ptr();
56
5
            const auto& nullmap = nullable->get_null_map_data();
57
5
            if (nullable->has_null()) {
58
3
                _update_batch(col, nullmap, start);
59
3
                _contain_null = true;
60
3
            } else {
61
2
                _update_batch(col, start);
62
2
            }
63
27
        } else {
64
27
            _update_batch(column, start);
65
27
        }
66
32
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIbLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS4_EEm
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
52
1
    void insert_fixed_len(const vectorized::ColumnPtr& column, size_t start) override {
53
1
        if (column->is_nullable()) {
54
0
            const auto* nullable = assert_cast<const vectorized::ColumnNullable*>(column.get());
55
0
            const auto& col = nullable->get_nested_column_ptr();
56
0
            const auto& nullmap = nullable->get_null_map_data();
57
0
            if (nullable->has_null()) {
58
0
                _update_batch(col, nullmap, start);
59
0
                _contain_null = true;
60
0
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
1
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
1
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
1
    void insert_fixed_len(const vectorized::ColumnPtr& column, size_t start) override {
53
1
        if (column->is_nullable()) {
54
0
            const auto* nullable = assert_cast<const vectorized::ColumnNullable*>(column.get());
55
0
            const auto& col = nullable->get_nested_column_ptr();
56
0
            const auto& nullmap = nullable->get_null_map_data();
57
0
            if (nullable->has_null()) {
58
0
                _update_batch(col, nullmap, start);
59
0
                _contain_null = true;
60
0
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
1
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
1
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
1
    void insert_fixed_len(const vectorized::ColumnPtr& column, size_t start) override {
53
1
        if (column->is_nullable()) {
54
0
            const auto* nullable = assert_cast<const vectorized::ColumnNullable*>(column.get());
55
0
            const auto& col = nullable->get_nested_column_ptr();
56
0
            const auto& nullmap = nullable->get_null_map_data();
57
0
            if (nullable->has_null()) {
58
0
                _update_batch(col, nullmap, start);
59
0
                _contain_null = true;
60
0
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
1
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
1
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
10
    void insert_fixed_len(const vectorized::ColumnPtr& column, size_t start) override {
53
10
        if (column->is_nullable()) {
54
2
            const auto* nullable = assert_cast<const vectorized::ColumnNullable*>(column.get());
55
2
            const auto& col = nullable->get_nested_column_ptr();
56
2
            const auto& nullmap = nullable->get_null_map_data();
57
2
            if (nullable->has_null()) {
58
1
                _update_batch(col, nullmap, start);
59
1
                _contain_null = true;
60
1
            } else {
61
1
                _update_batch(col, start);
62
1
            }
63
8
        } else {
64
8
            _update_batch(column, start);
65
8
        }
66
10
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
1
    void insert_fixed_len(const vectorized::ColumnPtr& column, size_t start) override {
53
1
        if (column->is_nullable()) {
54
0
            const auto* nullable = assert_cast<const vectorized::ColumnNullable*>(column.get());
55
0
            const auto& col = nullable->get_nested_column_ptr();
56
0
            const auto& nullmap = nullable->get_null_map_data();
57
0
            if (nullable->has_null()) {
58
0
                _update_batch(col, nullmap, start);
59
0
                _contain_null = true;
60
0
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
1
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
1
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
1
    void insert_fixed_len(const vectorized::ColumnPtr& column, size_t start) override {
53
1
        if (column->is_nullable()) {
54
0
            const auto* nullable = assert_cast<const vectorized::ColumnNullable*>(column.get());
55
0
            const auto& col = nullable->get_nested_column_ptr();
56
0
            const auto& nullmap = nullable->get_null_map_data();
57
0
            if (nullable->has_null()) {
58
0
                _update_batch(col, nullmap, start);
59
0
                _contain_null = true;
60
0
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
1
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
1
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
1
    void insert_fixed_len(const vectorized::ColumnPtr& column, size_t start) override {
53
1
        if (column->is_nullable()) {
54
0
            const auto* nullable = assert_cast<const vectorized::ColumnNullable*>(column.get());
55
0
            const auto& col = nullable->get_nested_column_ptr();
56
0
            const auto& nullmap = nullable->get_null_map_data();
57
0
            if (nullable->has_null()) {
58
0
                _update_batch(col, nullmap, start);
59
0
                _contain_null = true;
60
0
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
1
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
1
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
1
    void insert_fixed_len(const vectorized::ColumnPtr& column, size_t start) override {
53
1
        if (column->is_nullable()) {
54
0
            const auto* nullable = assert_cast<const vectorized::ColumnNullable*>(column.get());
55
0
            const auto& col = nullable->get_nested_column_ptr();
56
0
            const auto& nullmap = nullable->get_null_map_data();
57
0
            if (nullable->has_null()) {
58
0
                _update_batch(col, nullmap, start);
59
0
                _contain_null = true;
60
0
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
1
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
1
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
52
2
    void insert_fixed_len(const vectorized::ColumnPtr& column, size_t start) override {
53
2
        if (column->is_nullable()) {
54
0
            const auto* nullable = assert_cast<const vectorized::ColumnNullable*>(column.get());
55
0
            const auto& col = nullable->get_nested_column_ptr();
56
0
            const auto& nullmap = nullable->get_null_map_data();
57
0
            if (nullable->has_null()) {
58
0
                _update_batch(col, nullmap, start);
59
0
                _contain_null = true;
60
0
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
2
        } else {
64
2
            _update_batch(column, start);
65
2
        }
66
2
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS7_EEm
Line
Count
Source
52
1
    void insert_fixed_len(const vectorized::ColumnPtr& column, size_t start) override {
53
1
        if (column->is_nullable()) {
54
0
            const auto* nullable = assert_cast<const vectorized::ColumnNullable*>(column.get());
55
0
            const auto& col = nullable->get_nested_column_ptr();
56
0
            const auto& nullmap = nullable->get_null_map_data();
57
0
            if (nullable->has_null()) {
58
0
                _update_batch(col, nullmap, start);
59
0
                _contain_null = true;
60
0
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
1
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
1
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS7_EEm
Line
Count
Source
52
1
    void insert_fixed_len(const vectorized::ColumnPtr& column, size_t start) override {
53
1
        if (column->is_nullable()) {
54
0
            const auto* nullable = assert_cast<const vectorized::ColumnNullable*>(column.get());
55
0
            const auto& col = nullable->get_nested_column_ptr();
56
0
            const auto& nullmap = nullable->get_null_map_data();
57
0
            if (nullable->has_null()) {
58
0
                _update_batch(col, nullmap, start);
59
0
                _contain_null = true;
60
0
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
1
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
1
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrISA_EEm
Line
Count
Source
52
5
    void insert_fixed_len(const vectorized::ColumnPtr& column, size_t start) override {
53
5
        if (column->is_nullable()) {
54
3
            const auto* nullable = assert_cast<const vectorized::ColumnNullable*>(column.get());
55
3
            const auto& col = nullable->get_nested_column_ptr();
56
3
            const auto& nullmap = nullable->get_null_map_data();
57
3
            if (nullable->has_null()) {
58
2
                _update_batch(col, nullmap, start);
59
2
                _contain_null = true;
60
2
            } else {
61
1
                _update_batch(col, start);
62
1
            }
63
3
        } else {
64
2
            _update_batch(column, start);
65
2
        }
66
5
    }
_ZN5doris13MinMaxNumFuncINS_10vectorized7DecimalIiEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS1_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
52
1
    void insert_fixed_len(const vectorized::ColumnPtr& column, size_t start) override {
53
1
        if (column->is_nullable()) {
54
0
            const auto* nullable = assert_cast<const vectorized::ColumnNullable*>(column.get());
55
0
            const auto& col = nullable->get_nested_column_ptr();
56
0
            const auto& nullmap = nullable->get_null_map_data();
57
0
            if (nullable->has_null()) {
58
0
                _update_batch(col, nullmap, start);
59
0
                _contain_null = true;
60
0
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
1
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
1
    }
_ZN5doris13MinMaxNumFuncINS_10vectorized7DecimalIlEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS1_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
52
1
    void insert_fixed_len(const vectorized::ColumnPtr& column, size_t start) override {
53
1
        if (column->is_nullable()) {
54
0
            const auto* nullable = assert_cast<const vectorized::ColumnNullable*>(column.get());
55
0
            const auto& col = nullable->get_nested_column_ptr();
56
0
            const auto& nullmap = nullable->get_null_map_data();
57
0
            if (nullable->has_null()) {
58
0
                _update_batch(col, nullmap, start);
59
0
                _contain_null = true;
60
0
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
1
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
1
    }
_ZN5doris13MinMaxNumFuncINS_10vectorized12Decimal128V3ELb1ELb1EE16insert_fixed_lenERKNS_3COWINS1_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
52
1
    void insert_fixed_len(const vectorized::ColumnPtr& column, size_t start) override {
53
1
        if (column->is_nullable()) {
54
0
            const auto* nullable = assert_cast<const vectorized::ColumnNullable*>(column.get());
55
0
            const auto& col = nullable->get_nested_column_ptr();
56
0
            const auto& nullmap = nullable->get_null_map_data();
57
0
            if (nullable->has_null()) {
58
0
                _update_batch(col, nullmap, start);
59
0
                _contain_null = true;
60
0
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
1
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
1
    }
_ZN5doris13MinMaxNumFuncINS_10vectorized7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE16insert_fixed_lenERKNS_3COWINS1_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
52
1
    void insert_fixed_len(const vectorized::ColumnPtr& column, size_t start) override {
53
1
        if (column->is_nullable()) {
54
0
            const auto* nullable = assert_cast<const vectorized::ColumnNullable*>(column.get());
55
0
            const auto& col = nullable->get_nested_column_ptr();
56
0
            const auto& nullmap = nullable->get_null_map_data();
57
0
            if (nullable->has_null()) {
58
0
                _update_batch(col, nullmap, start);
59
0
                _contain_null = true;
60
0
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
1
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
1
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
1
    void insert_fixed_len(const vectorized::ColumnPtr& column, size_t start) override {
53
1
        if (column->is_nullable()) {
54
0
            const auto* nullable = assert_cast<const vectorized::ColumnNullable*>(column.get());
55
0
            const auto& col = nullable->get_nested_column_ptr();
56
0
            const auto& nullmap = nullable->get_null_map_data();
57
0
            if (nullable->has_null()) {
58
0
                _update_batch(col, nullmap, start);
59
0
                _contain_null = true;
60
0
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
1
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
1
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE16insert_fixed_lenERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
52
1
    void insert_fixed_len(const vectorized::ColumnPtr& column, size_t start) override {
53
1
        if (column->is_nullable()) {
54
0
            const auto* nullable = assert_cast<const vectorized::ColumnNullable*>(column.get());
55
0
            const auto& col = nullable->get_nested_column_ptr();
56
0
            const auto& nullmap = nullable->get_null_map_data();
57
0
            if (nullable->has_null()) {
58
0
                _update_batch(col, nullmap, start);
59
0
                _contain_null = true;
60
0
            } else {
61
0
                _update_batch(col, start);
62
0
            }
63
1
        } else {
64
1
            _update_batch(column, start);
65
1
        }
66
1
    }
67
68
3
    Status merge(MinMaxFuncBase* minmax_func) override {
69
3
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
3
        if constexpr (NeedMin) {
71
3
            if constexpr (IsStringValue) {
72
3
                if (other_minmax->_min < _min || !_min_value_set) {
73
0
                    _min = other_minmax->_min;
74
0
                    _min_value_set = true;
75
0
                }
76
3
            } else if (other_minmax->_min < _min) {
77
3
                _min = other_minmax->_min;
78
3
            }
79
3
        }
80
3
        if constexpr (NeedMax) {
81
3
            if (other_minmax->_max > _max) {
82
3
                _max = other_minmax->_max;
83
3
            }
84
3
        }
85
86
3
        _contain_null |= minmax_func->contain_null();
87
3
        return Status::OK();
88
3
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIbLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIaLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIsLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Line
Count
Source
68
3
    Status merge(MinMaxFuncBase* minmax_func) override {
69
3
        auto* other_minmax = static_cast<MinMaxNumFunc<T>*>(minmax_func);
70
3
        if constexpr (NeedMin) {
71
3
            if constexpr (IsStringValue) {
72
3
                if (other_minmax->_min < _min || !_min_value_set) {
73
3
                    _min = other_minmax->_min;
74
3
                    _min_value_set = true;
75
3
                }
76
3
            } else if (other_minmax->_min < _min) {
77
3
                _min = other_minmax->_min;
78
3
            }
79
3
        }
80
3
        if constexpr (NeedMax) {
81
3
            if (other_minmax->_max > _max) {
82
3
                _max = other_minmax->_max;
83
3
            }
84
3
        }
85
86
3
        _contain_null |= minmax_func->contain_null();
87
3
        return Status::OK();
88
3
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIlLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncInLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIdLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_10vectorized7DecimalIiEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_10vectorized7DecimalIlEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_10vectorized12Decimal128V3ELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_10vectorized7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIoLb1ELb1EE5mergeEPNS_14MinMaxFuncBaseE
89
90
63
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIbLb1ELb1EE7get_maxEv
Line
Count
Source
90
1
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_maxEv
Line
Count
Source
90
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_maxEv
Line
Count
Source
90
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_maxEv
Line
Count
Source
90
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_maxEv
Line
Count
Source
90
20
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_maxEv
Line
Count
Source
90
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_maxEv
Line
Count
Source
90
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE7get_maxEv
Line
Count
Source
90
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7get_maxEv
Line
Count
Source
90
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_maxEv
Line
Count
Source
90
4
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
8
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_10vectorized7DecimalIiEELb1ELb1EE7get_maxEv
Line
Count
Source
90
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_10vectorized7DecimalIlEELb1ELb1EE7get_maxEv
Line
Count
Source
90
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_10vectorized12Decimal128V3ELb1ELb1EE7get_maxEv
Line
Count
Source
90
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncINS_10vectorized7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_maxEv
Line
Count
Source
90
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_maxEv
Line
Count
Source
90
2
    void* get_max() override { return &_max; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_maxEv
Line
Count
Source
90
2
    void* get_max() override { return &_max; }
91
92
63
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIbLb1ELb1EE7get_minEv
Line
Count
Source
92
1
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7get_minEv
Line
Count
Source
92
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE7get_minEv
Line
Count
Source
92
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE7get_minEv
Line
Count
Source
92
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7get_minEv
Line
Count
Source
92
20
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE7get_minEv
Line
Count
Source
92
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE7get_minEv
Line
Count
Source
92
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE7get_minEv
Line
Count
Source
92
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE7get_minEv
Line
Count
Source
92
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7get_minEv
Line
Count
Source
92
4
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
92
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7get_minEv
Line
Count
Source
92
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7get_minEv
Line
Count
Source
92
8
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_10vectorized7DecimalIiEELb1ELb1EE7get_minEv
Line
Count
Source
92
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_10vectorized7DecimalIlEELb1ELb1EE7get_minEv
Line
Count
Source
92
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_10vectorized12Decimal128V3ELb1ELb1EE7get_minEv
Line
Count
Source
92
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncINS_10vectorized7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7get_minEv
Line
Count
Source
92
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE7get_minEv
Line
Count
Source
92
2
    void* get_min() override { return &_min; }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE7get_minEv
Line
Count
Source
92
2
    void* get_min() override { return &_min; }
93
94
28
    Status assign(void* min_data, void* max_data) override {
95
28
        if constexpr (IsStringValue) {
96
3
            _min_value_set = true;
97
3
        }
98
28
        _min = *(T*)min_data;
99
28
        _max = *(T*)max_data;
100
28
        return Status::OK();
101
28
    }
_ZN5doris13MinMaxNumFuncIbLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
1
        if constexpr (IsStringValue) {
96
1
            _min_value_set = true;
97
1
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE6assignEPvS3_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
1
        if constexpr (IsStringValue) {
96
1
            _min_value_set = true;
97
1
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
1
        if constexpr (IsStringValue) {
96
1
            _min_value_set = true;
97
1
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
1
        if constexpr (IsStringValue) {
96
1
            _min_value_set = true;
97
1
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
7
    Status assign(void* min_data, void* max_data) override {
95
7
        if constexpr (IsStringValue) {
96
7
            _min_value_set = true;
97
7
        }
98
7
        _min = *(T*)min_data;
99
7
        _max = *(T*)max_data;
100
7
        return Status::OK();
101
7
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
1
        if constexpr (IsStringValue) {
96
1
            _min_value_set = true;
97
1
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
1
        if constexpr (IsStringValue) {
96
1
            _min_value_set = true;
97
1
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
1
        if constexpr (IsStringValue) {
96
1
            _min_value_set = true;
97
1
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
1
        if constexpr (IsStringValue) {
96
1
            _min_value_set = true;
97
1
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE6assignEPvS3_
Line
Count
Source
94
2
    Status assign(void* min_data, void* max_data) override {
95
2
        if constexpr (IsStringValue) {
96
2
            _min_value_set = true;
97
2
        }
98
2
        _min = *(T*)min_data;
99
2
        _max = *(T*)max_data;
100
2
        return Status::OK();
101
2
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
1
        if constexpr (IsStringValue) {
96
1
            _min_value_set = true;
97
1
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE6assignEPvS5_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
1
        if constexpr (IsStringValue) {
96
1
            _min_value_set = true;
97
1
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE6assignEPvS8_
Line
Count
Source
94
3
    Status assign(void* min_data, void* max_data) override {
95
3
        if constexpr (IsStringValue) {
96
3
            _min_value_set = true;
97
3
        }
98
3
        _min = *(T*)min_data;
99
3
        _max = *(T*)max_data;
100
3
        return Status::OK();
101
3
    }
_ZN5doris13MinMaxNumFuncINS_10vectorized7DecimalIiEELb1ELb1EE6assignEPvS5_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
1
        if constexpr (IsStringValue) {
96
1
            _min_value_set = true;
97
1
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncINS_10vectorized7DecimalIlEELb1ELb1EE6assignEPvS5_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
1
        if constexpr (IsStringValue) {
96
1
            _min_value_set = true;
97
1
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncINS_10vectorized12Decimal128V3ELb1ELb1EE6assignEPvS4_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
1
        if constexpr (IsStringValue) {
96
1
            _min_value_set = true;
97
1
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncINS_10vectorized7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE6assignEPvS8_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
1
        if constexpr (IsStringValue) {
96
1
            _min_value_set = true;
97
1
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
1
        if constexpr (IsStringValue) {
96
1
            _min_value_set = true;
97
1
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE6assignEPvS2_
Line
Count
Source
94
1
    Status assign(void* min_data, void* max_data) override {
95
1
        if constexpr (IsStringValue) {
96
1
            _min_value_set = true;
97
1
        }
98
1
        _min = *(T*)min_data;
99
1
        _max = *(T*)max_data;
100
1
        return Status::OK();
101
1
    }
102
103
6
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIbLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIaLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIsLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Line
Count
Source
103
6
    void to_pb(PMinMaxFilter* filter) override { _set_pb(filter, get_convertor<T>()); }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIlLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncInLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIdLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_10vectorized7DecimalIiEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_10vectorized7DecimalIlEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_10vectorized12Decimal128V3ELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_10vectorized7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIoLb1ELb1EE5to_pbEPNS_13PMinMaxFilterE
104
105
private:
106
6
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
6
        if constexpr (NeedMin) {
108
6
            f(filter->mutable_min_val(), _min);
109
6
        }
110
6
        if constexpr (NeedMax) {
111
6
            f(filter->mutable_max_val(), _max);
112
6
        }
113
6
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIbLb1ELb1EE7_set_pbIZNS_13get_convertorIbEEDavEUlPNS_12PColumnValueERKbE_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIaLb1ELb1EE7_set_pbIZNS_13get_convertorIaEEDavEUlPNS_12PColumnValueERKaE_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIsLb1ELb1EE7_set_pbIZNS_13get_convertorIsEEDavEUlPNS_12PColumnValueERKsE_EEvPNS_13PMinMaxFilterET_
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE7_set_pbIZNS_13get_convertorIiEEDavEUlPNS_12PColumnValueERKiE_EEvPNS_13PMinMaxFilterET_
Line
Count
Source
106
6
    void _set_pb(PMinMaxFilter* filter, auto f) {
107
6
        if constexpr (NeedMin) {
108
6
            f(filter->mutable_min_val(), _min);
109
6
        }
110
6
        if constexpr (NeedMax) {
111
6
            f(filter->mutable_max_val(), _max);
112
6
        }
113
6
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIlLb1ELb1EE7_set_pbIZNS_13get_convertorIlEEDavEUlPNS_12PColumnValueERKlE_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncInLb1ELb1EE7_set_pbIZNS_13get_convertorInEEDavEUlPNS_12PColumnValueERKnE_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE7_set_pbIZNS_13get_convertorIfEEDavEUlPNS_12PColumnValueERKfE_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIdLb1ELb1EE7_set_pbIZNS_13get_convertorIdEEDavEUlPNS_12PColumnValueERKdE_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE7_set_pbIZNS_13get_convertorIS1_EEDavEUlPNS_12PColumnValueERKS1_E_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_E_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_E_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS6_EEDavEUlPNS_12PColumnValueERKS6_E_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_10vectorized7DecimalIiEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_E_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_10vectorized7DecimalIlEELb1ELb1EE7_set_pbIZNS_13get_convertorIS3_EEDavEUlPNS_12PColumnValueERKS3_E_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_10vectorized12Decimal128V3ELb1ELb1EE7_set_pbIZNS_13get_convertorIS2_EEDavEUlPNS_12PColumnValueERKS2_E_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_10vectorized7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE7_set_pbIZNS_13get_convertorIS6_EEDavEUlPNS_12PColumnValueERKS6_E_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE7_set_pbIZNS_13get_convertorIjEEDavEUlPNS_12PColumnValueERKjE_EEvPNS_13PMinMaxFilterET_
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIoLb1ELb1EE7_set_pbIZNS_13get_convertorIoEEDavEUlPNS_12PColumnValueERKoE_EEvPNS_13PMinMaxFilterET_
114
115
    void _update_batch_string(const auto& column_string, const uint8_t* __restrict nullmap,
116
5
                              size_t start, size_t size) {
117
45
        for (size_t i = start; i < size; i++) {
118
40
            if (nullmap == nullptr || !nullmap[i]) {
119
34
                if constexpr (NeedMin) {
120
34
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
121
2
                        _min = column_string.get_data_at(i).to_string();
122
2
                        _min_value_set = true;
123
2
                    }
124
34
                }
125
34
                if constexpr (NeedMax) {
126
34
                    if (column_string.get_data_at(i) > StringRef(_max)) {
127
16
                        _max = column_string.get_data_at(i).to_string();
128
16
                    }
129
34
                }
130
34
            }
131
40
        }
132
5
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE20_update_batch_stringINS_10vectorized9ColumnStrImEEEEvRKT_PKhmm
Line
Count
Source
116
1
                              size_t start, size_t size) {
117
9
        for (size_t i = start; i < size; i++) {
118
8
            if (nullmap == nullptr || !nullmap[i]) {
119
8
                if constexpr (NeedMin) {
120
8
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
121
1
                        _min = column_string.get_data_at(i).to_string();
122
1
                        _min_value_set = true;
123
1
                    }
124
8
                }
125
8
                if constexpr (NeedMax) {
126
8
                    if (column_string.get_data_at(i) > StringRef(_max)) {
127
8
                        _max = column_string.get_data_at(i).to_string();
128
8
                    }
129
8
                }
130
8
            }
131
8
        }
132
1
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE20_update_batch_stringINS_10vectorized9ColumnStrIjEEEEvRKT_PKhmm
Line
Count
Source
116
4
                              size_t start, size_t size) {
117
36
        for (size_t i = start; i < size; i++) {
118
32
            if (nullmap == nullptr || !nullmap[i]) {
119
26
                if constexpr (NeedMin) {
120
26
                    if (column_string.get_data_at(i) < StringRef(_min) || !_min_value_set) {
121
1
                        _min = column_string.get_data_at(i).to_string();
122
1
                        _min_value_set = true;
123
1
                    }
124
26
                }
125
26
                if constexpr (NeedMax) {
126
26
                    if (column_string.get_data_at(i) > StringRef(_max)) {
127
8
                        _max = column_string.get_data_at(i).to_string();
128
8
                    }
129
26
                }
130
26
            }
131
32
        }
132
4
    }
133
134
29
    void _update_batch(const vectorized::ColumnPtr& column, size_t start) {
135
29
        const auto size = column->size();
136
29
        if constexpr (std::is_same_v<T, std::string>) {
137
26
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const vectorized::ColumnString64&>(*column),
139
1
                                     nullptr, start, size);
140
2
            } else {
141
2
                _update_batch_string(assert_cast<const vectorized::ColumnString&>(*column), nullptr,
142
2
                                     start, size);
143
2
            }
144
26
        } else {
145
26
            const T* data = (T*)column->get_raw_data().data;
146
132
            for (size_t i = start; i < size; i++) {
147
106
                if constexpr (NeedMin) {
148
106
                    _min = std::min(_min, *(data + i));
149
106
                }
150
106
                if constexpr (NeedMax) {
151
106
                    _max = std::max(_max, *(data + i));
152
106
                }
153
106
            }
154
26
        }
155
29
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIbLb1ELb1EE13_update_batchERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS4_EEm
_ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE13_update_batchERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
134
1
    void _update_batch(const vectorized::ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
1
        if constexpr (std::is_same_v<T, std::string>) {
137
1
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const vectorized::ColumnString64&>(*column),
139
1
                                     nullptr, start, size);
140
1
            } else {
141
1
                _update_batch_string(assert_cast<const vectorized::ColumnString&>(*column), nullptr,
142
1
                                     start, size);
143
1
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncIaLb1ELb1EE13_update_batchERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
134
1
    void _update_batch(const vectorized::ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
1
        if constexpr (std::is_same_v<T, std::string>) {
137
1
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const vectorized::ColumnString64&>(*column),
139
1
                                     nullptr, start, size);
140
1
            } else {
141
1
                _update_batch_string(assert_cast<const vectorized::ColumnString&>(*column), nullptr,
142
1
                                     start, size);
143
1
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
134
1
    void _update_batch(const vectorized::ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
1
        if constexpr (std::is_same_v<T, std::string>) {
137
1
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const vectorized::ColumnString64&>(*column),
139
1
                                     nullptr, start, size);
140
1
            } else {
141
1
                _update_batch_string(assert_cast<const vectorized::ColumnString&>(*column), nullptr,
142
1
                                     start, size);
143
1
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
134
9
    void _update_batch(const vectorized::ColumnPtr& column, size_t start) {
135
9
        const auto size = column->size();
136
9
        if constexpr (std::is_same_v<T, std::string>) {
137
9
            if (column->is_column_string64()) {
138
9
                _update_batch_string(assert_cast<const vectorized::ColumnString64&>(*column),
139
9
                                     nullptr, start, size);
140
9
            } else {
141
9
                _update_batch_string(assert_cast<const vectorized::ColumnString&>(*column), nullptr,
142
9
                                     start, size);
143
9
            }
144
9
        } else {
145
9
            const T* data = (T*)column->get_raw_data().data;
146
64
            for (size_t i = start; i < size; i++) {
147
55
                if constexpr (NeedMin) {
148
55
                    _min = std::min(_min, *(data + i));
149
55
                }
150
55
                if constexpr (NeedMax) {
151
55
                    _max = std::max(_max, *(data + i));
152
55
                }
153
55
            }
154
9
        }
155
9
    }
_ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
134
1
    void _update_batch(const vectorized::ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
1
        if constexpr (std::is_same_v<T, std::string>) {
137
1
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const vectorized::ColumnString64&>(*column),
139
1
                                     nullptr, start, size);
140
1
            } else {
141
1
                _update_batch_string(assert_cast<const vectorized::ColumnString&>(*column), nullptr,
142
1
                                     start, size);
143
1
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
134
1
    void _update_batch(const vectorized::ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
1
        if constexpr (std::is_same_v<T, std::string>) {
137
1
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const vectorized::ColumnString64&>(*column),
139
1
                                     nullptr, start, size);
140
1
            } else {
141
1
                _update_batch_string(assert_cast<const vectorized::ColumnString&>(*column), nullptr,
142
1
                                     start, size);
143
1
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncIfLb1ELb1EE13_update_batchERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
134
1
    void _update_batch(const vectorized::ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
1
        if constexpr (std::is_same_v<T, std::string>) {
137
1
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const vectorized::ColumnString64&>(*column),
139
1
                                     nullptr, start, size);
140
1
            } else {
141
1
                _update_batch_string(assert_cast<const vectorized::ColumnString&>(*column), nullptr,
142
1
                                     start, size);
143
1
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncIdLb1ELb1EE13_update_batchERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
134
1
    void _update_batch(const vectorized::ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
1
        if constexpr (std::is_same_v<T, std::string>) {
137
1
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const vectorized::ColumnString64&>(*column),
139
1
                                     nullptr, start, size);
140
1
            } else {
141
1
                _update_batch_string(assert_cast<const vectorized::ColumnString&>(*column), nullptr,
142
1
                                     start, size);
143
1
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE13_update_batchERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
134
2
    void _update_batch(const vectorized::ColumnPtr& column, size_t start) {
135
2
        const auto size = column->size();
136
2
        if constexpr (std::is_same_v<T, std::string>) {
137
2
            if (column->is_column_string64()) {
138
2
                _update_batch_string(assert_cast<const vectorized::ColumnString64&>(*column),
139
2
                                     nullptr, start, size);
140
2
            } else {
141
2
                _update_batch_string(assert_cast<const vectorized::ColumnString&>(*column), nullptr,
142
2
                                     start, size);
143
2
            }
144
2
        } else {
145
2
            const T* data = (T*)column->get_raw_data().data;
146
8
            for (size_t i = start; i < size; i++) {
147
6
                if constexpr (NeedMin) {
148
6
                    _min = std::min(_min, *(data + i));
149
6
                }
150
6
                if constexpr (NeedMax) {
151
6
                    _max = std::max(_max, *(data + i));
152
6
                }
153
6
            }
154
2
        }
155
2
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS7_EEm
Line
Count
Source
134
1
    void _update_batch(const vectorized::ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
1
        if constexpr (std::is_same_v<T, std::string>) {
137
1
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const vectorized::ColumnString64&>(*column),
139
1
                                     nullptr, start, size);
140
1
            } else {
141
1
                _update_batch_string(assert_cast<const vectorized::ColumnString&>(*column), nullptr,
142
1
                                     start, size);
143
1
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS7_EEm
Line
Count
Source
134
1
    void _update_batch(const vectorized::ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
1
        if constexpr (std::is_same_v<T, std::string>) {
137
1
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const vectorized::ColumnString64&>(*column),
139
1
                                     nullptr, start, size);
140
1
            } else {
141
1
                _update_batch_string(assert_cast<const vectorized::ColumnString&>(*column), nullptr,
142
1
                                     start, size);
143
1
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrISA_EEm
Line
Count
Source
134
3
    void _update_batch(const vectorized::ColumnPtr& column, size_t start) {
135
3
        const auto size = column->size();
136
3
        if constexpr (std::is_same_v<T, std::string>) {
137
3
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const vectorized::ColumnString64&>(*column),
139
1
                                     nullptr, start, size);
140
2
            } else {
141
2
                _update_batch_string(assert_cast<const vectorized::ColumnString&>(*column), nullptr,
142
2
                                     start, size);
143
2
            }
144
3
        } else {
145
3
            const T* data = (T*)column->get_raw_data().data;
146
3
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
3
        }
155
3
    }
_ZN5doris13MinMaxNumFuncINS_10vectorized7DecimalIiEELb1ELb1EE13_update_batchERKNS_3COWINS1_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
134
1
    void _update_batch(const vectorized::ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
1
        if constexpr (std::is_same_v<T, std::string>) {
137
1
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const vectorized::ColumnString64&>(*column),
139
1
                                     nullptr, start, size);
140
1
            } else {
141
1
                _update_batch_string(assert_cast<const vectorized::ColumnString&>(*column), nullptr,
142
1
                                     start, size);
143
1
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncINS_10vectorized7DecimalIlEELb1ELb1EE13_update_batchERKNS_3COWINS1_7IColumnEE13immutable_ptrIS6_EEm
Line
Count
Source
134
1
    void _update_batch(const vectorized::ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
1
        if constexpr (std::is_same_v<T, std::string>) {
137
1
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const vectorized::ColumnString64&>(*column),
139
1
                                     nullptr, start, size);
140
1
            } else {
141
1
                _update_batch_string(assert_cast<const vectorized::ColumnString&>(*column), nullptr,
142
1
                                     start, size);
143
1
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncINS_10vectorized12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS1_7IColumnEE13immutable_ptrIS5_EEm
Line
Count
Source
134
1
    void _update_batch(const vectorized::ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
1
        if constexpr (std::is_same_v<T, std::string>) {
137
1
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const vectorized::ColumnString64&>(*column),
139
1
                                     nullptr, start, size);
140
1
            } else {
141
1
                _update_batch_string(assert_cast<const vectorized::ColumnString&>(*column), nullptr,
142
1
                                     start, size);
143
1
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncINS_10vectorized7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS1_7IColumnEE13immutable_ptrIS9_EEm
Line
Count
Source
134
1
    void _update_batch(const vectorized::ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
1
        if constexpr (std::is_same_v<T, std::string>) {
137
1
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const vectorized::ColumnString64&>(*column),
139
1
                                     nullptr, start, size);
140
1
            } else {
141
1
                _update_batch_string(assert_cast<const vectorized::ColumnString&>(*column), nullptr,
142
1
                                     start, size);
143
1
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncIjLb1ELb1EE13_update_batchERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
134
1
    void _update_batch(const vectorized::ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
1
        if constexpr (std::is_same_v<T, std::string>) {
137
1
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const vectorized::ColumnString64&>(*column),
139
1
                                     nullptr, start, size);
140
1
            } else {
141
1
                _update_batch_string(assert_cast<const vectorized::ColumnString&>(*column), nullptr,
142
1
                                     start, size);
143
1
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
_ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_update_batchERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS4_EEm
Line
Count
Source
134
1
    void _update_batch(const vectorized::ColumnPtr& column, size_t start) {
135
1
        const auto size = column->size();
136
1
        if constexpr (std::is_same_v<T, std::string>) {
137
1
            if (column->is_column_string64()) {
138
1
                _update_batch_string(assert_cast<const vectorized::ColumnString64&>(*column),
139
1
                                     nullptr, start, size);
140
1
            } else {
141
1
                _update_batch_string(assert_cast<const vectorized::ColumnString&>(*column), nullptr,
142
1
                                     start, size);
143
1
            }
144
1
        } else {
145
1
            const T* data = (T*)column->get_raw_data().data;
146
4
            for (size_t i = start; i < size; i++) {
147
3
                if constexpr (NeedMin) {
148
3
                    _min = std::min(_min, *(data + i));
149
3
                }
150
3
                if constexpr (NeedMax) {
151
3
                    _max = std::max(_max, *(data + i));
152
3
                }
153
3
            }
154
1
        }
155
1
    }
156
157
    void _update_batch(const vectorized::ColumnPtr& column, const vectorized::NullMap& nullmap,
158
3
                       size_t start) {
159
3
        const auto size = column->size();
160
3
        if constexpr (std::is_same_v<T, std::string>) {
161
2
            if (column->is_column_string64()) {
162
0
                _update_batch_string(assert_cast<const vectorized::ColumnString64&>(*column),
163
0
                                     nullmap.data(), start, size);
164
2
            } else {
165
2
                _update_batch_string(assert_cast<const vectorized::ColumnString&>(*column),
166
2
                                     nullmap.data(), start, size);
167
2
            }
168
2
        } else {
169
1
            const T* data = (T*)column->get_raw_data().data;
170
9
            for (size_t i = start; i < size; i++) {
171
8
                if (!nullmap[i]) {
172
5
                    if constexpr (NeedMin) {
173
5
                        _min = std::min(_min, *(data + i));
174
5
                    }
175
5
                    if constexpr (NeedMax) {
176
5
                        _max = std::max(_max, *(data + i));
177
5
                    }
178
5
                }
179
8
            }
180
1
        }
181
3
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIbLb1ELb1EE13_update_batchERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS4_EERKNS3_8PODArrayIhLm4096E9AllocatorILb0ELb0ELb0E22DefaultMemoryAllocatorELm16ELm15EEEm
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_14DecimalV2ValueELb1ELb1EE13_update_batchERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS5_EERKNS4_8PODArrayIhLm4096E9AllocatorILb0ELb0ELb0E22DefaultMemoryAllocatorELm16ELm15EEEm
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIaLb1ELb1EE13_update_batchERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS4_EERKNS3_8PODArrayIhLm4096E9AllocatorILb0ELb0ELb0E22DefaultMemoryAllocatorELm16ELm15EEEm
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIsLb1ELb1EE13_update_batchERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS4_EERKNS3_8PODArrayIhLm4096E9AllocatorILb0ELb0ELb0E22DefaultMemoryAllocatorELm16ELm15EEEm
_ZN5doris13MinMaxNumFuncIiLb1ELb1EE13_update_batchERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS4_EERKNS3_8PODArrayIhLm4096E9AllocatorILb0ELb0ELb0E22DefaultMemoryAllocatorELm16ELm15EEEm
Line
Count
Source
158
1
                       size_t start) {
159
1
        const auto size = column->size();
160
1
        if constexpr (std::is_same_v<T, std::string>) {
161
1
            if (column->is_column_string64()) {
162
1
                _update_batch_string(assert_cast<const vectorized::ColumnString64&>(*column),
163
1
                                     nullmap.data(), start, size);
164
1
            } else {
165
1
                _update_batch_string(assert_cast<const vectorized::ColumnString&>(*column),
166
1
                                     nullmap.data(), start, size);
167
1
            }
168
1
        } else {
169
1
            const T* data = (T*)column->get_raw_data().data;
170
9
            for (size_t i = start; i < size; i++) {
171
8
                if (!nullmap[i]) {
172
5
                    if constexpr (NeedMin) {
173
5
                        _min = std::min(_min, *(data + i));
174
5
                    }
175
5
                    if constexpr (NeedMax) {
176
5
                        _max = std::max(_max, *(data + i));
177
5
                    }
178
5
                }
179
8
            }
180
1
        }
181
1
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIlLb1ELb1EE13_update_batchERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS4_EERKNS3_8PODArrayIhLm4096E9AllocatorILb0ELb0ELb0E22DefaultMemoryAllocatorELm16ELm15EEEm
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncInLb1ELb1EE13_update_batchERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS4_EERKNS3_8PODArrayIhLm4096E9AllocatorILb0ELb0ELb0E22DefaultMemoryAllocatorELm16ELm15EEEm
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIfLb1ELb1EE13_update_batchERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS4_EERKNS3_8PODArrayIhLm4096E9AllocatorILb0ELb0ELb0E22DefaultMemoryAllocatorELm16ELm15EEEm
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIdLb1ELb1EE13_update_batchERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS4_EERKNS3_8PODArrayIhLm4096E9AllocatorILb0ELb0ELb0E22DefaultMemoryAllocatorELm16ELm15EEEm
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_16VecDateTimeValueELb1ELb1EE13_update_batchERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS5_EERKNS4_8PODArrayIhLm4096E9AllocatorILb0ELb0ELb0E22DefaultMemoryAllocatorELm16ELm15EEEm
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_15DateV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS7_EERKNS6_8PODArrayIhLm4096E9AllocatorILb0ELb0ELb0E22DefaultMemoryAllocatorELm16ELm15EEEm
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_11DateV2ValueINS_19DateTimeV2ValueTypeEEELb1ELb1EE13_update_batchERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS7_EERKNS6_8PODArrayIhLm4096E9AllocatorILb0ELb0ELb0E22DefaultMemoryAllocatorELm16ELm15EEEm
_ZN5doris13MinMaxNumFuncINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1ELb1EE13_update_batchERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrISA_EERKNS9_8PODArrayIhLm4096E9AllocatorILb0ELb0ELb0E22DefaultMemoryAllocatorELm16ELm15EEEm
Line
Count
Source
158
2
                       size_t start) {
159
2
        const auto size = column->size();
160
2
        if constexpr (std::is_same_v<T, std::string>) {
161
2
            if (column->is_column_string64()) {
162
0
                _update_batch_string(assert_cast<const vectorized::ColumnString64&>(*column),
163
0
                                     nullmap.data(), start, size);
164
2
            } else {
165
2
                _update_batch_string(assert_cast<const vectorized::ColumnString&>(*column),
166
2
                                     nullmap.data(), start, size);
167
2
            }
168
2
        } else {
169
2
            const T* data = (T*)column->get_raw_data().data;
170
2
            for (size_t i = start; i < size; i++) {
171
2
                if (!nullmap[i]) {
172
2
                    if constexpr (NeedMin) {
173
2
                        _min = std::min(_min, *(data + i));
174
2
                    }
175
2
                    if constexpr (NeedMax) {
176
2
                        _max = std::max(_max, *(data + i));
177
2
                    }
178
2
                }
179
2
            }
180
2
        }
181
2
    }
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_10vectorized7DecimalIiEELb1ELb1EE13_update_batchERKNS_3COWINS1_7IColumnEE13immutable_ptrIS6_EERKNS1_8PODArrayIhLm4096E9AllocatorILb0ELb0ELb0E22DefaultMemoryAllocatorELm16ELm15EEEm
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_10vectorized7DecimalIlEELb1ELb1EE13_update_batchERKNS_3COWINS1_7IColumnEE13immutable_ptrIS6_EERKNS1_8PODArrayIhLm4096E9AllocatorILb0ELb0ELb0E22DefaultMemoryAllocatorELm16ELm15EEEm
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_10vectorized12Decimal128V3ELb1ELb1EE13_update_batchERKNS_3COWINS1_7IColumnEE13immutable_ptrIS5_EERKNS1_8PODArrayIhLm4096E9AllocatorILb0ELb0ELb0E22DefaultMemoryAllocatorELm16ELm15EEEm
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncINS_10vectorized7DecimalIN4wide7integerILm256EiEEEELb1ELb1EE13_update_batchERKNS_3COWINS1_7IColumnEE13immutable_ptrIS9_EERKNS1_8PODArrayIhLm4096E9AllocatorILb0ELb0ELb0E22DefaultMemoryAllocatorELm16ELm15EEEm
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIjLb1ELb1EE13_update_batchERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS4_EERKNS3_8PODArrayIhLm4096E9AllocatorILb0ELb0ELb0E22DefaultMemoryAllocatorELm16ELm15EEEm
Unexecuted instantiation: _ZN5doris13MinMaxNumFuncIoLb1ELb1EE13_update_batchERKNS_3COWINS_10vectorized7IColumnEE13immutable_ptrIS4_EERKNS3_8PODArrayIhLm4096E9AllocatorILb0ELb0ELb0E22DefaultMemoryAllocatorELm16ELm15EEEm
182
183
    T _max = type_limit<T>::min();
184
    T _min = type_limit<T>::max();
185
186
    bool _min_value_set = false;
187
};
188
189
template <class T>
190
using MinNumFunc = MinMaxNumFunc<T, false, true>;
191
192
template <class T>
193
using MaxNumFunc = MinMaxNumFunc<T, true, false>;
194
195
} // namespace doris