Coverage Report

Created: 2026-04-14 17:06

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/value/bitmap_value.h"
31
#include "exprs/aggregate/aggregate_function.h"
32
33
namespace doris {
34
class Arena;
35
class BufferReadable;
36
class BufferWritable;
37
class IColumn;
38
} // namespace doris
39
40
namespace doris {
41
42
template <PrimitiveType T>
43
struct AggregateFunctionBitmapAggData {
44
    BitmapValue value;
45
46
0
    void add(const typename PrimitiveTypeTraits<T>::CppType& value_) { value.add(value_); }
Unexecuted instantiation: _ZN5doris30AggregateFunctionBitmapAggDataILNS_13PrimitiveTypeE3EE3addERKa
Unexecuted instantiation: _ZN5doris30AggregateFunctionBitmapAggDataILNS_13PrimitiveTypeE4EE3addERKs
Unexecuted instantiation: _ZN5doris30AggregateFunctionBitmapAggDataILNS_13PrimitiveTypeE5EE3addERKi
Unexecuted instantiation: _ZN5doris30AggregateFunctionBitmapAggDataILNS_13PrimitiveTypeE6EE3addERKl
47
48
0
    void reset() { value.reset(); }
Unexecuted instantiation: _ZN5doris30AggregateFunctionBitmapAggDataILNS_13PrimitiveTypeE3EE5resetEv
Unexecuted instantiation: _ZN5doris30AggregateFunctionBitmapAggDataILNS_13PrimitiveTypeE4EE5resetEv
Unexecuted instantiation: _ZN5doris30AggregateFunctionBitmapAggDataILNS_13PrimitiveTypeE5EE5resetEv
Unexecuted instantiation: _ZN5doris30AggregateFunctionBitmapAggDataILNS_13PrimitiveTypeE6EE5resetEv
49
50
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_
51
52
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
53
54
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
55
};
56
57
template <bool arg_nullable, PrimitiveType T>
58
class AggregateFunctionBitmapAgg final
59
        : public IAggregateFunctionDataHelper<AggregateFunctionBitmapAggData<T>,
60
                                              AggregateFunctionBitmapAgg<arg_nullable, T>>,
61
          UnaryExpression,
62
          NotNullableAggregateFunction {
63
public:
64
    using ColVecType = typename PrimitiveTypeTraits<T>::ColumnType;
65
    using Data = AggregateFunctionBitmapAggData<T>;
66
67
    AggregateFunctionBitmapAgg(const DataTypes& argument_types_)
68
0
            : IAggregateFunctionDataHelper<Data, AggregateFunctionBitmapAgg<arg_nullable, T>>(
69
0
                      argument_types_) {}
Unexecuted instantiation: _ZN5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE3EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Unexecuted instantiation: _ZN5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE4EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Unexecuted instantiation: _ZN5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE5EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Unexecuted instantiation: _ZN5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE6EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Unexecuted instantiation: _ZN5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE3EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Unexecuted instantiation: _ZN5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE4EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Unexecuted instantiation: _ZN5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE5EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Unexecuted instantiation: _ZN5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE6EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
70
71
0
    std::string get_name() const override { return "bitmap_agg"; }
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE3EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE4EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE5EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE6EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE3EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE4EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE5EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE6EE8get_nameB5cxx11Ev
72
0
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeBitMap>(); }
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE3EE15get_return_typeEv
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE4EE15get_return_typeEv
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE5EE15get_return_typeEv
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE6EE15get_return_typeEv
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE3EE15get_return_typeEv
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE4EE15get_return_typeEv
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE5EE15get_return_typeEv
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE6EE15get_return_typeEv
73
74
    void add(AggregateDataPtr __restrict place, const IColumn** columns, ssize_t row_num,
75
0
             Arena&) const override {
76
0
        DCHECK_LT(row_num, columns[0]->size());
77
0
        if constexpr (arg_nullable) {
78
0
            auto& nullable_col =
79
0
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
80
0
            auto& nullable_map = nullable_col.get_null_map_data();
81
0
            if (!nullable_map[row_num]) {
82
0
                auto& col = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
83
0
                        nullable_col.get_nested_column());
84
0
                this->data(place).add(col.get_data()[row_num]);
85
0
            }
86
0
        } else {
87
0
            auto& col = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
88
0
            this->data(place).add(col.get_data()[row_num]);
89
0
        }
90
0
    }
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE3EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE4EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE5EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE6EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE3EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE4EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE5EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE6EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
91
92
    void add_batch_single_place(size_t batch_size, AggregateDataPtr place, const IColumn** columns,
93
0
                                Arena&) const override {
94
0
        if constexpr (arg_nullable) {
95
0
            auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
96
0
            const auto& column =
97
0
                    assert_cast<const ColVecType&>(nullable_column.get_nested_column());
98
0
            std::vector<typename PrimitiveTypeTraits<T>::CppType> values;
99
0
            for (int i = 0; i < batch_size; ++i) {
100
0
                if (!nullable_column.is_null_at(i)) {
101
0
                    values.push_back(column.get_data()[i]);
102
0
                }
103
0
            }
104
0
            this->data(place).value.add_many(values.data(), values.size());
105
0
        } else {
106
0
            const auto& column = assert_cast<const ColVecType&>(*columns[0]);
107
0
            this->data(place).value.add_many(column.get_data().data(), column.size());
108
0
        }
109
0
    }
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE3EE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE4EE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE5EE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE6EE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE3EE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE4EE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE5EE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE6EE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
110
111
0
    void reset(AggregateDataPtr place) const override { this->data(place).reset(); }
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE3EE5resetEPc
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE4EE5resetEPc
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE5EE5resetEPc
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE6EE5resetEPc
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE3EE5resetEPc
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE4EE5resetEPc
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE5EE5resetEPc
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE6EE5resetEPc
112
113
    void merge(AggregateDataPtr __restrict place, ConstAggregateDataPtr rhs,
114
0
               Arena&) const override {
115
0
        this->data(place).merge(this->data(rhs));
116
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
117
118
0
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
119
0
        auto& column = assert_cast<ColumnBitmap&>(to);
120
0
        column.get_data().push_back(this->data(place).value);
121
0
    }
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE3EE18insert_result_intoEPKcRNS_7IColumnE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE4EE18insert_result_intoEPKcRNS_7IColumnE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE5EE18insert_result_intoEPKcRNS_7IColumnE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE6EE18insert_result_intoEPKcRNS_7IColumnE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE3EE18insert_result_intoEPKcRNS_7IColumnE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE4EE18insert_result_intoEPKcRNS_7IColumnE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE5EE18insert_result_intoEPKcRNS_7IColumnE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE6EE18insert_result_intoEPKcRNS_7IColumnE
122
123
0
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
124
0
        this->data(place).write(buf);
125
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
126
127
    void deserialize(AggregateDataPtr __restrict place, BufferReadable& buf,
128
0
                     Arena&) const override {
129
0
        this->data(place).read(buf);
130
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
131
132
    void streaming_agg_serialize_to_column(const IColumn** columns, MutableColumnPtr& dst,
133
0
                                           const size_t num_rows, Arena& arena) const override {
134
0
        auto& col = assert_cast<ColumnBitmap&>(*dst);
135
0
        char place[sizeof(Data)];
136
0
        col.resize(num_rows);
137
0
        auto* data = col.get_data().data();
138
0
        for (size_t i = 0; i != num_rows; ++i) {
139
0
            this->create(place);
140
0
            DEFER({ this->destroy(place); });
141
0
            this->add(place, columns, i, arena);
142
0
            data[i] = std::move(this->data(place).value);
143
0
        }
144
0
    }
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE3EE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWIS3_E11mutable_ptrIS3_EEmRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE4EE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWIS3_E11mutable_ptrIS3_EEmRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE5EE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWIS3_E11mutable_ptrIS3_EEmRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE6EE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWIS3_E11mutable_ptrIS3_EEmRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE3EE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWIS3_E11mutable_ptrIS3_EEmRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE4EE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWIS3_E11mutable_ptrIS3_EEmRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE5EE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWIS3_E11mutable_ptrIS3_EEmRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE6EE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWIS3_E11mutable_ptrIS3_EEmRNS_5ArenaE
145
146
    void serialize_to_column(const std::vector<AggregateDataPtr>& places, size_t offset,
147
0
                             MutableColumnPtr& dst, const size_t num_rows) const override {
148
0
        auto& col = assert_cast<ColumnBitmap&>(*dst);
149
0
        col.resize(num_rows);
150
0
        auto* data = col.get_data().data();
151
0
        for (size_t i = 0; i != num_rows; ++i) {
152
0
            data[i] = this->data(places[i] + offset).value;
153
0
        }
154
0
    }
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE3EE19serialize_to_columnERKSt6vectorIPcSaIS4_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISA_EEm
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE4EE19serialize_to_columnERKSt6vectorIPcSaIS4_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISA_EEm
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE5EE19serialize_to_columnERKSt6vectorIPcSaIS4_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISA_EEm
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE6EE19serialize_to_columnERKSt6vectorIPcSaIS4_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISA_EEm
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE3EE19serialize_to_columnERKSt6vectorIPcSaIS4_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISA_EEm
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE4EE19serialize_to_columnERKSt6vectorIPcSaIS4_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISA_EEm
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE5EE19serialize_to_columnERKSt6vectorIPcSaIS4_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISA_EEm
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE6EE19serialize_to_columnERKSt6vectorIPcSaIS4_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISA_EEm
155
156
    void deserialize_and_merge_from_column_range(AggregateDataPtr __restrict place,
157
                                                 const IColumn& column, size_t begin, size_t end,
158
0
                                                 Arena&) const override {
159
0
        DCHECK(end <= column.size() && begin <= end)
160
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
161
0
        auto& col = assert_cast<const ColumnBitmap&>(column);
162
0
        auto* data = col.get_data().data();
163
0
        for (size_t i = begin; i <= end; ++i) {
164
0
            this->data(place).value |= data[i];
165
0
        }
166
0
    }
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE3EE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE4EE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE5EE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE6EE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE3EE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE4EE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE5EE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE6EE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
167
168
    void deserialize_and_merge_vec(const AggregateDataPtr* places, size_t offset,
169
                                   AggregateDataPtr rhs, const IColumn* column, Arena&,
170
0
                                   const size_t num_rows) const override {
171
0
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
172
0
        const auto* data = col.get_data().data();
173
0
        for (size_t i = 0; i != num_rows; ++i) {
174
0
            this->data(places[i] + offset).value |= data[i];
175
0
        }
176
0
    }
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE3EE25deserialize_and_merge_vecEPKPcmS3_PKNS_7IColumnERNS_5ArenaEm
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE4EE25deserialize_and_merge_vecEPKPcmS3_PKNS_7IColumnERNS_5ArenaEm
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE5EE25deserialize_and_merge_vecEPKPcmS3_PKNS_7IColumnERNS_5ArenaEm
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE6EE25deserialize_and_merge_vecEPKPcmS3_PKNS_7IColumnERNS_5ArenaEm
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE3EE25deserialize_and_merge_vecEPKPcmS3_PKNS_7IColumnERNS_5ArenaEm
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE4EE25deserialize_and_merge_vecEPKPcmS3_PKNS_7IColumnERNS_5ArenaEm
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE5EE25deserialize_and_merge_vecEPKPcmS3_PKNS_7IColumnERNS_5ArenaEm
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE6EE25deserialize_and_merge_vecEPKPcmS3_PKNS_7IColumnERNS_5ArenaEm
177
178
    void deserialize_and_merge_vec_selected(const AggregateDataPtr* places, size_t offset,
179
                                            AggregateDataPtr rhs, const IColumn* column, Arena&,
180
0
                                            const size_t num_rows) const override {
181
0
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
182
0
        const auto* data = col.get_data().data();
183
0
        for (size_t i = 0; i != num_rows; ++i) {
184
0
            if (places[i]) {
185
0
                this->data(places[i] + offset).value |= data[i];
186
0
            }
187
0
        }
188
0
    }
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE3EE34deserialize_and_merge_vec_selectedEPKPcmS3_PKNS_7IColumnERNS_5ArenaEm
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE4EE34deserialize_and_merge_vec_selectedEPKPcmS3_PKNS_7IColumnERNS_5ArenaEm
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE5EE34deserialize_and_merge_vec_selectedEPKPcmS3_PKNS_7IColumnERNS_5ArenaEm
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE6EE34deserialize_and_merge_vec_selectedEPKPcmS3_PKNS_7IColumnERNS_5ArenaEm
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE3EE34deserialize_and_merge_vec_selectedEPKPcmS3_PKNS_7IColumnERNS_5ArenaEm
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE4EE34deserialize_and_merge_vec_selectedEPKPcmS3_PKNS_7IColumnERNS_5ArenaEm
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE5EE34deserialize_and_merge_vec_selectedEPKPcmS3_PKNS_7IColumnERNS_5ArenaEm
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE6EE34deserialize_and_merge_vec_selectedEPKPcmS3_PKNS_7IColumnERNS_5ArenaEm
189
190
    void serialize_without_key_to_column(ConstAggregateDataPtr __restrict place,
191
0
                                         IColumn& to) const override {
192
0
        auto& col = assert_cast<ColumnBitmap&>(to);
193
0
        size_t old_size = col.size();
194
0
        col.resize(old_size + 1);
195
0
        col.get_data()[old_size] = this->data(place).value;
196
0
    }
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE3EE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE4EE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE5EE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE6EE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE3EE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE4EE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE5EE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE6EE31serialize_without_key_to_columnEPKcRNS_7IColumnE
197
198
0
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
199
0
        return ColumnBitmap::create();
200
0
    }
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE3EE23create_serialize_columnEv
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE4EE23create_serialize_columnEv
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE5EE23create_serialize_columnEv
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb1ELNS_13PrimitiveTypeE6EE23create_serialize_columnEv
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE3EE23create_serialize_columnEv
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE4EE23create_serialize_columnEv
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE5EE23create_serialize_columnEv
Unexecuted instantiation: _ZNK5doris26AggregateFunctionBitmapAggILb0ELNS_13PrimitiveTypeE6EE23create_serialize_columnEv
201
202
0
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
203
0
        return std::make_shared<DataTypeBitMap>();
204
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
205
};
206
207
} // namespace doris