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" |