Coverage Report

Created: 2026-03-14 04:23

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
#include "common/compile_check_begin.h"
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
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
48
49
0
    void reset() { value.reset(); }
Unexecuted instantiation: _ZN5doris30AggregateFunctionBitmapAggDataILNS_13PrimitiveTypeE3EE5resetEv
Unexecuted instantiation: _ZN5doris30AggregateFunctionBitmapAggDataILNS_13PrimitiveTypeE4EE5resetEv
Unexecuted instantiation: _ZN5doris30AggregateFunctionBitmapAggDataILNS_13PrimitiveTypeE5EE5resetEv
Unexecuted instantiation: _ZN5doris30AggregateFunctionBitmapAggDataILNS_13PrimitiveTypeE6EE5resetEv
50
51
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_
52
53
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
54
55
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
56
};
57
58
template <bool arg_nullable, PrimitiveType T>
59
class AggregateFunctionBitmapAgg final
60
        : public IAggregateFunctionDataHelper<AggregateFunctionBitmapAggData<T>,
61
                                              AggregateFunctionBitmapAgg<arg_nullable, T>>,
62
          UnaryExpression,
63
          NotNullableAggregateFunction {
64
public:
65
    using ColVecType = typename PrimitiveTypeTraits<T>::ColumnType;
66
    using Data = AggregateFunctionBitmapAggData<T>;
67
68
    AggregateFunctionBitmapAgg(const DataTypes& argument_types_)
69
0
            : IAggregateFunctionDataHelper<Data, AggregateFunctionBitmapAgg<arg_nullable, T>>(
70
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
71
72
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
73
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
74
75
    void add(AggregateDataPtr __restrict place, const IColumn** columns, ssize_t row_num,
76
0
             Arena&) const override {
77
0
        DCHECK_LT(row_num, columns[0]->size());
78
0
        if constexpr (arg_nullable) {
79
0
            auto& nullable_col =
80
0
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
81
0
            auto& nullable_map = nullable_col.get_null_map_data();
82
0
            if (!nullable_map[row_num]) {
83
0
                auto& col = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
84
0
                        nullable_col.get_nested_column());
85
0
                this->data(place).add(col.get_data()[row_num]);
86
0
            }
87
0
        } else {
88
0
            auto& col = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
89
0
            this->data(place).add(col.get_data()[row_num]);
90
0
        }
91
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
92
93
    void add_batch_single_place(size_t batch_size, AggregateDataPtr place, const IColumn** columns,
94
0
                                Arena&) const override {
95
0
        if constexpr (arg_nullable) {
96
0
            auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
97
0
            const auto& column =
98
0
                    assert_cast<const ColVecType&>(nullable_column.get_nested_column());
99
0
            std::vector<typename PrimitiveTypeTraits<T>::CppType> values;
100
0
            for (int i = 0; i < batch_size; ++i) {
101
0
                if (!nullable_column.is_null_at(i)) {
102
0
                    values.push_back(column.get_data()[i]);
103
0
                }
104
0
            }
105
0
            this->data(place).value.add_many(values.data(), values.size());
106
0
        } else {
107
0
            const auto& column = assert_cast<const ColVecType&>(*columns[0]);
108
0
            this->data(place).value.add_many(column.get_data().data(), column.size());
109
0
        }
110
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
111
112
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
113
114
    void merge(AggregateDataPtr __restrict place, ConstAggregateDataPtr rhs,
115
0
               Arena&) const override {
116
0
        this->data(place).merge(this->data(rhs));
117
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
118
119
0
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
120
0
        auto& column = assert_cast<ColumnBitmap&>(to);
121
0
        column.get_data().push_back(this->data(place).value);
122
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
123
124
0
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
125
0
        this->data(place).write(buf);
126
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
127
128
    void deserialize(AggregateDataPtr __restrict place, BufferReadable& buf,
129
0
                     Arena&) const override {
130
0
        this->data(place).read(buf);
131
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
132
133
    void streaming_agg_serialize_to_column(const IColumn** columns, MutableColumnPtr& dst,
134
0
                                           const size_t num_rows, Arena& arena) const override {
135
0
        auto& col = assert_cast<ColumnBitmap&>(*dst);
136
0
        char place[sizeof(Data)];
137
0
        col.resize(num_rows);
138
0
        auto* data = col.get_data().data();
139
0
        for (size_t i = 0; i != num_rows; ++i) {
140
0
            this->create(place);
141
0
            DEFER({ this->destroy(place); });
142
0
            this->add(place, columns, i, arena);
143
0
            data[i] = std::move(this->data(place).value);
144
0
        }
145
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
146
147
    void serialize_to_column(const std::vector<AggregateDataPtr>& places, size_t offset,
148
0
                             MutableColumnPtr& dst, const size_t num_rows) const override {
149
0
        auto& col = assert_cast<ColumnBitmap&>(*dst);
150
0
        col.resize(num_rows);
151
0
        auto* data = col.get_data().data();
152
0
        for (size_t i = 0; i != num_rows; ++i) {
153
0
            data[i] = this->data(places[i] + offset).value;
154
0
        }
155
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
156
157
    void deserialize_and_merge_from_column_range(AggregateDataPtr __restrict place,
158
                                                 const IColumn& column, size_t begin, size_t end,
159
0
                                                 Arena&) const override {
160
0
        DCHECK(end <= column.size() && begin <= end)
161
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
162
0
        auto& col = assert_cast<const ColumnBitmap&>(column);
163
0
        auto* data = col.get_data().data();
164
0
        for (size_t i = begin; i <= end; ++i) {
165
0
            this->data(place).value |= data[i];
166
0
        }
167
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
168
169
    void deserialize_and_merge_vec(const AggregateDataPtr* places, size_t offset,
170
                                   AggregateDataPtr rhs, const IColumn* column, Arena&,
171
0
                                   const size_t num_rows) const override {
172
0
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
173
0
        const auto* data = col.get_data().data();
174
0
        for (size_t i = 0; i != num_rows; ++i) {
175
0
            this->data(places[i] + offset).value |= data[i];
176
0
        }
177
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
178
179
    void deserialize_and_merge_vec_selected(const AggregateDataPtr* places, size_t offset,
180
                                            AggregateDataPtr rhs, const IColumn* column, Arena&,
181
0
                                            const size_t num_rows) const override {
182
0
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
183
0
        const auto* data = col.get_data().data();
184
0
        for (size_t i = 0; i != num_rows; ++i) {
185
0
            if (places[i]) {
186
0
                this->data(places[i] + offset).value |= data[i];
187
0
            }
188
0
        }
189
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
190
191
    void serialize_without_key_to_column(ConstAggregateDataPtr __restrict place,
192
0
                                         IColumn& to) const override {
193
0
        auto& col = assert_cast<ColumnBitmap&>(to);
194
0
        size_t old_size = col.size();
195
0
        col.resize(old_size + 1);
196
0
        col.get_data()[old_size] = this->data(place).value;
197
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
198
199
0
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
200
0
        return ColumnBitmap::create();
201
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
202
203
0
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
204
0
        return std::make_shared<DataTypeBitMap>();
205
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
206
};
207
208
} // namespace doris
209
#include "common/compile_check_end.h"