Coverage Report

Created: 2026-09-22 12:25

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
be/src/exprs/aggregate/aggregate_function_bitmap_agg.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 <stddef.h>
21
22
#include <algorithm>
23
#include <boost/iterator/iterator_facade.hpp>
24
#include <memory>
25
#include <string>
26
#include <vector>
27
28
#include "core/assert_cast.h"
29
#include "core/data_type/data_type_bitmap.h"
30
#include "core/pod_array.h"
31
#include "core/value/bitmap_value.h"
32
#include "exprs/aggregate/aggregate_function.h"
33
34
namespace doris {
35
class Arena;
36
class BufferReadable;
37
class BufferWritable;
38
class IColumn;
39
} // namespace doris
40
41
namespace doris {
42
43
template <PrimitiveType T>
44
struct AggregateFunctionBitmapAggData {
45
    BitmapValue value;
46
47
1.72k
    void add(const typename PrimitiveTypeTraits<T>::CppType& value_) {
48
1.72k
        if (value_ >= 0) {
49
864
            value.add(value_);
50
864
        }
51
1.72k
    }
_ZN5doris30AggregateFunctionBitmapAggDataILNS_13PrimitiveTypeE3EE3addERKa
Line
Count
Source
47
432
    void add(const typename PrimitiveTypeTraits<T>::CppType& value_) {
48
432
        if (value_ >= 0) {
49
216
            value.add(value_);
50
216
        }
51
432
    }
_ZN5doris30AggregateFunctionBitmapAggDataILNS_13PrimitiveTypeE4EE3addERKs
Line
Count
Source
47
432
    void add(const typename PrimitiveTypeTraits<T>::CppType& value_) {
48
432
        if (value_ >= 0) {
49
216
            value.add(value_);
50
216
        }
51
432
    }
_ZN5doris30AggregateFunctionBitmapAggDataILNS_13PrimitiveTypeE5EE3addERKi
Line
Count
Source
47
432
    void add(const typename PrimitiveTypeTraits<T>::CppType& value_) {
48
432
        if (value_ >= 0) {
49
216
            value.add(value_);
50
216
        }
51
432
    }
_ZN5doris30AggregateFunctionBitmapAggDataILNS_13PrimitiveTypeE6EE3addERKl
Line
Count
Source
47
432
    void add(const typename PrimitiveTypeTraits<T>::CppType& value_) {
48
432
        if (value_ >= 0) {
49
216
            value.add(value_);
50
216
        }
51
432
    }
52
53
44
    void reset() { value.reset(); }
_ZN5doris30AggregateFunctionBitmapAggDataILNS_13PrimitiveTypeE3EE5resetEv
Line
Count
Source
53
11
    void reset() { value.reset(); }
_ZN5doris30AggregateFunctionBitmapAggDataILNS_13PrimitiveTypeE4EE5resetEv
Line
Count
Source
53
11
    void reset() { value.reset(); }
_ZN5doris30AggregateFunctionBitmapAggDataILNS_13PrimitiveTypeE5EE5resetEv
Line
Count
Source
53
11
    void reset() { value.reset(); }
_ZN5doris30AggregateFunctionBitmapAggDataILNS_13PrimitiveTypeE6EE5resetEv
Line
Count
Source
53
11
    void reset() { value.reset(); }
54
55
0
    void merge(const AggregateFunctionBitmapAggData& other) { value |= other.value; }
Unexecuted instantiation: _ZN5doris30AggregateFunctionBitmapAggDataILNS_13PrimitiveTypeE3EE5mergeERKS2_
Unexecuted instantiation: _ZN5doris30AggregateFunctionBitmapAggDataILNS_13PrimitiveTypeE4EE5mergeERKS2_
Unexecuted instantiation: _ZN5doris30AggregateFunctionBitmapAggDataILNS_13PrimitiveTypeE5EE5mergeERKS2_
Unexecuted instantiation: _ZN5doris30AggregateFunctionBitmapAggDataILNS_13PrimitiveTypeE6EE5mergeERKS2_
56
57
0
    void write(BufferWritable& buf) const { DataTypeBitMap::serialize_as_stream(value, buf); }
Unexecuted instantiation: _ZNK5doris30AggregateFunctionBitmapAggDataILNS_13PrimitiveTypeE3EE5writeERNS_14BufferWritableE
Unexecuted instantiation: _ZNK5doris30AggregateFunctionBitmapAggDataILNS_13PrimitiveTypeE4EE5writeERNS_14BufferWritableE
Unexecuted instantiation: _ZNK5doris30AggregateFunctionBitmapAggDataILNS_13PrimitiveTypeE5EE5writeERNS_14BufferWritableE
Unexecuted instantiation: _ZNK5doris30AggregateFunctionBitmapAggDataILNS_13PrimitiveTypeE6EE5writeERNS_14BufferWritableE
58
59
0
    void read(BufferReadable& buf) { DataTypeBitMap::deserialize_as_stream(value, buf); }
Unexecuted instantiation: _ZN5doris30AggregateFunctionBitmapAggDataILNS_13PrimitiveTypeE3EE4readERNS_14BufferReadableE
Unexecuted instantiation: _ZN5doris30AggregateFunctionBitmapAggDataILNS_13PrimitiveTypeE4EE4readERNS_14BufferReadableE
Unexecuted instantiation: _ZN5doris30AggregateFunctionBitmapAggDataILNS_13PrimitiveTypeE5EE4readERNS_14BufferReadableE
Unexecuted instantiation: _ZN5doris30AggregateFunctionBitmapAggDataILNS_13PrimitiveTypeE6EE4readERNS_14BufferReadableE
60
};
61
62
template <bool arg_nullable, PrimitiveType T>
63
class AggregateFunctionBitmapAgg final
64
        : public IAggregateFunctionDataHelper<AggregateFunctionBitmapAggData<T>,
65
                                              AggregateFunctionBitmapAgg<arg_nullable, T>>,
66
          UnaryExpression,
67
          NotNullableAggregateFunction {
68
public:
69
    using ColVecType = typename PrimitiveTypeTraits<T>::ColumnType;
70
    using Data = AggregateFunctionBitmapAggData<T>;
71
72
    AggregateFunctionBitmapAgg(const DataTypes& argument_types_)
73
44
            : IAggregateFunctionDataHelper<Data, AggregateFunctionBitmapAgg<arg_nullable, T>>(
74
44
                      argument_types_) {}
_ZN5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE3EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
73
6
            : IAggregateFunctionDataHelper<Data, AggregateFunctionBitmapAgg<arg_nullable, T>>(
74
6
                      argument_types_) {}
_ZN5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE4EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
73
6
            : IAggregateFunctionDataHelper<Data, AggregateFunctionBitmapAgg<arg_nullable, T>>(
74
6
                      argument_types_) {}
_ZN5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE5EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
73
6
            : IAggregateFunctionDataHelper<Data, AggregateFunctionBitmapAgg<arg_nullable, T>>(
74
6
                      argument_types_) {}
_ZN5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE6EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
73
6
            : IAggregateFunctionDataHelper<Data, AggregateFunctionBitmapAgg<arg_nullable, T>>(
74
6
                      argument_types_) {}
_ZN5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE3EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
73
5
            : IAggregateFunctionDataHelper<Data, AggregateFunctionBitmapAgg<arg_nullable, T>>(
74
5
                      argument_types_) {}
_ZN5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE4EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
73
5
            : IAggregateFunctionDataHelper<Data, AggregateFunctionBitmapAgg<arg_nullable, T>>(
74
5
                      argument_types_) {}
_ZN5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE5EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
73
5
            : IAggregateFunctionDataHelper<Data, AggregateFunctionBitmapAgg<arg_nullable, T>>(
74
5
                      argument_types_) {}
_ZN5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE6EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
73
5
            : IAggregateFunctionDataHelper<Data, AggregateFunctionBitmapAgg<arg_nullable, T>>(
74
5
                      argument_types_) {}
75
76
44
    std::string get_name() const override { return "bitmap_agg"; }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE3EE8get_nameB5cxx11Ev
Line
Count
Source
76
6
    std::string get_name() const override { return "bitmap_agg"; }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE4EE8get_nameB5cxx11Ev
Line
Count
Source
76
6
    std::string get_name() const override { return "bitmap_agg"; }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE5EE8get_nameB5cxx11Ev
Line
Count
Source
76
6
    std::string get_name() const override { return "bitmap_agg"; }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE6EE8get_nameB5cxx11Ev
Line
Count
Source
76
6
    std::string get_name() const override { return "bitmap_agg"; }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE3EE8get_nameB5cxx11Ev
Line
Count
Source
76
5
    std::string get_name() const override { return "bitmap_agg"; }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE4EE8get_nameB5cxx11Ev
Line
Count
Source
76
5
    std::string get_name() const override { return "bitmap_agg"; }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE5EE8get_nameB5cxx11Ev
Line
Count
Source
76
5
    std::string get_name() const override { return "bitmap_agg"; }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE6EE8get_nameB5cxx11Ev
Line
Count
Source
76
5
    std::string get_name() const override { return "bitmap_agg"; }
77
308
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeBitMap>(); }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE3EE15get_return_typeEv
Line
Count
Source
77
42
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeBitMap>(); }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE4EE15get_return_typeEv
Line
Count
Source
77
42
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeBitMap>(); }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE5EE15get_return_typeEv
Line
Count
Source
77
42
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeBitMap>(); }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE6EE15get_return_typeEv
Line
Count
Source
77
42
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeBitMap>(); }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE3EE15get_return_typeEv
Line
Count
Source
77
35
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeBitMap>(); }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE4EE15get_return_typeEv
Line
Count
Source
77
35
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeBitMap>(); }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE5EE15get_return_typeEv
Line
Count
Source
77
35
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeBitMap>(); }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE6EE15get_return_typeEv
Line
Count
Source
77
35
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeBitMap>(); }
78
79
    void add(AggregateDataPtr __restrict place, const IColumn** columns, ssize_t row_num,
80
1.75k
             Arena&) const override {
81
1.75k
        DCHECK_LT(row_num, columns[0]->size());
82
1.75k
        if constexpr (arg_nullable) {
83
888
            auto& nullable_col =
84
888
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
85
888
            auto& nullable_map = nullable_col.get_null_map_data();
86
888
            if (!nullable_map[row_num]) {
87
864
                auto& col = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
88
864
                        nullable_col.get_nested_column());
89
864
                this->data(place).add(col.get_data()[row_num]);
90
864
            }
91
888
        } else {
92
864
            auto& col = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
93
864
            this->data(place).add(col.get_data()[row_num]);
94
864
        }
95
1.75k
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE3EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
80
222
             Arena&) const override {
81
222
        DCHECK_LT(row_num, columns[0]->size());
82
222
        if constexpr (arg_nullable) {
83
222
            auto& nullable_col =
84
222
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
85
222
            auto& nullable_map = nullable_col.get_null_map_data();
86
222
            if (!nullable_map[row_num]) {
87
216
                auto& col = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
88
216
                        nullable_col.get_nested_column());
89
216
                this->data(place).add(col.get_data()[row_num]);
90
216
            }
91
        } else {
92
            auto& col = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
93
            this->data(place).add(col.get_data()[row_num]);
94
        }
95
222
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE4EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
80
222
             Arena&) const override {
81
222
        DCHECK_LT(row_num, columns[0]->size());
82
222
        if constexpr (arg_nullable) {
83
222
            auto& nullable_col =
84
222
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
85
222
            auto& nullable_map = nullable_col.get_null_map_data();
86
222
            if (!nullable_map[row_num]) {
87
216
                auto& col = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
88
216
                        nullable_col.get_nested_column());
89
216
                this->data(place).add(col.get_data()[row_num]);
90
216
            }
91
        } else {
92
            auto& col = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
93
            this->data(place).add(col.get_data()[row_num]);
94
        }
95
222
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE5EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
80
222
             Arena&) const override {
81
222
        DCHECK_LT(row_num, columns[0]->size());
82
222
        if constexpr (arg_nullable) {
83
222
            auto& nullable_col =
84
222
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
85
222
            auto& nullable_map = nullable_col.get_null_map_data();
86
222
            if (!nullable_map[row_num]) {
87
216
                auto& col = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
88
216
                        nullable_col.get_nested_column());
89
216
                this->data(place).add(col.get_data()[row_num]);
90
216
            }
91
        } else {
92
            auto& col = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
93
            this->data(place).add(col.get_data()[row_num]);
94
        }
95
222
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE6EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
80
222
             Arena&) const override {
81
222
        DCHECK_LT(row_num, columns[0]->size());
82
222
        if constexpr (arg_nullable) {
83
222
            auto& nullable_col =
84
222
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
85
222
            auto& nullable_map = nullable_col.get_null_map_data();
86
222
            if (!nullable_map[row_num]) {
87
216
                auto& col = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
88
216
                        nullable_col.get_nested_column());
89
216
                this->data(place).add(col.get_data()[row_num]);
90
216
            }
91
        } else {
92
            auto& col = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
93
            this->data(place).add(col.get_data()[row_num]);
94
        }
95
222
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE3EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
80
216
             Arena&) const override {
81
216
        DCHECK_LT(row_num, columns[0]->size());
82
        if constexpr (arg_nullable) {
83
            auto& nullable_col =
84
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
85
            auto& nullable_map = nullable_col.get_null_map_data();
86
            if (!nullable_map[row_num]) {
87
                auto& col = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
88
                        nullable_col.get_nested_column());
89
                this->data(place).add(col.get_data()[row_num]);
90
            }
91
216
        } else {
92
216
            auto& col = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
93
216
            this->data(place).add(col.get_data()[row_num]);
94
216
        }
95
216
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE4EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
80
216
             Arena&) const override {
81
216
        DCHECK_LT(row_num, columns[0]->size());
82
        if constexpr (arg_nullable) {
83
            auto& nullable_col =
84
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
85
            auto& nullable_map = nullable_col.get_null_map_data();
86
            if (!nullable_map[row_num]) {
87
                auto& col = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
88
                        nullable_col.get_nested_column());
89
                this->data(place).add(col.get_data()[row_num]);
90
            }
91
216
        } else {
92
216
            auto& col = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
93
216
            this->data(place).add(col.get_data()[row_num]);
94
216
        }
95
216
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE5EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
80
216
             Arena&) const override {
81
216
        DCHECK_LT(row_num, columns[0]->size());
82
        if constexpr (arg_nullable) {
83
            auto& nullable_col =
84
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
85
            auto& nullable_map = nullable_col.get_null_map_data();
86
            if (!nullable_map[row_num]) {
87
                auto& col = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
88
                        nullable_col.get_nested_column());
89
                this->data(place).add(col.get_data()[row_num]);
90
            }
91
216
        } else {
92
216
            auto& col = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
93
216
            this->data(place).add(col.get_data()[row_num]);
94
216
        }
95
216
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE6EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
80
216
             Arena&) const override {
81
216
        DCHECK_LT(row_num, columns[0]->size());
82
        if constexpr (arg_nullable) {
83
            auto& nullable_col =
84
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
85
            auto& nullable_map = nullable_col.get_null_map_data();
86
            if (!nullable_map[row_num]) {
87
                auto& col = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
88
                        nullable_col.get_nested_column());
89
                this->data(place).add(col.get_data()[row_num]);
90
            }
91
216
        } else {
92
216
            auto& col = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
93
216
            this->data(place).add(col.get_data()[row_num]);
94
216
        }
95
216
    }
96
97
    void add_batch_single_place(size_t batch_size, AggregateDataPtr place, const IColumn** columns,
98
264
                                Arena&) const override {
99
264
        if constexpr (arg_nullable) {
100
144
            auto& nullable_column =
101
144
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
102
144
            const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
103
144
                    nullable_column.get_nested_column());
104
144
            PaddedPODArray<typename PrimitiveTypeTraits<T>::CppType> values;
105
5.47k
            for (size_t i = 0; i < batch_size; ++i) {
106
5.32k
                if (!nullable_column.is_null_at(i) && column.get_data()[i] >= 0) {
107
2.59k
                    values.push_back(column.get_data()[i]);
108
2.59k
                }
109
5.32k
            }
110
144
            this->data(place).value.add_many(values.data(), values.size());
111
144
        } else {
112
120
            const auto& column =
113
120
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
114
120
            const auto* data = column.get_data().data();
115
            // Keep the allocation-free batch path for nonnegative input.
116
192
            if (std::all_of(data, data + batch_size, [](auto value) { return value >= 0; })) {
_ZZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE3EE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlT_E_clIaEEDaSA_
Line
Count
Source
116
48
            if (std::all_of(data, data + batch_size, [](auto value) { return value >= 0; })) {
_ZZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE4EE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlT_E_clIsEEDaSA_
Line
Count
Source
116
48
            if (std::all_of(data, data + batch_size, [](auto value) { return value >= 0; })) {
_ZZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE5EE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlT_E_clIiEEDaSA_
Line
Count
Source
116
48
            if (std::all_of(data, data + batch_size, [](auto value) { return value >= 0; })) {
_ZZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE6EE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlT_E_clIlEEDaSA_
Line
Count
Source
116
48
            if (std::all_of(data, data + batch_size, [](auto value) { return value >= 0; })) {
117
24
                this->data(place).value.add_many(data, batch_size);
118
96
            } else {
119
96
                PaddedPODArray<typename PrimitiveTypeTraits<T>::CppType> values;
120
5.18k
                for (size_t i = 0; i < batch_size; ++i) {
121
5.08k
                    if (data[i] >= 0) {
122
2.49k
                        values.push_back(data[i]);
123
2.49k
                    }
124
5.08k
                }
125
96
                this->data(place).value.add_many(values.data(), values.size());
126
96
            }
127
120
        }
128
264
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE3EE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
98
36
                                Arena&) const override {
99
36
        if constexpr (arg_nullable) {
100
36
            auto& nullable_column =
101
36
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
102
36
            const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
103
36
                    nullable_column.get_nested_column());
104
36
            PaddedPODArray<typename PrimitiveTypeTraits<T>::CppType> values;
105
1.36k
            for (size_t i = 0; i < batch_size; ++i) {
106
1.33k
                if (!nullable_column.is_null_at(i) && column.get_data()[i] >= 0) {
107
648
                    values.push_back(column.get_data()[i]);
108
648
                }
109
1.33k
            }
110
36
            this->data(place).value.add_many(values.data(), values.size());
111
        } else {
112
            const auto& column =
113
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
114
            const auto* data = column.get_data().data();
115
            // Keep the allocation-free batch path for nonnegative input.
116
            if (std::all_of(data, data + batch_size, [](auto value) { return value >= 0; })) {
117
                this->data(place).value.add_many(data, batch_size);
118
            } else {
119
                PaddedPODArray<typename PrimitiveTypeTraits<T>::CppType> values;
120
                for (size_t i = 0; i < batch_size; ++i) {
121
                    if (data[i] >= 0) {
122
                        values.push_back(data[i]);
123
                    }
124
                }
125
                this->data(place).value.add_many(values.data(), values.size());
126
            }
127
        }
128
36
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE4EE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
98
36
                                Arena&) const override {
99
36
        if constexpr (arg_nullable) {
100
36
            auto& nullable_column =
101
36
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
102
36
            const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
103
36
                    nullable_column.get_nested_column());
104
36
            PaddedPODArray<typename PrimitiveTypeTraits<T>::CppType> values;
105
1.36k
            for (size_t i = 0; i < batch_size; ++i) {
106
1.33k
                if (!nullable_column.is_null_at(i) && column.get_data()[i] >= 0) {
107
648
                    values.push_back(column.get_data()[i]);
108
648
                }
109
1.33k
            }
110
36
            this->data(place).value.add_many(values.data(), values.size());
111
        } else {
112
            const auto& column =
113
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
114
            const auto* data = column.get_data().data();
115
            // Keep the allocation-free batch path for nonnegative input.
116
            if (std::all_of(data, data + batch_size, [](auto value) { return value >= 0; })) {
117
                this->data(place).value.add_many(data, batch_size);
118
            } else {
119
                PaddedPODArray<typename PrimitiveTypeTraits<T>::CppType> values;
120
                for (size_t i = 0; i < batch_size; ++i) {
121
                    if (data[i] >= 0) {
122
                        values.push_back(data[i]);
123
                    }
124
                }
125
                this->data(place).value.add_many(values.data(), values.size());
126
            }
127
        }
128
36
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE5EE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
98
36
                                Arena&) const override {
99
36
        if constexpr (arg_nullable) {
100
36
            auto& nullable_column =
101
36
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
102
36
            const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
103
36
                    nullable_column.get_nested_column());
104
36
            PaddedPODArray<typename PrimitiveTypeTraits<T>::CppType> values;
105
1.36k
            for (size_t i = 0; i < batch_size; ++i) {
106
1.33k
                if (!nullable_column.is_null_at(i) && column.get_data()[i] >= 0) {
107
648
                    values.push_back(column.get_data()[i]);
108
648
                }
109
1.33k
            }
110
36
            this->data(place).value.add_many(values.data(), values.size());
111
        } else {
112
            const auto& column =
113
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
114
            const auto* data = column.get_data().data();
115
            // Keep the allocation-free batch path for nonnegative input.
116
            if (std::all_of(data, data + batch_size, [](auto value) { return value >= 0; })) {
117
                this->data(place).value.add_many(data, batch_size);
118
            } else {
119
                PaddedPODArray<typename PrimitiveTypeTraits<T>::CppType> values;
120
                for (size_t i = 0; i < batch_size; ++i) {
121
                    if (data[i] >= 0) {
122
                        values.push_back(data[i]);
123
                    }
124
                }
125
                this->data(place).value.add_many(values.data(), values.size());
126
            }
127
        }
128
36
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE6EE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
98
36
                                Arena&) const override {
99
36
        if constexpr (arg_nullable) {
100
36
            auto& nullable_column =
101
36
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
102
36
            const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
103
36
                    nullable_column.get_nested_column());
104
36
            PaddedPODArray<typename PrimitiveTypeTraits<T>::CppType> values;
105
1.36k
            for (size_t i = 0; i < batch_size; ++i) {
106
1.33k
                if (!nullable_column.is_null_at(i) && column.get_data()[i] >= 0) {
107
648
                    values.push_back(column.get_data()[i]);
108
648
                }
109
1.33k
            }
110
36
            this->data(place).value.add_many(values.data(), values.size());
111
        } else {
112
            const auto& column =
113
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
114
            const auto* data = column.get_data().data();
115
            // Keep the allocation-free batch path for nonnegative input.
116
            if (std::all_of(data, data + batch_size, [](auto value) { return value >= 0; })) {
117
                this->data(place).value.add_many(data, batch_size);
118
            } else {
119
                PaddedPODArray<typename PrimitiveTypeTraits<T>::CppType> values;
120
                for (size_t i = 0; i < batch_size; ++i) {
121
                    if (data[i] >= 0) {
122
                        values.push_back(data[i]);
123
                    }
124
                }
125
                this->data(place).value.add_many(values.data(), values.size());
126
            }
127
        }
128
36
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE3EE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
98
30
                                Arena&) const override {
99
        if constexpr (arg_nullable) {
100
            auto& nullable_column =
101
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
102
            const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
103
                    nullable_column.get_nested_column());
104
            PaddedPODArray<typename PrimitiveTypeTraits<T>::CppType> values;
105
            for (size_t i = 0; i < batch_size; ++i) {
106
                if (!nullable_column.is_null_at(i) && column.get_data()[i] >= 0) {
107
                    values.push_back(column.get_data()[i]);
108
                }
109
            }
110
            this->data(place).value.add_many(values.data(), values.size());
111
30
        } else {
112
30
            const auto& column =
113
30
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
114
30
            const auto* data = column.get_data().data();
115
            // Keep the allocation-free batch path for nonnegative input.
116
30
            if (std::all_of(data, data + batch_size, [](auto value) { return value >= 0; })) {
117
6
                this->data(place).value.add_many(data, batch_size);
118
24
            } else {
119
24
                PaddedPODArray<typename PrimitiveTypeTraits<T>::CppType> values;
120
1.29k
                for (size_t i = 0; i < batch_size; ++i) {
121
1.27k
                    if (data[i] >= 0) {
122
624
                        values.push_back(data[i]);
123
624
                    }
124
1.27k
                }
125
24
                this->data(place).value.add_many(values.data(), values.size());
126
24
            }
127
30
        }
128
30
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE4EE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
98
30
                                Arena&) const override {
99
        if constexpr (arg_nullable) {
100
            auto& nullable_column =
101
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
102
            const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
103
                    nullable_column.get_nested_column());
104
            PaddedPODArray<typename PrimitiveTypeTraits<T>::CppType> values;
105
            for (size_t i = 0; i < batch_size; ++i) {
106
                if (!nullable_column.is_null_at(i) && column.get_data()[i] >= 0) {
107
                    values.push_back(column.get_data()[i]);
108
                }
109
            }
110
            this->data(place).value.add_many(values.data(), values.size());
111
30
        } else {
112
30
            const auto& column =
113
30
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
114
30
            const auto* data = column.get_data().data();
115
            // Keep the allocation-free batch path for nonnegative input.
116
30
            if (std::all_of(data, data + batch_size, [](auto value) { return value >= 0; })) {
117
6
                this->data(place).value.add_many(data, batch_size);
118
24
            } else {
119
24
                PaddedPODArray<typename PrimitiveTypeTraits<T>::CppType> values;
120
1.29k
                for (size_t i = 0; i < batch_size; ++i) {
121
1.27k
                    if (data[i] >= 0) {
122
624
                        values.push_back(data[i]);
123
624
                    }
124
1.27k
                }
125
24
                this->data(place).value.add_many(values.data(), values.size());
126
24
            }
127
30
        }
128
30
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE5EE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
98
30
                                Arena&) const override {
99
        if constexpr (arg_nullable) {
100
            auto& nullable_column =
101
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
102
            const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
103
                    nullable_column.get_nested_column());
104
            PaddedPODArray<typename PrimitiveTypeTraits<T>::CppType> values;
105
            for (size_t i = 0; i < batch_size; ++i) {
106
                if (!nullable_column.is_null_at(i) && column.get_data()[i] >= 0) {
107
                    values.push_back(column.get_data()[i]);
108
                }
109
            }
110
            this->data(place).value.add_many(values.data(), values.size());
111
30
        } else {
112
30
            const auto& column =
113
30
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
114
30
            const auto* data = column.get_data().data();
115
            // Keep the allocation-free batch path for nonnegative input.
116
30
            if (std::all_of(data, data + batch_size, [](auto value) { return value >= 0; })) {
117
6
                this->data(place).value.add_many(data, batch_size);
118
24
            } else {
119
24
                PaddedPODArray<typename PrimitiveTypeTraits<T>::CppType> values;
120
1.29k
                for (size_t i = 0; i < batch_size; ++i) {
121
1.27k
                    if (data[i] >= 0) {
122
624
                        values.push_back(data[i]);
123
624
                    }
124
1.27k
                }
125
24
                this->data(place).value.add_many(values.data(), values.size());
126
24
            }
127
30
        }
128
30
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE6EE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
98
30
                                Arena&) const override {
99
        if constexpr (arg_nullable) {
100
            auto& nullable_column =
101
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
102
            const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
103
                    nullable_column.get_nested_column());
104
            PaddedPODArray<typename PrimitiveTypeTraits<T>::CppType> values;
105
            for (size_t i = 0; i < batch_size; ++i) {
106
                if (!nullable_column.is_null_at(i) && column.get_data()[i] >= 0) {
107
                    values.push_back(column.get_data()[i]);
108
                }
109
            }
110
            this->data(place).value.add_many(values.data(), values.size());
111
30
        } else {
112
30
            const auto& column =
113
30
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
114
30
            const auto* data = column.get_data().data();
115
            // Keep the allocation-free batch path for nonnegative input.
116
30
            if (std::all_of(data, data + batch_size, [](auto value) { return value >= 0; })) {
117
6
                this->data(place).value.add_many(data, batch_size);
118
24
            } else {
119
24
                PaddedPODArray<typename PrimitiveTypeTraits<T>::CppType> values;
120
1.29k
                for (size_t i = 0; i < batch_size; ++i) {
121
1.27k
                    if (data[i] >= 0) {
122
624
                        values.push_back(data[i]);
123
624
                    }
124
1.27k
                }
125
24
                this->data(place).value.add_many(values.data(), values.size());
126
24
            }
127
30
        }
128
30
    }
129
130
44
    void reset(AggregateDataPtr place) const override { this->data(place).reset(); }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE3EE5resetEPc
Line
Count
Source
130
6
    void reset(AggregateDataPtr place) const override { this->data(place).reset(); }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE4EE5resetEPc
Line
Count
Source
130
6
    void reset(AggregateDataPtr place) const override { this->data(place).reset(); }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE5EE5resetEPc
Line
Count
Source
130
6
    void reset(AggregateDataPtr place) const override { this->data(place).reset(); }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE6EE5resetEPc
Line
Count
Source
130
6
    void reset(AggregateDataPtr place) const override { this->data(place).reset(); }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE3EE5resetEPc
Line
Count
Source
130
5
    void reset(AggregateDataPtr place) const override { this->data(place).reset(); }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE4EE5resetEPc
Line
Count
Source
130
5
    void reset(AggregateDataPtr place) const override { this->data(place).reset(); }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE5EE5resetEPc
Line
Count
Source
130
5
    void reset(AggregateDataPtr place) const override { this->data(place).reset(); }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE6EE5resetEPc
Line
Count
Source
130
5
    void reset(AggregateDataPtr place) const override { this->data(place).reset(); }
131
132
    void merge(AggregateDataPtr __restrict place, ConstAggregateDataPtr rhs,
133
0
               Arena&) const override {
134
0
        this->data(place).merge(this->data(rhs));
135
0
    }
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE3EE5mergeEPcPKcRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE4EE5mergeEPcPKcRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE5EE5mergeEPcPKcRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE6EE5mergeEPcPKcRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE3EE5mergeEPcPKcRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE4EE5mergeEPcPKcRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE5EE5mergeEPcPKcRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE6EE5mergeEPcPKcRNS_5ArenaE
136
137
264
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
138
264
        auto& column = assert_cast<ColumnBitmap&, TypeCheckOnRelease::DISABLE>(to);
139
264
        column.get_data().push_back(this->data(place).value);
140
264
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE3EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
137
36
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
138
36
        auto& column = assert_cast<ColumnBitmap&, TypeCheckOnRelease::DISABLE>(to);
139
36
        column.get_data().push_back(this->data(place).value);
140
36
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE4EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
137
36
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
138
36
        auto& column = assert_cast<ColumnBitmap&, TypeCheckOnRelease::DISABLE>(to);
139
36
        column.get_data().push_back(this->data(place).value);
140
36
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE5EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
137
36
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
138
36
        auto& column = assert_cast<ColumnBitmap&, TypeCheckOnRelease::DISABLE>(to);
139
36
        column.get_data().push_back(this->data(place).value);
140
36
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE6EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
137
36
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
138
36
        auto& column = assert_cast<ColumnBitmap&, TypeCheckOnRelease::DISABLE>(to);
139
36
        column.get_data().push_back(this->data(place).value);
140
36
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE3EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
137
30
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
138
30
        auto& column = assert_cast<ColumnBitmap&, TypeCheckOnRelease::DISABLE>(to);
139
30
        column.get_data().push_back(this->data(place).value);
140
30
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE4EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
137
30
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
138
30
        auto& column = assert_cast<ColumnBitmap&, TypeCheckOnRelease::DISABLE>(to);
139
30
        column.get_data().push_back(this->data(place).value);
140
30
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE5EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
137
30
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
138
30
        auto& column = assert_cast<ColumnBitmap&, TypeCheckOnRelease::DISABLE>(to);
139
30
        column.get_data().push_back(this->data(place).value);
140
30
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE6EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
137
30
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
138
30
        auto& column = assert_cast<ColumnBitmap&, TypeCheckOnRelease::DISABLE>(to);
139
30
        column.get_data().push_back(this->data(place).value);
140
30
    }
141
142
0
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
143
0
        this->data(place).write(buf);
144
0
    }
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE3EE9serializeEPKcRNS_14BufferWritableE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE4EE9serializeEPKcRNS_14BufferWritableE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE5EE9serializeEPKcRNS_14BufferWritableE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE6EE9serializeEPKcRNS_14BufferWritableE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE3EE9serializeEPKcRNS_14BufferWritableE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE4EE9serializeEPKcRNS_14BufferWritableE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE5EE9serializeEPKcRNS_14BufferWritableE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE6EE9serializeEPKcRNS_14BufferWritableE
145
146
    void deserialize(AggregateDataPtr __restrict place, BufferReadable& buf,
147
0
                     Arena&) const override {
148
0
        this->data(place).read(buf);
149
0
    }
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE3EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE4EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE5EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE6EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE3EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE4EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE5EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE6EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
150
151
    void streaming_agg_serialize_to_column(const IColumn** columns, MutableColumnPtr& dst,
152
44
                                           const size_t num_rows, Arena& arena) const override {
153
44
        auto& col = assert_cast<ColumnBitmap&>(*dst);
154
44
        char place[sizeof(Data)];
155
44
        col.resize(num_rows);
156
44
        auto* data = col.get_data().data();
157
1.79k
        for (size_t i = 0; i != num_rows; ++i) {
158
1.75k
            this->create(place);
159
1.75k
            DEFER({ this->destroy(place); });
160
1.75k
            this->add(place, columns, i, arena);
161
1.75k
            data[i] = std::move(this->data(place).value);
162
1.75k
        }
163
44
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE3EE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWIS3_E11mutable_ptrIS3_EEmRNS_5ArenaE
Line
Count
Source
152
6
                                           const size_t num_rows, Arena& arena) const override {
153
6
        auto& col = assert_cast<ColumnBitmap&>(*dst);
154
6
        char place[sizeof(Data)];
155
6
        col.resize(num_rows);
156
6
        auto* data = col.get_data().data();
157
228
        for (size_t i = 0; i != num_rows; ++i) {
158
222
            this->create(place);
159
222
            DEFER({ this->destroy(place); });
160
222
            this->add(place, columns, i, arena);
161
222
            data[i] = std::move(this->data(place).value);
162
222
        }
163
6
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE4EE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWIS3_E11mutable_ptrIS3_EEmRNS_5ArenaE
Line
Count
Source
152
6
                                           const size_t num_rows, Arena& arena) const override {
153
6
        auto& col = assert_cast<ColumnBitmap&>(*dst);
154
6
        char place[sizeof(Data)];
155
6
        col.resize(num_rows);
156
6
        auto* data = col.get_data().data();
157
228
        for (size_t i = 0; i != num_rows; ++i) {
158
222
            this->create(place);
159
222
            DEFER({ this->destroy(place); });
160
222
            this->add(place, columns, i, arena);
161
222
            data[i] = std::move(this->data(place).value);
162
222
        }
163
6
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE5EE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWIS3_E11mutable_ptrIS3_EEmRNS_5ArenaE
Line
Count
Source
152
6
                                           const size_t num_rows, Arena& arena) const override {
153
6
        auto& col = assert_cast<ColumnBitmap&>(*dst);
154
6
        char place[sizeof(Data)];
155
6
        col.resize(num_rows);
156
6
        auto* data = col.get_data().data();
157
228
        for (size_t i = 0; i != num_rows; ++i) {
158
222
            this->create(place);
159
222
            DEFER({ this->destroy(place); });
160
222
            this->add(place, columns, i, arena);
161
222
            data[i] = std::move(this->data(place).value);
162
222
        }
163
6
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE6EE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWIS3_E11mutable_ptrIS3_EEmRNS_5ArenaE
Line
Count
Source
152
6
                                           const size_t num_rows, Arena& arena) const override {
153
6
        auto& col = assert_cast<ColumnBitmap&>(*dst);
154
6
        char place[sizeof(Data)];
155
6
        col.resize(num_rows);
156
6
        auto* data = col.get_data().data();
157
228
        for (size_t i = 0; i != num_rows; ++i) {
158
222
            this->create(place);
159
222
            DEFER({ this->destroy(place); });
160
222
            this->add(place, columns, i, arena);
161
222
            data[i] = std::move(this->data(place).value);
162
222
        }
163
6
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE3EE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWIS3_E11mutable_ptrIS3_EEmRNS_5ArenaE
Line
Count
Source
152
5
                                           const size_t num_rows, Arena& arena) const override {
153
5
        auto& col = assert_cast<ColumnBitmap&>(*dst);
154
5
        char place[sizeof(Data)];
155
5
        col.resize(num_rows);
156
5
        auto* data = col.get_data().data();
157
221
        for (size_t i = 0; i != num_rows; ++i) {
158
216
            this->create(place);
159
216
            DEFER({ this->destroy(place); });
160
216
            this->add(place, columns, i, arena);
161
216
            data[i] = std::move(this->data(place).value);
162
216
        }
163
5
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE4EE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWIS3_E11mutable_ptrIS3_EEmRNS_5ArenaE
Line
Count
Source
152
5
                                           const size_t num_rows, Arena& arena) const override {
153
5
        auto& col = assert_cast<ColumnBitmap&>(*dst);
154
5
        char place[sizeof(Data)];
155
5
        col.resize(num_rows);
156
5
        auto* data = col.get_data().data();
157
221
        for (size_t i = 0; i != num_rows; ++i) {
158
216
            this->create(place);
159
216
            DEFER({ this->destroy(place); });
160
216
            this->add(place, columns, i, arena);
161
216
            data[i] = std::move(this->data(place).value);
162
216
        }
163
5
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE5EE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWIS3_E11mutable_ptrIS3_EEmRNS_5ArenaE
Line
Count
Source
152
5
                                           const size_t num_rows, Arena& arena) const override {
153
5
        auto& col = assert_cast<ColumnBitmap&>(*dst);
154
5
        char place[sizeof(Data)];
155
5
        col.resize(num_rows);
156
5
        auto* data = col.get_data().data();
157
221
        for (size_t i = 0; i != num_rows; ++i) {
158
216
            this->create(place);
159
216
            DEFER({ this->destroy(place); });
160
216
            this->add(place, columns, i, arena);
161
216
            data[i] = std::move(this->data(place).value);
162
216
        }
163
5
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE6EE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWIS3_E11mutable_ptrIS3_EEmRNS_5ArenaE
Line
Count
Source
152
5
                                           const size_t num_rows, Arena& arena) const override {
153
5
        auto& col = assert_cast<ColumnBitmap&>(*dst);
154
5
        char place[sizeof(Data)];
155
5
        col.resize(num_rows);
156
5
        auto* data = col.get_data().data();
157
221
        for (size_t i = 0; i != num_rows; ++i) {
158
216
            this->create(place);
159
216
            DEFER({ this->destroy(place); });
160
216
            this->add(place, columns, i, arena);
161
216
            data[i] = std::move(this->data(place).value);
162
216
        }
163
5
    }
164
165
    void serialize_to_column(const std::vector<AggregateDataPtr>& places, size_t offset,
166
132
                             MutableColumnPtr& dst, const size_t num_rows) const override {
167
132
        auto& col = assert_cast<ColumnBitmap&>(*dst);
168
132
        col.resize(num_rows);
169
132
        auto* data = col.get_data().data();
170
264
        for (size_t i = 0; i != num_rows; ++i) {
171
132
            data[i] = this->data(places[i] + offset).value;
172
132
        }
173
132
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE3EE19serialize_to_columnERKSt6vectorIPcSaIS4_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISA_EEm
Line
Count
Source
166
18
                             MutableColumnPtr& dst, const size_t num_rows) const override {
167
18
        auto& col = assert_cast<ColumnBitmap&>(*dst);
168
18
        col.resize(num_rows);
169
18
        auto* data = col.get_data().data();
170
36
        for (size_t i = 0; i != num_rows; ++i) {
171
18
            data[i] = this->data(places[i] + offset).value;
172
18
        }
173
18
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE4EE19serialize_to_columnERKSt6vectorIPcSaIS4_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISA_EEm
Line
Count
Source
166
18
                             MutableColumnPtr& dst, const size_t num_rows) const override {
167
18
        auto& col = assert_cast<ColumnBitmap&>(*dst);
168
18
        col.resize(num_rows);
169
18
        auto* data = col.get_data().data();
170
36
        for (size_t i = 0; i != num_rows; ++i) {
171
18
            data[i] = this->data(places[i] + offset).value;
172
18
        }
173
18
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE5EE19serialize_to_columnERKSt6vectorIPcSaIS4_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISA_EEm
Line
Count
Source
166
18
                             MutableColumnPtr& dst, const size_t num_rows) const override {
167
18
        auto& col = assert_cast<ColumnBitmap&>(*dst);
168
18
        col.resize(num_rows);
169
18
        auto* data = col.get_data().data();
170
36
        for (size_t i = 0; i != num_rows; ++i) {
171
18
            data[i] = this->data(places[i] + offset).value;
172
18
        }
173
18
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE6EE19serialize_to_columnERKSt6vectorIPcSaIS4_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISA_EEm
Line
Count
Source
166
18
                             MutableColumnPtr& dst, const size_t num_rows) const override {
167
18
        auto& col = assert_cast<ColumnBitmap&>(*dst);
168
18
        col.resize(num_rows);
169
18
        auto* data = col.get_data().data();
170
36
        for (size_t i = 0; i != num_rows; ++i) {
171
18
            data[i] = this->data(places[i] + offset).value;
172
18
        }
173
18
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE3EE19serialize_to_columnERKSt6vectorIPcSaIS4_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISA_EEm
Line
Count
Source
166
15
                             MutableColumnPtr& dst, const size_t num_rows) const override {
167
15
        auto& col = assert_cast<ColumnBitmap&>(*dst);
168
15
        col.resize(num_rows);
169
15
        auto* data = col.get_data().data();
170
30
        for (size_t i = 0; i != num_rows; ++i) {
171
15
            data[i] = this->data(places[i] + offset).value;
172
15
        }
173
15
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE4EE19serialize_to_columnERKSt6vectorIPcSaIS4_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISA_EEm
Line
Count
Source
166
15
                             MutableColumnPtr& dst, const size_t num_rows) const override {
167
15
        auto& col = assert_cast<ColumnBitmap&>(*dst);
168
15
        col.resize(num_rows);
169
15
        auto* data = col.get_data().data();
170
30
        for (size_t i = 0; i != num_rows; ++i) {
171
15
            data[i] = this->data(places[i] + offset).value;
172
15
        }
173
15
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE5EE19serialize_to_columnERKSt6vectorIPcSaIS4_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISA_EEm
Line
Count
Source
166
15
                             MutableColumnPtr& dst, const size_t num_rows) const override {
167
15
        auto& col = assert_cast<ColumnBitmap&>(*dst);
168
15
        col.resize(num_rows);
169
15
        auto* data = col.get_data().data();
170
30
        for (size_t i = 0; i != num_rows; ++i) {
171
15
            data[i] = this->data(places[i] + offset).value;
172
15
        }
173
15
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE6EE19serialize_to_columnERKSt6vectorIPcSaIS4_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISA_EEm
Line
Count
Source
166
15
                             MutableColumnPtr& dst, const size_t num_rows) const override {
167
15
        auto& col = assert_cast<ColumnBitmap&>(*dst);
168
15
        col.resize(num_rows);
169
15
        auto* data = col.get_data().data();
170
30
        for (size_t i = 0; i != num_rows; ++i) {
171
15
            data[i] = this->data(places[i] + offset).value;
172
15
        }
173
15
    }
174
175
    void deserialize_and_merge_from_column_range(AggregateDataPtr __restrict place,
176
                                                 const IColumn& column, size_t begin, size_t end,
177
88
                                                 Arena&) const override {
178
88
        DCHECK(end <= column.size() && begin <= end)
179
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
180
88
        auto& col = assert_cast<const ColumnBitmap&>(column);
181
88
        auto* data = col.get_data().data();
182
1.88k
        for (size_t i = begin; i <= end; ++i) {
183
1.79k
            this->data(place).value |= data[i];
184
1.79k
        }
185
88
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE3EE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
177
12
                                                 Arena&) const override {
178
12
        DCHECK(end <= column.size() && begin <= end)
179
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
180
12
        auto& col = assert_cast<const ColumnBitmap&>(column);
181
12
        auto* data = col.get_data().data();
182
240
        for (size_t i = begin; i <= end; ++i) {
183
228
            this->data(place).value |= data[i];
184
228
        }
185
12
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE4EE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
177
12
                                                 Arena&) const override {
178
12
        DCHECK(end <= column.size() && begin <= end)
179
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
180
12
        auto& col = assert_cast<const ColumnBitmap&>(column);
181
12
        auto* data = col.get_data().data();
182
240
        for (size_t i = begin; i <= end; ++i) {
183
228
            this->data(place).value |= data[i];
184
228
        }
185
12
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE5EE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
177
12
                                                 Arena&) const override {
178
12
        DCHECK(end <= column.size() && begin <= end)
179
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
180
12
        auto& col = assert_cast<const ColumnBitmap&>(column);
181
12
        auto* data = col.get_data().data();
182
240
        for (size_t i = begin; i <= end; ++i) {
183
228
            this->data(place).value |= data[i];
184
228
        }
185
12
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE6EE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
177
12
                                                 Arena&) const override {
178
12
        DCHECK(end <= column.size() && begin <= end)
179
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
180
12
        auto& col = assert_cast<const ColumnBitmap&>(column);
181
12
        auto* data = col.get_data().data();
182
240
        for (size_t i = begin; i <= end; ++i) {
183
228
            this->data(place).value |= data[i];
184
228
        }
185
12
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE3EE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
177
10
                                                 Arena&) const override {
178
10
        DCHECK(end <= column.size() && begin <= end)
179
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
180
10
        auto& col = assert_cast<const ColumnBitmap&>(column);
181
10
        auto* data = col.get_data().data();
182
231
        for (size_t i = begin; i <= end; ++i) {
183
221
            this->data(place).value |= data[i];
184
221
        }
185
10
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE4EE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
177
10
                                                 Arena&) const override {
178
10
        DCHECK(end <= column.size() && begin <= end)
179
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
180
10
        auto& col = assert_cast<const ColumnBitmap&>(column);
181
10
        auto* data = col.get_data().data();
182
231
        for (size_t i = begin; i <= end; ++i) {
183
221
            this->data(place).value |= data[i];
184
221
        }
185
10
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE5EE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
177
10
                                                 Arena&) const override {
178
10
        DCHECK(end <= column.size() && begin <= end)
179
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
180
10
        auto& col = assert_cast<const ColumnBitmap&>(column);
181
10
        auto* data = col.get_data().data();
182
231
        for (size_t i = begin; i <= end; ++i) {
183
221
            this->data(place).value |= data[i];
184
221
        }
185
10
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE6EE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
177
10
                                                 Arena&) const override {
178
10
        DCHECK(end <= column.size() && begin <= end)
179
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
180
10
        auto& col = assert_cast<const ColumnBitmap&>(column);
181
10
        auto* data = col.get_data().data();
182
231
        for (size_t i = begin; i <= end; ++i) {
183
221
            this->data(place).value |= data[i];
184
221
        }
185
10
    }
186
187
    void deserialize_and_merge_vec(const AggregateDataPtr* places, size_t offset,
188
                                   AggregateDataPtr rhs, const IColumn* column, Arena&,
189
44
                                   const size_t num_rows) const override {
190
44
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
191
44
        const auto* data = col.get_data().data();
192
88
        for (size_t i = 0; i != num_rows; ++i) {
193
44
            this->data(places[i] + offset).value |= data[i];
194
44
        }
195
44
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE3EE25deserialize_and_merge_vecEPKPcmS3_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
189
6
                                   const size_t num_rows) const override {
190
6
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
191
6
        const auto* data = col.get_data().data();
192
12
        for (size_t i = 0; i != num_rows; ++i) {
193
6
            this->data(places[i] + offset).value |= data[i];
194
6
        }
195
6
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE4EE25deserialize_and_merge_vecEPKPcmS3_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
189
6
                                   const size_t num_rows) const override {
190
6
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
191
6
        const auto* data = col.get_data().data();
192
12
        for (size_t i = 0; i != num_rows; ++i) {
193
6
            this->data(places[i] + offset).value |= data[i];
194
6
        }
195
6
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE5EE25deserialize_and_merge_vecEPKPcmS3_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
189
6
                                   const size_t num_rows) const override {
190
6
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
191
6
        const auto* data = col.get_data().data();
192
12
        for (size_t i = 0; i != num_rows; ++i) {
193
6
            this->data(places[i] + offset).value |= data[i];
194
6
        }
195
6
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE6EE25deserialize_and_merge_vecEPKPcmS3_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
189
6
                                   const size_t num_rows) const override {
190
6
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
191
6
        const auto* data = col.get_data().data();
192
12
        for (size_t i = 0; i != num_rows; ++i) {
193
6
            this->data(places[i] + offset).value |= data[i];
194
6
        }
195
6
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE3EE25deserialize_and_merge_vecEPKPcmS3_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
189
5
                                   const size_t num_rows) const override {
190
5
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
191
5
        const auto* data = col.get_data().data();
192
10
        for (size_t i = 0; i != num_rows; ++i) {
193
5
            this->data(places[i] + offset).value |= data[i];
194
5
        }
195
5
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE4EE25deserialize_and_merge_vecEPKPcmS3_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
189
5
                                   const size_t num_rows) const override {
190
5
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
191
5
        const auto* data = col.get_data().data();
192
10
        for (size_t i = 0; i != num_rows; ++i) {
193
5
            this->data(places[i] + offset).value |= data[i];
194
5
        }
195
5
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE5EE25deserialize_and_merge_vecEPKPcmS3_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
189
5
                                   const size_t num_rows) const override {
190
5
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
191
5
        const auto* data = col.get_data().data();
192
10
        for (size_t i = 0; i != num_rows; ++i) {
193
5
            this->data(places[i] + offset).value |= data[i];
194
5
        }
195
5
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE6EE25deserialize_and_merge_vecEPKPcmS3_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
189
5
                                   const size_t num_rows) const override {
190
5
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
191
5
        const auto* data = col.get_data().data();
192
10
        for (size_t i = 0; i != num_rows; ++i) {
193
5
            this->data(places[i] + offset).value |= data[i];
194
5
        }
195
5
    }
196
197
    void deserialize_and_merge_vec_selected(const AggregateDataPtr* places, size_t offset,
198
                                            AggregateDataPtr rhs, const IColumn* column, Arena&,
199
44
                                            const size_t num_rows) const override {
200
44
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
201
44
        const auto* data = col.get_data().data();
202
88
        for (size_t i = 0; i != num_rows; ++i) {
203
44
            if (places[i]) {
204
44
                this->data(places[i] + offset).value |= data[i];
205
44
            }
206
44
        }
207
44
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE3EE34deserialize_and_merge_vec_selectedEPKPcmS3_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
199
6
                                            const size_t num_rows) const override {
200
6
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
201
6
        const auto* data = col.get_data().data();
202
12
        for (size_t i = 0; i != num_rows; ++i) {
203
6
            if (places[i]) {
204
6
                this->data(places[i] + offset).value |= data[i];
205
6
            }
206
6
        }
207
6
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE4EE34deserialize_and_merge_vec_selectedEPKPcmS3_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
199
6
                                            const size_t num_rows) const override {
200
6
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
201
6
        const auto* data = col.get_data().data();
202
12
        for (size_t i = 0; i != num_rows; ++i) {
203
6
            if (places[i]) {
204
6
                this->data(places[i] + offset).value |= data[i];
205
6
            }
206
6
        }
207
6
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE5EE34deserialize_and_merge_vec_selectedEPKPcmS3_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
199
6
                                            const size_t num_rows) const override {
200
6
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
201
6
        const auto* data = col.get_data().data();
202
12
        for (size_t i = 0; i != num_rows; ++i) {
203
6
            if (places[i]) {
204
6
                this->data(places[i] + offset).value |= data[i];
205
6
            }
206
6
        }
207
6
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE6EE34deserialize_and_merge_vec_selectedEPKPcmS3_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
199
6
                                            const size_t num_rows) const override {
200
6
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
201
6
        const auto* data = col.get_data().data();
202
12
        for (size_t i = 0; i != num_rows; ++i) {
203
6
            if (places[i]) {
204
6
                this->data(places[i] + offset).value |= data[i];
205
6
            }
206
6
        }
207
6
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE3EE34deserialize_and_merge_vec_selectedEPKPcmS3_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
199
5
                                            const size_t num_rows) const override {
200
5
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
201
5
        const auto* data = col.get_data().data();
202
10
        for (size_t i = 0; i != num_rows; ++i) {
203
5
            if (places[i]) {
204
5
                this->data(places[i] + offset).value |= data[i];
205
5
            }
206
5
        }
207
5
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE4EE34deserialize_and_merge_vec_selectedEPKPcmS3_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
199
5
                                            const size_t num_rows) const override {
200
5
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
201
5
        const auto* data = col.get_data().data();
202
10
        for (size_t i = 0; i != num_rows; ++i) {
203
5
            if (places[i]) {
204
5
                this->data(places[i] + offset).value |= data[i];
205
5
            }
206
5
        }
207
5
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE5EE34deserialize_and_merge_vec_selectedEPKPcmS3_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
199
5
                                            const size_t num_rows) const override {
200
5
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
201
5
        const auto* data = col.get_data().data();
202
10
        for (size_t i = 0; i != num_rows; ++i) {
203
5
            if (places[i]) {
204
5
                this->data(places[i] + offset).value |= data[i];
205
5
            }
206
5
        }
207
5
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE6EE34deserialize_and_merge_vec_selectedEPKPcmS3_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
199
5
                                            const size_t num_rows) const override {
200
5
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
201
5
        const auto* data = col.get_data().data();
202
10
        for (size_t i = 0; i != num_rows; ++i) {
203
5
            if (places[i]) {
204
5
                this->data(places[i] + offset).value |= data[i];
205
5
            }
206
5
        }
207
5
    }
208
209
    void serialize_without_key_to_column(ConstAggregateDataPtr __restrict place,
210
44
                                         IColumn& to) const override {
211
44
        auto& col = assert_cast<ColumnBitmap&>(to);
212
44
        size_t old_size = col.size();
213
44
        col.resize(old_size + 1);
214
44
        col.get_data()[old_size] = this->data(place).value;
215
44
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE3EE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
210
6
                                         IColumn& to) const override {
211
6
        auto& col = assert_cast<ColumnBitmap&>(to);
212
6
        size_t old_size = col.size();
213
6
        col.resize(old_size + 1);
214
6
        col.get_data()[old_size] = this->data(place).value;
215
6
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE4EE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
210
6
                                         IColumn& to) const override {
211
6
        auto& col = assert_cast<ColumnBitmap&>(to);
212
6
        size_t old_size = col.size();
213
6
        col.resize(old_size + 1);
214
6
        col.get_data()[old_size] = this->data(place).value;
215
6
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE5EE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
210
6
                                         IColumn& to) const override {
211
6
        auto& col = assert_cast<ColumnBitmap&>(to);
212
6
        size_t old_size = col.size();
213
6
        col.resize(old_size + 1);
214
6
        col.get_data()[old_size] = this->data(place).value;
215
6
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE6EE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
210
6
                                         IColumn& to) const override {
211
6
        auto& col = assert_cast<ColumnBitmap&>(to);
212
6
        size_t old_size = col.size();
213
6
        col.resize(old_size + 1);
214
6
        col.get_data()[old_size] = this->data(place).value;
215
6
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE3EE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
210
5
                                         IColumn& to) const override {
211
5
        auto& col = assert_cast<ColumnBitmap&>(to);
212
5
        size_t old_size = col.size();
213
5
        col.resize(old_size + 1);
214
5
        col.get_data()[old_size] = this->data(place).value;
215
5
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE4EE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
210
5
                                         IColumn& to) const override {
211
5
        auto& col = assert_cast<ColumnBitmap&>(to);
212
5
        size_t old_size = col.size();
213
5
        col.resize(old_size + 1);
214
5
        col.get_data()[old_size] = this->data(place).value;
215
5
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE5EE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
210
5
                                         IColumn& to) const override {
211
5
        auto& col = assert_cast<ColumnBitmap&>(to);
212
5
        size_t old_size = col.size();
213
5
        col.resize(old_size + 1);
214
5
        col.get_data()[old_size] = this->data(place).value;
215
5
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE6EE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
210
5
                                         IColumn& to) const override {
211
5
        auto& col = assert_cast<ColumnBitmap&>(to);
212
5
        size_t old_size = col.size();
213
5
        col.resize(old_size + 1);
214
5
        col.get_data()[old_size] = this->data(place).value;
215
5
    }
216
217
220
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
218
220
        return ColumnBitmap::create();
219
220
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE3EE23create_serialize_columnEv
Line
Count
Source
217
30
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
218
30
        return ColumnBitmap::create();
219
30
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE4EE23create_serialize_columnEv
Line
Count
Source
217
30
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
218
30
        return ColumnBitmap::create();
219
30
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE5EE23create_serialize_columnEv
Line
Count
Source
217
30
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
218
30
        return ColumnBitmap::create();
219
30
    }
_ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE6EE23create_serialize_columnEv
Line
Count
Source
217
30
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
218
30
        return ColumnBitmap::create();
219
30
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE3EE23create_serialize_columnEv
Line
Count
Source
217
25
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
218
25
        return ColumnBitmap::create();
219
25
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE4EE23create_serialize_columnEv
Line
Count
Source
217
25
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
218
25
        return ColumnBitmap::create();
219
25
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE5EE23create_serialize_columnEv
Line
Count
Source
217
25
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
218
25
        return ColumnBitmap::create();
219
25
    }
_ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE6EE23create_serialize_columnEv
Line
Count
Source
217
25
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
218
25
        return ColumnBitmap::create();
219
25
    }
220
221
0
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
222
0
        return std::make_shared<DataTypeBitMap>();
223
0
    }
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE3EE19get_serialized_typeEv
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE4EE19get_serialized_typeEv
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE5EE19get_serialized_typeEv
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE6EE19get_serialized_typeEv
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE3EE19get_serialized_typeEv
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE4EE19get_serialized_typeEv
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE5EE19get_serialized_typeEv
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE6EE19get_serialized_typeEv
224
};
225
226
} // namespace doris