Coverage Report

Created: 2026-03-16 19:50

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
be/src/exprs/aggregate/aggregate_function_bitmap.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 "agent/be_exec_version_manager.h"
29
#include "common/compiler_util.h" // IWYU pragma: keep
30
#include "core/assert_cast.h"
31
#include "core/column/column_complex.h"
32
#include "core/column/column_nullable.h"
33
#include "core/column/column_vector.h"
34
#include "core/data_type/data_type_bitmap.h"
35
#include "core/data_type/data_type_number.h"
36
#include "core/types.h"
37
#include "core/value/bitmap_value.h"
38
#include "exprs/aggregate/aggregate_function.h"
39
40
namespace doris {
41
#include "common/compile_check_begin.h"
42
43
class Arena;
44
class BufferReadable;
45
class BufferWritable;
46
class IColumn;
47
struct AggregateFunctionBitmapUnionOp {
48
    static constexpr auto name = "bitmap_union";
49
50
    template <typename T>
51
513
    static void add(BitmapValue& res, const T& data, bool& is_first) {
52
513
        res.add(data);
53
513
        is_first = false;
54
513
    }
_ZN5doris30AggregateFunctionBitmapUnionOp3addIaEEvRNS_11BitmapValueERKT_Rb
Line
Count
Source
51
117
    static void add(BitmapValue& res, const T& data, bool& is_first) {
52
117
        res.add(data);
53
117
        is_first = false;
54
117
    }
_ZN5doris30AggregateFunctionBitmapUnionOp3addIsEEvRNS_11BitmapValueERKT_Rb
Line
Count
Source
51
142
    static void add(BitmapValue& res, const T& data, bool& is_first) {
52
142
        res.add(data);
53
142
        is_first = false;
54
142
    }
_ZN5doris30AggregateFunctionBitmapUnionOp3addIiEEvRNS_11BitmapValueERKT_Rb
Line
Count
Source
51
245
    static void add(BitmapValue& res, const T& data, bool& is_first) {
52
245
        res.add(data);
53
245
        is_first = false;
54
245
    }
_ZN5doris30AggregateFunctionBitmapUnionOp3addIlEEvRNS_11BitmapValueERKT_Rb
Line
Count
Source
51
9
    static void add(BitmapValue& res, const T& data, bool& is_first) {
52
9
        res.add(data);
53
9
        is_first = false;
54
9
    }
55
56
136k
    static void add(BitmapValue& res, const BitmapValue& data, bool& is_first) {
57
136k
        if (UNLIKELY(is_first)) {
58
38.2k
            res = data;
59
38.2k
            is_first = false;
60
98.2k
        } else {
61
98.2k
            res |= data;
62
98.2k
        }
63
136k
    }
64
65
7.85k
    static void add_batch(BitmapValue& res, std::vector<const BitmapValue*>& data, bool& is_first) {
66
7.85k
        res.fastunion(data);
67
        // after fastunion, res myabe have many datas, so is_first should be false
68
        // then call add function will not reset res
69
7.85k
        is_first = false;
70
7.85k
    }
71
72
39.3k
    static void merge(BitmapValue& res, const BitmapValue& data, bool& is_first) {
73
39.3k
        if (UNLIKELY(is_first)) {
74
39.1k
            res = data;
75
39.1k
            is_first = false;
76
39.1k
        } else {
77
245
            res |= data;
78
245
        }
79
39.3k
    }
80
};
81
82
struct AggregateFunctionBitmapIntersectOp {
83
    static constexpr auto name = "bitmap_intersect";
84
85
5.69k
    static void add(BitmapValue& res, const BitmapValue& data, bool& is_first) {
86
5.69k
        if (UNLIKELY(is_first)) {
87
1.67k
            res = data;
88
1.67k
            is_first = false;
89
4.02k
        } else {
90
4.02k
            res &= data;
91
4.02k
        }
92
5.69k
    }
93
94
232
    static void merge(BitmapValue& res, const BitmapValue& data, bool& is_first) {
95
232
        if (UNLIKELY(is_first)) {
96
125
            res = data;
97
125
            is_first = false;
98
125
        } else {
99
107
            res &= data;
100
107
        }
101
232
    }
102
};
103
104
struct AggregateFunctionGroupBitmapXorOp {
105
    static constexpr auto name = "group_bitmap_xor";
106
107
290
    static void add(BitmapValue& res, const BitmapValue& data, bool& is_first) {
108
290
        if (UNLIKELY(is_first)) {
109
213
            res = data;
110
213
            is_first = false;
111
213
        } else {
112
77
            res ^= data;
113
77
        }
114
290
    }
115
116
185
    static void merge(BitmapValue& res, const BitmapValue& data, bool& is_first) {
117
185
        if (UNLIKELY(is_first)) {
118
83
            res = data;
119
83
            is_first = false;
120
102
        } else {
121
102
            res ^= data;
122
102
        }
123
185
    }
124
};
125
126
template <typename Op>
127
struct AggregateFunctionBitmapData {
128
    BitmapValue value;
129
    bool is_first = true;
130
131
    template <typename T>
132
142k
    void add(const T& data) {
133
142k
        Op::add(value, data, is_first);
134
142k
    }
_ZN5doris27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEE3addINS_11BitmapValueEEEvRKT_
Line
Count
Source
132
136k
    void add(const T& data) {
133
136k
        Op::add(value, data, is_first);
134
136k
    }
_ZN5doris27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEE3addIaEEvRKT_
Line
Count
Source
132
117
    void add(const T& data) {
133
117
        Op::add(value, data, is_first);
134
117
    }
_ZN5doris27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEE3addIsEEvRKT_
Line
Count
Source
132
142
    void add(const T& data) {
133
142
        Op::add(value, data, is_first);
134
142
    }
_ZN5doris27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEE3addIiEEvRKT_
Line
Count
Source
132
245
    void add(const T& data) {
133
245
        Op::add(value, data, is_first);
134
245
    }
_ZN5doris27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEE3addIlEEvRKT_
Line
Count
Source
132
9
    void add(const T& data) {
133
9
        Op::add(value, data, is_first);
134
9
    }
_ZN5doris27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEE3addINS_11BitmapValueEEEvRKT_
Line
Count
Source
132
5.69k
    void add(const T& data) {
133
5.69k
        Op::add(value, data, is_first);
134
5.69k
    }
_ZN5doris27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEE3addINS_11BitmapValueEEEvRKT_
Line
Count
Source
132
290
    void add(const T& data) {
133
290
        Op::add(value, data, is_first);
134
290
    }
135
136
7.85k
    void add_batch(std::vector<const BitmapValue*>& data) { Op::add_batch(value, data, is_first); }
137
138
39.8k
    void merge(const BitmapValue& data) { Op::merge(value, data, is_first); }
_ZN5doris27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEE5mergeERKNS_11BitmapValueE
Line
Count
Source
138
39.3k
    void merge(const BitmapValue& data) { Op::merge(value, data, is_first); }
_ZN5doris27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEE5mergeERKNS_11BitmapValueE
Line
Count
Source
138
232
    void merge(const BitmapValue& data) { Op::merge(value, data, is_first); }
_ZN5doris27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEE5mergeERKNS_11BitmapValueE
Line
Count
Source
138
185
    void merge(const BitmapValue& data) { Op::merge(value, data, is_first); }
139
140
0
    void write(BufferWritable& buf) const { DataTypeBitMap::serialize_as_stream(value, buf); }
Unexecuted instantiation: _ZNK5doris27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEE5writeERNS_14BufferWritableE
Unexecuted instantiation: _ZNK5doris27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEE5writeERNS_14BufferWritableE
Unexecuted instantiation: _ZNK5doris27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEE5writeERNS_14BufferWritableE
141
142
0
    void read(BufferReadable& buf) { DataTypeBitMap::deserialize_as_stream(value, buf); }
Unexecuted instantiation: _ZN5doris27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEE4readERNS_14BufferReadableE
Unexecuted instantiation: _ZN5doris27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEE4readERNS_14BufferReadableE
Unexecuted instantiation: _ZN5doris27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEE4readERNS_14BufferReadableE
143
144
7.62k
    void reset() {
145
7.62k
        is_first = true;
146
7.62k
        value.reset(); // it's better to call reset function by self firstly.
147
7.62k
    }
_ZN5doris27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEE5resetEv
Line
Count
Source
144
7.53k
    void reset() {
145
7.53k
        is_first = true;
146
7.53k
        value.reset(); // it's better to call reset function by self firstly.
147
7.53k
    }
_ZN5doris27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEE5resetEv
Line
Count
Source
144
56
    void reset() {
145
56
        is_first = true;
146
56
        value.reset(); // it's better to call reset function by self firstly.
147
56
    }
_ZN5doris27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEE5resetEv
Line
Count
Source
144
38
    void reset() {
145
38
        is_first = true;
146
38
        value.reset(); // it's better to call reset function by self firstly.
147
38
    }
148
149
    BitmapValue& get() { return value; }
150
151
48.4k
    const BitmapValue& get() const { return value; }
_ZNK5doris27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEE3getEv
Line
Count
Source
151
46.8k
    const BitmapValue& get() const { return value; }
_ZNK5doris27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEE3getEv
Line
Count
Source
151
1.52k
    const BitmapValue& get() const { return value; }
_ZNK5doris27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEE3getEv
Line
Count
Source
151
82
    const BitmapValue& get() const { return value; }
152
};
153
154
template <typename Data, typename Derived>
155
class AggregateFunctionBitmapSerializationHelper
156
        : public IAggregateFunctionDataHelper<Data, Derived> {
157
public:
158
    using BaseHelper = IAggregateFunctionHelper<Derived>;
159
160
    AggregateFunctionBitmapSerializationHelper(const DataTypes& argument_types_)
161
5.07k
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISE_EE
Line
Count
Source
161
3
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISE_EE
Line
Count
Source
161
543
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISE_EE
Line
Count
Source
161
11
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISE_EE
Line
Count
Source
161
14
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISE_EE
Line
Count
Source
161
437
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
Unexecuted instantiation: _ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISE_EE
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISE_EE
Line
Count
Source
161
9
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISE_EE
Line
Count
Source
161
9
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISE_EE
Line
Count
Source
161
15
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISE_EE
Line
Count
Source
161
1
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_25AggregateFunctionBitmapOpIS2_EEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
161
2.37k
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEEENS_25AggregateFunctionBitmapOpIS2_EEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
161
1.20k
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEEENS_25AggregateFunctionBitmapOpIS2_EEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
161
459
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
162
163
    void streaming_agg_serialize_to_column(const IColumn** columns, MutableColumnPtr& dst,
164
57
                                           const size_t num_rows, Arena& arena) const override {
165
57
        auto& col = assert_cast<ColumnBitmap&>(*dst);
166
57
        char place[sizeof(Data)];
167
57
        col.resize(num_rows);
168
57
        auto* data = col.get_data().data();
169
519
        for (size_t i = 0; i != num_rows; ++i) {
170
462
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->create(place);
171
462
            DEFER({
172
462
                assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->destroy(place);
173
462
            });
174
462
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->add(place, columns, i,
175
462
                                                                                arena);
176
462
            data[i] = std::move(this->data(place).value);
177
462
        }
178
57
    }
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWISA_E11mutable_ptrISA_EEmRNS_5ArenaE
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWISA_E11mutable_ptrISA_EEmRNS_5ArenaE
Line
Count
Source
164
9
                                           const size_t num_rows, Arena& arena) const override {
165
9
        auto& col = assert_cast<ColumnBitmap&>(*dst);
166
9
        char place[sizeof(Data)];
167
9
        col.resize(num_rows);
168
9
        auto* data = col.get_data().data();
169
117
        for (size_t i = 0; i != num_rows; ++i) {
170
108
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->create(place);
171
108
            DEFER({
172
108
                assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->destroy(place);
173
108
            });
174
108
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->add(place, columns, i,
175
108
                                                                                arena);
176
108
            data[i] = std::move(this->data(place).value);
177
108
        }
178
9
    }
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWISA_E11mutable_ptrISA_EEmRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWISA_E11mutable_ptrISA_EEmRNS_5ArenaE
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWISA_E11mutable_ptrISA_EEmRNS_5ArenaE
Line
Count
Source
164
9
                                           const size_t num_rows, Arena& arena) const override {
165
9
        auto& col = assert_cast<ColumnBitmap&>(*dst);
166
9
        char place[sizeof(Data)];
167
9
        col.resize(num_rows);
168
9
        auto* data = col.get_data().data();
169
117
        for (size_t i = 0; i != num_rows; ++i) {
170
108
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->create(place);
171
108
            DEFER({
172
108
                assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->destroy(place);
173
108
            });
174
108
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->add(place, columns, i,
175
108
                                                                                arena);
176
108
            data[i] = std::move(this->data(place).value);
177
108
        }
178
9
    }
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWISA_E11mutable_ptrISA_EEmRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWISA_E11mutable_ptrISA_EEmRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWISA_E11mutable_ptrISA_EEmRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWISA_E11mutable_ptrISA_EEmRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWISA_E11mutable_ptrISA_EEmRNS_5ArenaE
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_25AggregateFunctionBitmapOpIS2_EEE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWIS7_E11mutable_ptrIS7_EEmRNS_5ArenaE
Line
Count
Source
164
7
                                           const size_t num_rows, Arena& arena) const override {
165
7
        auto& col = assert_cast<ColumnBitmap&>(*dst);
166
7
        char place[sizeof(Data)];
167
7
        col.resize(num_rows);
168
7
        auto* data = col.get_data().data();
169
23
        for (size_t i = 0; i != num_rows; ++i) {
170
16
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->create(place);
171
16
            DEFER({
172
16
                assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->destroy(place);
173
16
            });
174
16
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->add(place, columns, i,
175
16
                                                                                arena);
176
16
            data[i] = std::move(this->data(place).value);
177
16
        }
178
7
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEEENS_25AggregateFunctionBitmapOpIS2_EEE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWIS7_E11mutable_ptrIS7_EEmRNS_5ArenaE
Line
Count
Source
164
23
                                           const size_t num_rows, Arena& arena) const override {
165
23
        auto& col = assert_cast<ColumnBitmap&>(*dst);
166
23
        char place[sizeof(Data)];
167
23
        col.resize(num_rows);
168
23
        auto* data = col.get_data().data();
169
145
        for (size_t i = 0; i != num_rows; ++i) {
170
122
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->create(place);
171
122
            DEFER({
172
122
                assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->destroy(place);
173
122
            });
174
122
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->add(place, columns, i,
175
122
                                                                                arena);
176
122
            data[i] = std::move(this->data(place).value);
177
122
        }
178
23
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEEENS_25AggregateFunctionBitmapOpIS2_EEE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWIS7_E11mutable_ptrIS7_EEmRNS_5ArenaE
Line
Count
Source
164
9
                                           const size_t num_rows, Arena& arena) const override {
165
9
        auto& col = assert_cast<ColumnBitmap&>(*dst);
166
9
        char place[sizeof(Data)];
167
9
        col.resize(num_rows);
168
9
        auto* data = col.get_data().data();
169
117
        for (size_t i = 0; i != num_rows; ++i) {
170
108
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->create(place);
171
108
            DEFER({
172
108
                assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->destroy(place);
173
108
            });
174
108
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->add(place, columns, i,
175
108
                                                                                arena);
176
108
            data[i] = std::move(this->data(place).value);
177
108
        }
178
9
    }
179
180
    void serialize_to_column(const std::vector<AggregateDataPtr>& places, size_t offset,
181
2.15k
                             MutableColumnPtr& dst, const size_t num_rows) const override {
182
2.15k
        auto& col = assert_cast<ColumnBitmap&>(*dst);
183
2.15k
        col.resize(num_rows);
184
2.15k
        auto* data = col.get_data().data();
185
44.2k
        for (size_t i = 0; i != num_rows; ++i) {
186
42.1k
            data[i] = std::move(this->data(places[i] + offset).value);
187
42.1k
        }
188
2.15k
    }
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE19serialize_to_columnERKSt6vectorIPcSaISB_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISH_EEm
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE19serialize_to_columnERKSt6vectorIPcSaISB_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISH_EEm
Line
Count
Source
181
248
                             MutableColumnPtr& dst, const size_t num_rows) const override {
182
248
        auto& col = assert_cast<ColumnBitmap&>(*dst);
183
248
        col.resize(num_rows);
184
248
        auto* data = col.get_data().data();
185
426
        for (size_t i = 0; i != num_rows; ++i) {
186
178
            data[i] = std::move(this->data(places[i] + offset).value);
187
178
        }
188
248
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE19serialize_to_columnERKSt6vectorIPcSaISB_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISH_EEm
Line
Count
Source
181
13
                             MutableColumnPtr& dst, const size_t num_rows) const override {
182
13
        auto& col = assert_cast<ColumnBitmap&>(*dst);
183
13
        col.resize(num_rows);
184
13
        auto* data = col.get_data().data();
185
51
        for (size_t i = 0; i != num_rows; ++i) {
186
38
            data[i] = std::move(this->data(places[i] + offset).value);
187
38
        }
188
13
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE19serialize_to_columnERKSt6vectorIPcSaISB_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISH_EEm
Line
Count
Source
181
13
                             MutableColumnPtr& dst, const size_t num_rows) const override {
182
13
        auto& col = assert_cast<ColumnBitmap&>(*dst);
183
13
        col.resize(num_rows);
184
13
        auto* data = col.get_data().data();
185
51
        for (size_t i = 0; i != num_rows; ++i) {
186
38
            data[i] = std::move(this->data(places[i] + offset).value);
187
38
        }
188
13
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE19serialize_to_columnERKSt6vectorIPcSaISB_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISH_EEm
Line
Count
Source
181
13
                             MutableColumnPtr& dst, const size_t num_rows) const override {
182
13
        auto& col = assert_cast<ColumnBitmap&>(*dst);
183
13
        col.resize(num_rows);
184
13
        auto* data = col.get_data().data();
185
51
        for (size_t i = 0; i != num_rows; ++i) {
186
38
            data[i] = std::move(this->data(places[i] + offset).value);
187
38
        }
188
13
    }
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE19serialize_to_columnERKSt6vectorIPcSaISB_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISH_EEm
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE19serialize_to_columnERKSt6vectorIPcSaISB_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISH_EEm
Line
Count
Source
181
5
                             MutableColumnPtr& dst, const size_t num_rows) const override {
182
5
        auto& col = assert_cast<ColumnBitmap&>(*dst);
183
5
        col.resize(num_rows);
184
5
        auto* data = col.get_data().data();
185
19
        for (size_t i = 0; i != num_rows; ++i) {
186
14
            data[i] = std::move(this->data(places[i] + offset).value);
187
14
        }
188
5
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE19serialize_to_columnERKSt6vectorIPcSaISB_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISH_EEm
Line
Count
Source
181
5
                             MutableColumnPtr& dst, const size_t num_rows) const override {
182
5
        auto& col = assert_cast<ColumnBitmap&>(*dst);
183
5
        col.resize(num_rows);
184
5
        auto* data = col.get_data().data();
185
19
        for (size_t i = 0; i != num_rows; ++i) {
186
14
            data[i] = std::move(this->data(places[i] + offset).value);
187
14
        }
188
5
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE19serialize_to_columnERKSt6vectorIPcSaISB_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISH_EEm
Line
Count
Source
181
5
                             MutableColumnPtr& dst, const size_t num_rows) const override {
182
5
        auto& col = assert_cast<ColumnBitmap&>(*dst);
183
5
        col.resize(num_rows);
184
5
        auto* data = col.get_data().data();
185
19
        for (size_t i = 0; i != num_rows; ++i) {
186
14
            data[i] = std::move(this->data(places[i] + offset).value);
187
14
        }
188
5
    }
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE19serialize_to_columnERKSt6vectorIPcSaISB_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISH_EEm
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_25AggregateFunctionBitmapOpIS2_EEE19serialize_to_columnERKSt6vectorIPcSaIS8_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISE_EEm
Line
Count
Source
181
1.81k
                             MutableColumnPtr& dst, const size_t num_rows) const override {
182
1.81k
        auto& col = assert_cast<ColumnBitmap&>(*dst);
183
1.81k
        col.resize(num_rows);
184
1.81k
        auto* data = col.get_data().data();
185
43.4k
        for (size_t i = 0; i != num_rows; ++i) {
186
41.6k
            data[i] = std::move(this->data(places[i] + offset).value);
187
41.6k
        }
188
1.81k
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEEENS_25AggregateFunctionBitmapOpIS2_EEE19serialize_to_columnERKSt6vectorIPcSaIS8_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISE_EEm
Line
Count
Source
181
23
                             MutableColumnPtr& dst, const size_t num_rows) const override {
182
23
        auto& col = assert_cast<ColumnBitmap&>(*dst);
183
23
        col.resize(num_rows);
184
23
        auto* data = col.get_data().data();
185
79
        for (size_t i = 0; i != num_rows; ++i) {
186
56
            data[i] = std::move(this->data(places[i] + offset).value);
187
56
        }
188
23
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEEENS_25AggregateFunctionBitmapOpIS2_EEE19serialize_to_columnERKSt6vectorIPcSaIS8_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISE_EEm
Line
Count
Source
181
18
                             MutableColumnPtr& dst, const size_t num_rows) const override {
182
18
        auto& col = assert_cast<ColumnBitmap&>(*dst);
183
18
        col.resize(num_rows);
184
18
        auto* data = col.get_data().data();
185
70
        for (size_t i = 0; i != num_rows; ++i) {
186
52
            data[i] = std::move(this->data(places[i] + offset).value);
187
52
        }
188
18
    }
189
190
    void deserialize_and_merge_from_column_range(AggregateDataPtr __restrict place,
191
                                                 const IColumn& column, size_t begin, size_t end,
192
791
                                                 Arena&) const override {
193
791
        DCHECK(end <= column.size() && begin <= end)
194
2
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
195
791
        const auto& col = assert_cast<const ColumnBitmap&>(column);
196
791
        const auto* data = col.get_data().data();
197
1.69k
        for (size_t i = begin; i <= end; ++i) {
198
908
            this->data(place).merge(data[i]);
199
908
        }
200
791
    }
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
192
155
                                                 Arena&) const override {
193
155
        DCHECK(end <= column.size() && begin <= end)
194
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
195
155
        const auto& col = assert_cast<const ColumnBitmap&>(column);
196
155
        const auto* data = col.get_data().data();
197
327
        for (size_t i = begin; i <= end; ++i) {
198
172
            this->data(place).merge(data[i]);
199
172
        }
200
155
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
192
9
                                                 Arena&) const override {
193
9
        DCHECK(end <= column.size() && begin <= end)
194
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
195
9
        const auto& col = assert_cast<const ColumnBitmap&>(column);
196
9
        const auto* data = col.get_data().data();
197
27
        for (size_t i = begin; i <= end; ++i) {
198
18
            this->data(place).merge(data[i]);
199
18
        }
200
9
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
192
10
                                                 Arena&) const override {
193
10
        DCHECK(end <= column.size() && begin <= end)
194
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
195
10
        const auto& col = assert_cast<const ColumnBitmap&>(column);
196
10
        const auto* data = col.get_data().data();
197
29
        for (size_t i = begin; i <= end; ++i) {
198
19
            this->data(place).merge(data[i]);
199
19
        }
200
10
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
192
130
                                                 Arena&) const override {
193
130
        DCHECK(end <= column.size() && begin <= end)
194
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
195
130
        const auto& col = assert_cast<const ColumnBitmap&>(column);
196
130
        const auto* data = col.get_data().data();
197
269
        for (size_t i = begin; i <= end; ++i) {
198
139
            this->data(place).merge(data[i]);
199
139
        }
200
130
    }
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
192
9
                                                 Arena&) const override {
193
9
        DCHECK(end <= column.size() && begin <= end)
194
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
195
9
        const auto& col = assert_cast<const ColumnBitmap&>(column);
196
9
        const auto* data = col.get_data().data();
197
26
        for (size_t i = begin; i <= end; ++i) {
198
17
            this->data(place).merge(data[i]);
199
17
        }
200
9
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
192
9
                                                 Arena&) const override {
193
9
        DCHECK(end <= column.size() && begin <= end)
194
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
195
9
        const auto& col = assert_cast<const ColumnBitmap&>(column);
196
9
        const auto* data = col.get_data().data();
197
26
        for (size_t i = begin; i <= end; ++i) {
198
17
            this->data(place).merge(data[i]);
199
17
        }
200
9
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
192
10
                                                 Arena&) const override {
193
10
        DCHECK(end <= column.size() && begin <= end)
194
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
195
10
        const auto& col = assert_cast<const ColumnBitmap&>(column);
196
10
        const auto* data = col.get_data().data();
197
28
        for (size_t i = begin; i <= end; ++i) {
198
18
            this->data(place).merge(data[i]);
199
18
        }
200
10
    }
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_25AggregateFunctionBitmapOpIS2_EEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
192
134
                                                 Arena&) const override {
193
134
        DCHECK(end <= column.size() && begin <= end)
194
2
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
195
134
        const auto& col = assert_cast<const ColumnBitmap&>(column);
196
134
        const auto* data = col.get_data().data();
197
283
        for (size_t i = begin; i <= end; ++i) {
198
149
            this->data(place).merge(data[i]);
199
149
        }
200
134
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEEENS_25AggregateFunctionBitmapOpIS2_EEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
192
184
                                                 Arena&) const override {
193
184
        DCHECK(end <= column.size() && begin <= end)
194
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
195
184
        const auto& col = assert_cast<const ColumnBitmap&>(column);
196
184
        const auto* data = col.get_data().data();
197
385
        for (size_t i = begin; i <= end; ++i) {
198
201
            this->data(place).merge(data[i]);
199
201
        }
200
184
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEEENS_25AggregateFunctionBitmapOpIS2_EEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
192
141
                                                 Arena&) const override {
193
141
        DCHECK(end <= column.size() && begin <= end)
194
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
195
141
        const auto& col = assert_cast<const ColumnBitmap&>(column);
196
141
        const auto* data = col.get_data().data();
197
299
        for (size_t i = begin; i <= end; ++i) {
198
158
            this->data(place).merge(data[i]);
199
158
        }
200
141
    }
201
202
    void deserialize_and_merge_vec(const AggregateDataPtr* places, size_t offset,
203
                                   AggregateDataPtr rhs, const IColumn* column, Arena&,
204
742
                                   const size_t num_rows) const override {
205
742
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
206
742
        const auto* data = col.get_data().data();
207
39.8k
        for (size_t i = 0; i != num_rows; ++i) {
208
39.1k
            this->data(places[i] + offset).merge(data[i]);
209
39.1k
        }
210
742
    }
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE25deserialize_and_merge_vecEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE25deserialize_and_merge_vecEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
204
115
                                   const size_t num_rows) const override {
205
115
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
206
115
        const auto* data = col.get_data().data();
207
268
        for (size_t i = 0; i != num_rows; ++i) {
208
153
            this->data(places[i] + offset).merge(data[i]);
209
153
        }
210
115
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE25deserialize_and_merge_vecEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
204
9
                                   const size_t num_rows) const override {
205
9
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
206
9
        const auto* data = col.get_data().data();
207
34
        for (size_t i = 0; i != num_rows; ++i) {
208
25
            this->data(places[i] + offset).merge(data[i]);
209
25
        }
210
9
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE25deserialize_and_merge_vecEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
204
9
                                   const size_t num_rows) const override {
205
9
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
206
9
        const auto* data = col.get_data().data();
207
34
        for (size_t i = 0; i != num_rows; ++i) {
208
25
            this->data(places[i] + offset).merge(data[i]);
209
25
        }
210
9
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE25deserialize_and_merge_vecEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
204
9
                                   const size_t num_rows) const override {
205
9
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
206
9
        const auto* data = col.get_data().data();
207
34
        for (size_t i = 0; i != num_rows; ++i) {
208
25
            this->data(places[i] + offset).merge(data[i]);
209
25
        }
210
9
    }
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE25deserialize_and_merge_vecEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE25deserialize_and_merge_vecEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
204
1
                                   const size_t num_rows) const override {
205
1
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
206
1
        const auto* data = col.get_data().data();
207
3
        for (size_t i = 0; i != num_rows; ++i) {
208
2
            this->data(places[i] + offset).merge(data[i]);
209
2
        }
210
1
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE25deserialize_and_merge_vecEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
204
1
                                   const size_t num_rows) const override {
205
1
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
206
1
        const auto* data = col.get_data().data();
207
3
        for (size_t i = 0; i != num_rows; ++i) {
208
2
            this->data(places[i] + offset).merge(data[i]);
209
2
        }
210
1
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE25deserialize_and_merge_vecEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
204
1
                                   const size_t num_rows) const override {
205
1
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
206
1
        const auto* data = col.get_data().data();
207
3
        for (size_t i = 0; i != num_rows; ++i) {
208
2
            this->data(places[i] + offset).merge(data[i]);
209
2
        }
210
1
    }
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE25deserialize_and_merge_vecEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_25AggregateFunctionBitmapOpIS2_EEE25deserialize_and_merge_vecEPKPcmS7_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
204
575
                                   const size_t num_rows) const override {
205
575
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
206
575
        const auto* data = col.get_data().data();
207
39.4k
        for (size_t i = 0; i != num_rows; ++i) {
208
38.8k
            this->data(places[i] + offset).merge(data[i]);
209
38.8k
        }
210
575
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEEENS_25AggregateFunctionBitmapOpIS2_EEE25deserialize_and_merge_vecEPKPcmS7_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
204
12
                                   const size_t num_rows) const override {
205
12
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
206
12
        const auto* data = col.get_data().data();
207
43
        for (size_t i = 0; i != num_rows; ++i) {
208
31
            this->data(places[i] + offset).merge(data[i]);
209
31
        }
210
12
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEEENS_25AggregateFunctionBitmapOpIS2_EEE25deserialize_and_merge_vecEPKPcmS7_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
204
10
                                   const size_t num_rows) const override {
205
10
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
206
10
        const auto* data = col.get_data().data();
207
37
        for (size_t i = 0; i != num_rows; ++i) {
208
27
            this->data(places[i] + offset).merge(data[i]);
209
27
        }
210
10
    }
211
212
    void deserialize_and_merge_vec_selected(const AggregateDataPtr* places, size_t offset,
213
                                            AggregateDataPtr rhs, const IColumn* column, Arena&,
214
0
                                            const size_t num_rows) const override {
215
0
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
216
0
        const auto* data = col.get_data().data();
217
0
        for (size_t i = 0; i != num_rows; ++i) {
218
0
            if (places[i]) {
219
0
                this->data(places[i] + offset).merge(data[i]);
220
0
            }
221
0
        }
222
0
    }
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE34deserialize_and_merge_vec_selectedEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE34deserialize_and_merge_vec_selectedEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE34deserialize_and_merge_vec_selectedEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE34deserialize_and_merge_vec_selectedEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE34deserialize_and_merge_vec_selectedEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE34deserialize_and_merge_vec_selectedEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE34deserialize_and_merge_vec_selectedEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE34deserialize_and_merge_vec_selectedEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE34deserialize_and_merge_vec_selectedEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE34deserialize_and_merge_vec_selectedEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_25AggregateFunctionBitmapOpIS2_EEE34deserialize_and_merge_vec_selectedEPKPcmS7_PKNS_7IColumnERNS_5ArenaEm
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEEENS_25AggregateFunctionBitmapOpIS2_EEE34deserialize_and_merge_vec_selectedEPKPcmS7_PKNS_7IColumnERNS_5ArenaEm
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEEENS_25AggregateFunctionBitmapOpIS2_EEE34deserialize_and_merge_vec_selectedEPKPcmS7_PKNS_7IColumnERNS_5ArenaEm
223
224
    void serialize_without_key_to_column(ConstAggregateDataPtr __restrict place,
225
446
                                         IColumn& to) const override {
226
446
        auto& col = assert_cast<ColumnBitmap&>(to);
227
446
        size_t old_size = col.size();
228
446
        col.resize(old_size + 1);
229
446
        col.get_data()[old_size] = std::move(this->data(place).value);
230
446
    }
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
225
78
                                         IColumn& to) const override {
226
78
        auto& col = assert_cast<ColumnBitmap&>(to);
227
78
        size_t old_size = col.size();
228
78
        col.resize(old_size + 1);
229
78
        col.get_data()[old_size] = std::move(this->data(place).value);
230
78
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
225
5
                                         IColumn& to) const override {
226
5
        auto& col = assert_cast<ColumnBitmap&>(to);
227
5
        size_t old_size = col.size();
228
5
        col.resize(old_size + 1);
229
5
        col.get_data()[old_size] = std::move(this->data(place).value);
230
5
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
225
6
                                         IColumn& to) const override {
226
6
        auto& col = assert_cast<ColumnBitmap&>(to);
227
6
        size_t old_size = col.size();
228
6
        col.resize(old_size + 1);
229
6
        col.get_data()[old_size] = std::move(this->data(place).value);
230
6
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
225
58
                                         IColumn& to) const override {
226
58
        auto& col = assert_cast<ColumnBitmap&>(to);
227
58
        size_t old_size = col.size();
228
58
        col.resize(old_size + 1);
229
58
        col.get_data()[old_size] = std::move(this->data(place).value);
230
58
    }
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
225
5
                                         IColumn& to) const override {
226
5
        auto& col = assert_cast<ColumnBitmap&>(to);
227
5
        size_t old_size = col.size();
228
5
        col.resize(old_size + 1);
229
5
        col.get_data()[old_size] = std::move(this->data(place).value);
230
5
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
225
5
                                         IColumn& to) const override {
226
5
        auto& col = assert_cast<ColumnBitmap&>(to);
227
5
        size_t old_size = col.size();
228
5
        col.resize(old_size + 1);
229
5
        col.get_data()[old_size] = std::move(this->data(place).value);
230
5
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
225
6
                                         IColumn& to) const override {
226
6
        auto& col = assert_cast<ColumnBitmap&>(to);
227
6
        size_t old_size = col.size();
228
6
        col.resize(old_size + 1);
229
6
        col.get_data()[old_size] = std::move(this->data(place).value);
230
6
    }
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_25AggregateFunctionBitmapOpIS2_EEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
225
119
                                         IColumn& to) const override {
226
119
        auto& col = assert_cast<ColumnBitmap&>(to);
227
119
        size_t old_size = col.size();
228
119
        col.resize(old_size + 1);
229
119
        col.get_data()[old_size] = std::move(this->data(place).value);
230
119
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEEENS_25AggregateFunctionBitmapOpIS2_EEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
225
100
                                         IColumn& to) const override {
226
100
        auto& col = assert_cast<ColumnBitmap&>(to);
227
100
        size_t old_size = col.size();
228
100
        col.resize(old_size + 1);
229
100
        col.get_data()[old_size] = std::move(this->data(place).value);
230
100
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEEENS_25AggregateFunctionBitmapOpIS2_EEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
225
64
                                         IColumn& to) const override {
226
64
        auto& col = assert_cast<ColumnBitmap&>(to);
227
64
        size_t old_size = col.size();
228
64
        col.resize(old_size + 1);
229
64
        col.get_data()[old_size] = std::move(this->data(place).value);
230
64
    }
231
232
4.10k
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
233
4.10k
        return ColumnBitmap::create();
234
4.10k
    }
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE23create_serialize_columnEv
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE23create_serialize_columnEv
Line
Count
Source
232
625
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
233
625
        return ColumnBitmap::create();
234
625
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE23create_serialize_columnEv
Line
Count
Source
232
18
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
233
18
        return ColumnBitmap::create();
234
18
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE23create_serialize_columnEv
Line
Count
Source
232
19
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
233
19
        return ColumnBitmap::create();
234
19
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE23create_serialize_columnEv
Line
Count
Source
232
371
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
233
371
        return ColumnBitmap::create();
234
371
    }
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE23create_serialize_columnEv
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE23create_serialize_columnEv
Line
Count
Source
232
10
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
233
10
        return ColumnBitmap::create();
234
10
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE23create_serialize_columnEv
Line
Count
Source
232
10
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
233
10
        return ColumnBitmap::create();
234
10
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE23create_serialize_columnEv
Line
Count
Source
232
11
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
233
11
        return ColumnBitmap::create();
234
11
    }
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE23create_serialize_columnEv
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_25AggregateFunctionBitmapOpIS2_EEE23create_serialize_columnEv
Line
Count
Source
232
2.04k
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
233
2.04k
        return ColumnBitmap::create();
234
2.04k
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEEENS_25AggregateFunctionBitmapOpIS2_EEE23create_serialize_columnEv
Line
Count
Source
232
612
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
233
612
        return ColumnBitmap::create();
234
612
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEEENS_25AggregateFunctionBitmapOpIS2_EEE23create_serialize_columnEv
Line
Count
Source
232
382
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
233
382
        return ColumnBitmap::create();
234
382
    }
235
236
4.70k
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
237
4.70k
        return std::make_shared<DataTypeBitMap>();
238
4.70k
    }
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE19get_serialized_typeEv
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE19get_serialized_typeEv
Line
Count
Source
236
694
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
237
694
        return std::make_shared<DataTypeBitMap>();
238
694
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE19get_serialized_typeEv
Line
Count
Source
236
18
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
237
18
        return std::make_shared<DataTypeBitMap>();
238
18
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE19get_serialized_typeEv
Line
Count
Source
236
19
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
237
19
        return std::make_shared<DataTypeBitMap>();
238
19
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE19get_serialized_typeEv
Line
Count
Source
236
435
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
237
435
        return std::make_shared<DataTypeBitMap>();
238
435
    }
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE19get_serialized_typeEv
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE19get_serialized_typeEv
Line
Count
Source
236
10
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
237
10
        return std::make_shared<DataTypeBitMap>();
238
10
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE19get_serialized_typeEv
Line
Count
Source
236
10
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
237
10
        return std::make_shared<DataTypeBitMap>();
238
10
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE19get_serialized_typeEv
Line
Count
Source
236
11
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
237
11
        return std::make_shared<DataTypeBitMap>();
238
11
    }
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE19get_serialized_typeEv
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_25AggregateFunctionBitmapOpIS2_EEE19get_serialized_typeEv
Line
Count
Source
236
2.12k
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
237
2.12k
        return std::make_shared<DataTypeBitMap>();
238
2.12k
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEEENS_25AggregateFunctionBitmapOpIS2_EEE19get_serialized_typeEv
Line
Count
Source
236
928
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
237
928
        return std::make_shared<DataTypeBitMap>();
238
928
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEEENS_25AggregateFunctionBitmapOpIS2_EEE19get_serialized_typeEv
Line
Count
Source
236
452
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
237
452
        return std::make_shared<DataTypeBitMap>();
238
452
    }
239
240
protected:
241
    using IAggregateFunction::version;
242
};
243
244
template <typename Op>
245
class AggregateFunctionBitmapOp final
246
        : public AggregateFunctionBitmapSerializationHelper<AggregateFunctionBitmapData<Op>,
247
                                                            AggregateFunctionBitmapOp<Op>>,
248
          UnaryExpression,
249
          NullableAggregateFunction {
250
public:
251
    using ResultDataType = BitmapValue;
252
    using ColVecType = ColumnBitmap;
253
    using ColVecResult = ColumnBitmap;
254
255
154
    String get_name() const override { return Op::name; }
_ZNK5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEE8get_nameB5cxx11Ev
Line
Count
Source
255
36
    String get_name() const override { return Op::name; }
_ZNK5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEE8get_nameB5cxx11Ev
Line
Count
Source
255
81
    String get_name() const override { return Op::name; }
_ZNK5doris25AggregateFunctionBitmapOpINS_33AggregateFunctionGroupBitmapXorOpEE8get_nameB5cxx11Ev
Line
Count
Source
255
37
    String get_name() const override { return Op::name; }
256
257
    AggregateFunctionBitmapOp(const DataTypes& argument_types_)
258
4.03k
            : AggregateFunctionBitmapSerializationHelper<AggregateFunctionBitmapData<Op>,
259
4.03k
                                                         AggregateFunctionBitmapOp<Op>>(
260
4.03k
                      argument_types_) {}
_ZN5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
258
2.37k
            : AggregateFunctionBitmapSerializationHelper<AggregateFunctionBitmapData<Op>,
259
2.37k
                                                         AggregateFunctionBitmapOp<Op>>(
260
2.37k
                      argument_types_) {}
_ZN5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
258
1.20k
            : AggregateFunctionBitmapSerializationHelper<AggregateFunctionBitmapData<Op>,
259
1.20k
                                                         AggregateFunctionBitmapOp<Op>>(
260
1.20k
                      argument_types_) {}
_ZN5doris25AggregateFunctionBitmapOpINS_33AggregateFunctionGroupBitmapXorOpEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
258
459
            : AggregateFunctionBitmapSerializationHelper<AggregateFunctionBitmapData<Op>,
259
459
                                                         AggregateFunctionBitmapOp<Op>>(
260
459
                      argument_types_) {}
261
262
929
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeBitMap>(); }
_ZNK5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEE15get_return_typeEv
Line
Count
Source
262
733
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeBitMap>(); }
_ZNK5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEE15get_return_typeEv
Line
Count
Source
262
117
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeBitMap>(); }
_ZNK5doris25AggregateFunctionBitmapOpINS_33AggregateFunctionGroupBitmapXorOpEE15get_return_typeEv
Line
Count
Source
262
79
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeBitMap>(); }
263
264
    void add(AggregateDataPtr __restrict place, const IColumn** columns, ssize_t row_num,
265
143k
             Arena&) const override {
266
143k
        const auto& column =
267
143k
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
268
143k
        this->data(place).add(column.get_data()[row_num]);
269
143k
    }
_ZNK5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
265
137k
             Arena&) const override {
266
137k
        const auto& column =
267
137k
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
268
137k
        this->data(place).add(column.get_data()[row_num]);
269
137k
    }
_ZNK5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
265
5.69k
             Arena&) const override {
266
5.69k
        const auto& column =
267
5.69k
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
268
5.69k
        this->data(place).add(column.get_data()[row_num]);
269
5.69k
    }
_ZNK5doris25AggregateFunctionBitmapOpINS_33AggregateFunctionGroupBitmapXorOpEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
265
290
             Arena&) const override {
266
290
        const auto& column =
267
290
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
268
290
        this->data(place).add(column.get_data()[row_num]);
269
290
    }
270
271
    void add_many(AggregateDataPtr __restrict place, const IColumn** columns,
272
257
                  std::vector<int>& rows, Arena&) const override {
273
        // now this only for bitmap_union function
274
257
        if constexpr (std::is_same_v<Op, AggregateFunctionBitmapUnionOp>) {
275
257
            const auto& column = assert_cast<const ColVecType&>(*columns[0]);
276
257
            std::vector<const BitmapValue*> values;
277
663
            for (auto row : rows) {
278
663
                values.push_back(&(column.get_data()[row]));
279
663
            }
280
257
            this->data(place).add_batch(values);
281
257
        }
282
257
    }
_ZNK5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEE8add_manyEPcPPKNS_7IColumnERSt6vectorIiSaIiEERNS_5ArenaE
Line
Count
Source
272
257
                  std::vector<int>& rows, Arena&) const override {
273
        // now this only for bitmap_union function
274
257
        if constexpr (std::is_same_v<Op, AggregateFunctionBitmapUnionOp>) {
275
257
            const auto& column = assert_cast<const ColVecType&>(*columns[0]);
276
257
            std::vector<const BitmapValue*> values;
277
663
            for (auto row : rows) {
278
663
                values.push_back(&(column.get_data()[row]));
279
663
            }
280
257
            this->data(place).add_batch(values);
281
257
        }
282
257
    }
Unexecuted instantiation: _ZNK5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEE8add_manyEPcPPKNS_7IColumnERSt6vectorIiSaIiEERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris25AggregateFunctionBitmapOpINS_33AggregateFunctionGroupBitmapXorOpEE8add_manyEPcPPKNS_7IColumnERSt6vectorIiSaIiEERNS_5ArenaE
283
284
    void add_batch_range(size_t batch_begin, size_t batch_end, AggregateDataPtr place,
285
7.56k
                         const IColumn** columns, Arena& arena, bool has_null) override {
286
        // now this only for bitmap_union function
287
7.56k
        if constexpr (std::is_same_v<Op, AggregateFunctionBitmapUnionOp>) {
288
7.56k
            const auto& column = assert_cast<const ColVecType&>(*columns[0]);
289
7.56k
            std::vector<const BitmapValue*> values;
290
15.1k
            for (size_t i = batch_begin; i <= batch_end; ++i) {
291
7.56k
                values.push_back(&(column.get_data()[i]));
292
7.56k
            }
293
7.56k
            this->data(place).add_batch(values);
294
7.56k
        } else {
295
0
            for (size_t i = batch_begin; i <= batch_end; ++i) {
296
0
                this->add(place, columns, i, arena);
297
0
            }
298
0
        }
299
7.56k
    }
_ZN5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEE15add_batch_rangeEmmPcPPKNS_7IColumnERNS_5ArenaEb
Line
Count
Source
285
7.56k
                         const IColumn** columns, Arena& arena, bool has_null) override {
286
        // now this only for bitmap_union function
287
7.56k
        if constexpr (std::is_same_v<Op, AggregateFunctionBitmapUnionOp>) {
288
7.56k
            const auto& column = assert_cast<const ColVecType&>(*columns[0]);
289
7.56k
            std::vector<const BitmapValue*> values;
290
15.1k
            for (size_t i = batch_begin; i <= batch_end; ++i) {
291
7.56k
                values.push_back(&(column.get_data()[i]));
292
7.56k
            }
293
7.56k
            this->data(place).add_batch(values);
294
        } else {
295
            for (size_t i = batch_begin; i <= batch_end; ++i) {
296
                this->add(place, columns, i, arena);
297
            }
298
        }
299
7.56k
    }
Unexecuted instantiation: _ZN5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEE15add_batch_rangeEmmPcPPKNS_7IColumnERNS_5ArenaEb
Unexecuted instantiation: _ZN5doris25AggregateFunctionBitmapOpINS_33AggregateFunctionGroupBitmapXorOpEE15add_batch_rangeEmmPcPPKNS_7IColumnERNS_5ArenaEb
300
301
    void merge(AggregateDataPtr __restrict place, ConstAggregateDataPtr rhs,
302
0
               Arena&) const override {
303
0
        this->data(place).merge(this->data(rhs).get());
304
0
    }
Unexecuted instantiation: _ZNK5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEE5mergeEPcPKcRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEE5mergeEPcPKcRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris25AggregateFunctionBitmapOpINS_33AggregateFunctionGroupBitmapXorOpEE5mergeEPcPKcRNS_5ArenaE
305
306
0
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
307
0
        this->data(place).write(buf);
308
0
    }
Unexecuted instantiation: _ZNK5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEE9serializeEPKcRNS_14BufferWritableE
Unexecuted instantiation: _ZNK5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEE9serializeEPKcRNS_14BufferWritableE
Unexecuted instantiation: _ZNK5doris25AggregateFunctionBitmapOpINS_33AggregateFunctionGroupBitmapXorOpEE9serializeEPKcRNS_14BufferWritableE
309
310
    void deserialize(AggregateDataPtr __restrict place, BufferReadable& buf,
311
0
                     Arena&) const override {
312
0
        this->data(place).read(buf);
313
0
    }
Unexecuted instantiation: _ZNK5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris25AggregateFunctionBitmapOpINS_33AggregateFunctionGroupBitmapXorOpEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
314
315
48.7k
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
316
48.7k
        auto& column = assert_cast<ColVecResult&>(to);
317
48.7k
        column.get_data().push_back(this->data(place).get());
318
48.7k
    }
_ZNK5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
315
47.1k
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
316
47.1k
        auto& column = assert_cast<ColVecResult&>(to);
317
47.1k
        column.get_data().push_back(this->data(place).get());
318
47.1k
    }
_ZNK5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
315
1.52k
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
316
1.52k
        auto& column = assert_cast<ColVecResult&>(to);
317
1.52k
        column.get_data().push_back(this->data(place).get());
318
1.52k
    }
_ZNK5doris25AggregateFunctionBitmapOpINS_33AggregateFunctionGroupBitmapXorOpEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
315
82
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
316
82
        auto& column = assert_cast<ColVecResult&>(to);
317
82
        column.get_data().push_back(this->data(place).get());
318
82
    }
319
320
7.56k
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
_ZNK5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEE5resetEPc
Line
Count
Source
320
7.47k
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
_ZNK5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEE5resetEPc
Line
Count
Source
320
56
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
_ZNK5doris25AggregateFunctionBitmapOpINS_33AggregateFunctionGroupBitmapXorOpEE5resetEPc
Line
Count
Source
320
38
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
321
};
322
323
template <bool arg_is_nullable, typename ColVecType>
324
class AggregateFunctionBitmapCount final
325
        : public AggregateFunctionBitmapSerializationHelper<
326
                  AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
327
                  AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>,
328
          UnaryExpression,
329
          NotNullableAggregateFunction {
330
public:
331
    // using ColVecType = ColumnBitmap;
332
    using ColVecResult = ColumnInt64;
333
    using AggFunctionData = AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>;
334
    static int constexpr BATCH_HALF_ROWS = 4064 / 2;
335
336
    AggregateFunctionBitmapCount(const DataTypes& argument_types_)
337
1.04k
            : AggregateFunctionBitmapSerializationHelper<
338
1.04k
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
339
1.04k
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
_ZN5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
337
3
            : AggregateFunctionBitmapSerializationHelper<
338
3
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
339
3
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
_ZN5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
337
543
            : AggregateFunctionBitmapSerializationHelper<
338
543
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
339
543
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
_ZN5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
337
11
            : AggregateFunctionBitmapSerializationHelper<
338
11
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
339
11
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
_ZN5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
337
14
            : AggregateFunctionBitmapSerializationHelper<
338
14
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
339
14
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
_ZN5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
337
437
            : AggregateFunctionBitmapSerializationHelper<
338
437
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
339
437
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
Unexecuted instantiation: _ZN5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
_ZN5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
337
9
            : AggregateFunctionBitmapSerializationHelper<
338
9
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
339
9
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
_ZN5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
337
9
            : AggregateFunctionBitmapSerializationHelper<
338
9
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
339
9
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
_ZN5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
337
15
            : AggregateFunctionBitmapSerializationHelper<
338
15
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
339
15
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
_ZN5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
337
1
            : AggregateFunctionBitmapSerializationHelper<
338
1
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
339
1
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
340
341
82
    String get_name() const override {
342
82
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
343
46
            return "bitmap_union_count";
344
46
        } else {
345
36
            return "bitmap_union_int";
346
36
        }
347
82
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE8get_nameB5cxx11Ev
Line
Count
Source
341
15
    String get_name() const override {
342
15
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
343
15
            return "bitmap_union_count";
344
        } else {
345
            return "bitmap_union_int";
346
        }
347
15
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE8get_nameB5cxx11Ev
Line
Count
Source
341
31
    String get_name() const override {
342
31
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
343
31
            return "bitmap_union_count";
344
        } else {
345
            return "bitmap_union_int";
346
        }
347
31
    }
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE8get_nameB5cxx11Ev
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE8get_nameB5cxx11Ev
Line
Count
Source
341
16
    String get_name() const override {
342
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
343
            return "bitmap_union_count";
344
16
        } else {
345
16
            return "bitmap_union_int";
346
16
        }
347
16
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE8get_nameB5cxx11Ev
Line
Count
Source
341
20
    String get_name() const override {
342
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
343
            return "bitmap_union_count";
344
20
        } else {
345
20
            return "bitmap_union_int";
346
20
        }
347
20
    }
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE8get_nameB5cxx11Ev
348
349
368
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE15get_return_typeEv
Line
Count
Source
349
21
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE15get_return_typeEv
Line
Count
Source
349
208
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE15get_return_typeEv
Line
Count
Source
349
18
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE15get_return_typeEv
Line
Count
Source
349
39
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE15get_return_typeEv
Line
Count
Source
349
28
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE15get_return_typeEv
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE15get_return_typeEv
Line
Count
Source
349
14
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE15get_return_typeEv
Line
Count
Source
349
14
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE15get_return_typeEv
Line
Count
Source
349
26
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE15get_return_typeEv
350
351
    void add(AggregateDataPtr __restrict place, const IColumn** columns, ssize_t row_num,
352
1.07k
             Arena&) const override {
353
1.07k
        if constexpr (arg_is_nullable) {
354
377
            const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
355
377
            if (!nullable_column.is_null_at(row_num)) {
356
349
                const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
357
349
                        nullable_column.get_nested_column());
358
349
                this->data(place).add(column.get_data()[row_num]);
359
349
            }
360
702
        } else {
361
702
            const auto& column =
362
702
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
363
702
            this->data(place).add(column.get_data()[row_num]);
364
702
        }
365
1.07k
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
352
19
             Arena&) const override {
353
19
        if constexpr (arg_is_nullable) {
354
19
            const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
355
19
            if (!nullable_column.is_null_at(row_num)) {
356
18
                const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
357
18
                        nullable_column.get_nested_column());
358
18
                this->data(place).add(column.get_data()[row_num]);
359
18
            }
360
        } else {
361
            const auto& column =
362
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
363
            this->data(place).add(column.get_data()[row_num]);
364
        }
365
19
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
352
520
             Arena&) const override {
353
        if constexpr (arg_is_nullable) {
354
            const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
355
            if (!nullable_column.is_null_at(row_num)) {
356
                const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
357
                        nullable_column.get_nested_column());
358
                this->data(place).add(column.get_data()[row_num]);
359
            }
360
520
        } else {
361
520
            const auto& column =
362
520
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
363
520
            this->data(place).add(column.get_data()[row_num]);
364
520
        }
365
520
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
352
65
             Arena&) const override {
353
65
        if constexpr (arg_is_nullable) {
354
65
            const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
355
65
            if (!nullable_column.is_null_at(row_num)) {
356
60
                const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
357
60
                        nullable_column.get_nested_column());
358
60
                this->data(place).add(column.get_data()[row_num]);
359
60
            }
360
        } else {
361
            const auto& column =
362
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
363
            this->data(place).add(column.get_data()[row_num]);
364
        }
365
65
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
352
92
             Arena&) const override {
353
92
        if constexpr (arg_is_nullable) {
354
92
            const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
355
92
            if (!nullable_column.is_null_at(row_num)) {
356
85
                const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
357
85
                        nullable_column.get_nested_column());
358
85
                this->data(place).add(column.get_data()[row_num]);
359
85
            }
360
        } else {
361
            const auto& column =
362
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
363
            this->data(place).add(column.get_data()[row_num]);
364
        }
365
92
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
352
201
             Arena&) const override {
353
201
        if constexpr (arg_is_nullable) {
354
201
            const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
355
201
            if (!nullable_column.is_null_at(row_num)) {
356
186
                const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
357
186
                        nullable_column.get_nested_column());
358
186
                this->data(place).add(column.get_data()[row_num]);
359
186
            }
360
        } else {
361
            const auto& column =
362
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
363
            this->data(place).add(column.get_data()[row_num]);
364
        }
365
201
    }
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
352
57
             Arena&) const override {
353
        if constexpr (arg_is_nullable) {
354
            const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
355
            if (!nullable_column.is_null_at(row_num)) {
356
                const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
357
                        nullable_column.get_nested_column());
358
                this->data(place).add(column.get_data()[row_num]);
359
            }
360
57
        } else {
361
57
            const auto& column =
362
57
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
363
57
            this->data(place).add(column.get_data()[row_num]);
364
57
        }
365
57
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
352
57
             Arena&) const override {
353
        if constexpr (arg_is_nullable) {
354
            const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
355
            if (!nullable_column.is_null_at(row_num)) {
356
                const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
357
                        nullable_column.get_nested_column());
358
                this->data(place).add(column.get_data()[row_num]);
359
            }
360
57
        } else {
361
57
            const auto& column =
362
57
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
363
57
            this->data(place).add(column.get_data()[row_num]);
364
57
        }
365
57
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
352
59
             Arena&) const override {
353
        if constexpr (arg_is_nullable) {
354
            const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
355
            if (!nullable_column.is_null_at(row_num)) {
356
                const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
357
                        nullable_column.get_nested_column());
358
                this->data(place).add(column.get_data()[row_num]);
359
            }
360
59
        } else {
361
59
            const auto& column =
362
59
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
363
59
            this->data(place).add(column.get_data()[row_num]);
364
59
        }
365
59
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
352
9
             Arena&) const override {
353
        if constexpr (arg_is_nullable) {
354
            const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
355
            if (!nullable_column.is_null_at(row_num)) {
356
                const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
357
                        nullable_column.get_nested_column());
358
                this->data(place).add(column.get_data()[row_num]);
359
            }
360
9
        } else {
361
9
            const auto& column =
362
9
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
363
9
            this->data(place).add(column.get_data()[row_num]);
364
9
        }
365
9
    }
366
367
    void add_many(AggregateDataPtr __restrict place, const IColumn** columns,
368
29
                  std::vector<int>& rows, Arena&) const override {
369
        // now this only for bitmap_union_count function
370
29
        if constexpr (arg_is_nullable && std::is_same_v<ColVecType, ColumnBitmap>) {
371
0
            const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
372
0
            const auto& column =
373
0
                    assert_cast<const ColVecType&>(nullable_column.get_nested_column());
374
0
            std::vector<const BitmapValue*> values;
375
0
            for (auto row : rows) {
376
0
                if (!nullable_column.is_null_at(row)) {
377
0
                    values.push_back(&(column.get_data()[row]));
378
0
                }
379
0
            }
380
0
            this->data(place).add_batch(values);
381
29
        } else if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
382
29
            const auto& column = assert_cast<const ColVecType&>(*columns[0]);
383
29
            std::vector<const BitmapValue*> values;
384
55
            for (auto row : rows) {
385
55
                values.push_back(&(column.get_data()[row]));
386
55
            }
387
29
            this->data(place).add_batch(values);
388
29
        }
389
29
    }
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE8add_manyEPcPPKNS_7IColumnERSt6vectorIiSaIiEERNS_5ArenaE
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE8add_manyEPcPPKNS_7IColumnERSt6vectorIiSaIiEERNS_5ArenaE
Line
Count
Source
368
29
                  std::vector<int>& rows, Arena&) const override {
369
        // now this only for bitmap_union_count function
370
        if constexpr (arg_is_nullable && std::is_same_v<ColVecType, ColumnBitmap>) {
371
            const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
372
            const auto& column =
373
                    assert_cast<const ColVecType&>(nullable_column.get_nested_column());
374
            std::vector<const BitmapValue*> values;
375
            for (auto row : rows) {
376
                if (!nullable_column.is_null_at(row)) {
377
                    values.push_back(&(column.get_data()[row]));
378
                }
379
            }
380
            this->data(place).add_batch(values);
381
29
        } else if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
382
29
            const auto& column = assert_cast<const ColVecType&>(*columns[0]);
383
29
            std::vector<const BitmapValue*> values;
384
55
            for (auto row : rows) {
385
55
                values.push_back(&(column.get_data()[row]));
386
55
            }
387
29
            this->data(place).add_batch(values);
388
29
        }
389
29
    }
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE8add_manyEPcPPKNS_7IColumnERSt6vectorIiSaIiEERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE8add_manyEPcPPKNS_7IColumnERSt6vectorIiSaIiEERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE8add_manyEPcPPKNS_7IColumnERSt6vectorIiSaIiEERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE8add_manyEPcPPKNS_7IColumnERSt6vectorIiSaIiEERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE8add_manyEPcPPKNS_7IColumnERSt6vectorIiSaIiEERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE8add_manyEPcPPKNS_7IColumnERSt6vectorIiSaIiEERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE8add_manyEPcPPKNS_7IColumnERSt6vectorIiSaIiEERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE8add_manyEPcPPKNS_7IColumnERSt6vectorIiSaIiEERNS_5ArenaE
390
391
    void add_batch_single_place(size_t batch_size, AggregateDataPtr place, const IColumn** columns,
392
57
                                Arena& arena) const override {
393
57
        auto normal_add_lambda = [&]() {
394
213
            for (size_t i = 0; i < batch_size; ++i) {
395
166
                this->add(place, columns, i, arena);
396
166
            }
397
47
        };
Unexecuted instantiation: _ZZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
_ZZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
Line
Count
Source
393
20
        auto normal_add_lambda = [&]() {
394
99
            for (size_t i = 0; i < batch_size; ++i) {
395
79
                this->add(place, columns, i, arena);
396
79
            }
397
20
        };
_ZZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
Line
Count
Source
393
4
        auto normal_add_lambda = [&]() {
394
17
            for (size_t i = 0; i < batch_size; ++i) {
395
13
                this->add(place, columns, i, arena);
396
13
            }
397
4
        };
_ZZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
Line
Count
Source
393
5
        auto normal_add_lambda = [&]() {
394
28
            for (size_t i = 0; i < batch_size; ++i) {
395
23
                this->add(place, columns, i, arena);
396
23
            }
397
5
        };
_ZZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
Line
Count
Source
393
5
        auto normal_add_lambda = [&]() {
394
19
            for (size_t i = 0; i < batch_size; ++i) {
395
14
                this->add(place, columns, i, arena);
396
14
            }
397
5
        };
Unexecuted instantiation: _ZZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
_ZZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
Line
Count
Source
393
4
        auto normal_add_lambda = [&]() {
394
16
            for (size_t i = 0; i < batch_size; ++i) {
395
12
                this->add(place, columns, i, arena);
396
12
            }
397
4
        };
_ZZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
Line
Count
Source
393
4
        auto normal_add_lambda = [&]() {
394
16
            for (size_t i = 0; i < batch_size; ++i) {
395
12
                this->add(place, columns, i, arena);
396
12
            }
397
4
        };
_ZZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
Line
Count
Source
393
5
        auto normal_add_lambda = [&]() {
394
18
            for (size_t i = 0; i < batch_size; ++i) {
395
13
                this->add(place, columns, i, arena);
396
13
            }
397
5
        };
Unexecuted instantiation: _ZZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
398
399
        // now this only for bitmap_union_count function
400
57
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
401
            // if batch_size is small, the add_batch of fast union seems to be slower than normal add
402
30
            if (batch_size < BATCH_HALF_ROWS) {
403
20
                normal_add_lambda();
404
20
                return;
405
20
            }
406
10
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
407
10
                const auto& column = assert_cast<const ColVecType&>(data_column);
408
10
                std::vector<const BitmapValue*> values;
409
40.9k
                for (size_t i = 0; i < batch_size; ++i) {
410
40.9k
                    if constexpr (arg_is_nullable) {
411
0
                        if ((*null_map)[i]) {
412
0
                            continue; // skip null value
413
0
                        }
414
0
                    }
415
0
                    values.push_back(&(column.get_data()[i]));
416
40.9k
                }
417
0
                this->data(place).add_batch(values);
418
0
            };
Unexecuted instantiation: _ZZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlRS7_PKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEE_clESC_SJ_
_ZZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlRS7_PKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEE_clESC_SJ_
Line
Count
Source
406
10
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
407
10
                const auto& column = assert_cast<const ColVecType&>(data_column);
408
10
                std::vector<const BitmapValue*> values;
409
40.9k
                for (size_t i = 0; i < batch_size; ++i) {
410
                    if constexpr (arg_is_nullable) {
411
                        if ((*null_map)[i]) {
412
                            continue; // skip null value
413
                        }
414
                    }
415
40.9k
                    values.push_back(&(column.get_data()[i]));
416
40.9k
                }
417
10
                this->data(place).add_batch(values);
418
10
            };
419
420
10
            if constexpr (arg_is_nullable) {
421
0
                const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
422
0
                add_batch_lambda(nullable_column.get_nested_column(),
423
0
                                 &(nullable_column.get_null_map_data()));
424
10
            } else {
425
10
                add_batch_lambda(*columns[0], nullptr);
426
10
            }
427
27
        } else {
428
27
            normal_add_lambda();
429
27
        }
430
57
    }
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
392
30
                                Arena& arena) const override {
393
30
        auto normal_add_lambda = [&]() {
394
30
            for (size_t i = 0; i < batch_size; ++i) {
395
30
                this->add(place, columns, i, arena);
396
30
            }
397
30
        };
398
399
        // now this only for bitmap_union_count function
400
30
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
401
            // if batch_size is small, the add_batch of fast union seems to be slower than normal add
402
30
            if (batch_size < BATCH_HALF_ROWS) {
403
20
                normal_add_lambda();
404
20
                return;
405
20
            }
406
10
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
407
10
                const auto& column = assert_cast<const ColVecType&>(data_column);
408
10
                std::vector<const BitmapValue*> values;
409
10
                for (size_t i = 0; i < batch_size; ++i) {
410
10
                    if constexpr (arg_is_nullable) {
411
10
                        if ((*null_map)[i]) {
412
10
                            continue; // skip null value
413
10
                        }
414
10
                    }
415
10
                    values.push_back(&(column.get_data()[i]));
416
10
                }
417
10
                this->data(place).add_batch(values);
418
10
            };
419
420
            if constexpr (arg_is_nullable) {
421
                const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
422
                add_batch_lambda(nullable_column.get_nested_column(),
423
                                 &(nullable_column.get_null_map_data()));
424
10
            } else {
425
10
                add_batch_lambda(*columns[0], nullptr);
426
10
            }
427
        } else {
428
            normal_add_lambda();
429
        }
430
30
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
392
4
                                Arena& arena) const override {
393
4
        auto normal_add_lambda = [&]() {
394
4
            for (size_t i = 0; i < batch_size; ++i) {
395
4
                this->add(place, columns, i, arena);
396
4
            }
397
4
        };
398
399
        // now this only for bitmap_union_count function
400
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
401
            // if batch_size is small, the add_batch of fast union seems to be slower than normal add
402
            if (batch_size < BATCH_HALF_ROWS) {
403
                normal_add_lambda();
404
                return;
405
            }
406
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
407
                const auto& column = assert_cast<const ColVecType&>(data_column);
408
                std::vector<const BitmapValue*> values;
409
                for (size_t i = 0; i < batch_size; ++i) {
410
                    if constexpr (arg_is_nullable) {
411
                        if ((*null_map)[i]) {
412
                            continue; // skip null value
413
                        }
414
                    }
415
                    values.push_back(&(column.get_data()[i]));
416
                }
417
                this->data(place).add_batch(values);
418
            };
419
420
            if constexpr (arg_is_nullable) {
421
                const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
422
                add_batch_lambda(nullable_column.get_nested_column(),
423
                                 &(nullable_column.get_null_map_data()));
424
            } else {
425
                add_batch_lambda(*columns[0], nullptr);
426
            }
427
4
        } else {
428
4
            normal_add_lambda();
429
4
        }
430
4
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
392
5
                                Arena& arena) const override {
393
5
        auto normal_add_lambda = [&]() {
394
5
            for (size_t i = 0; i < batch_size; ++i) {
395
5
                this->add(place, columns, i, arena);
396
5
            }
397
5
        };
398
399
        // now this only for bitmap_union_count function
400
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
401
            // if batch_size is small, the add_batch of fast union seems to be slower than normal add
402
            if (batch_size < BATCH_HALF_ROWS) {
403
                normal_add_lambda();
404
                return;
405
            }
406
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
407
                const auto& column = assert_cast<const ColVecType&>(data_column);
408
                std::vector<const BitmapValue*> values;
409
                for (size_t i = 0; i < batch_size; ++i) {
410
                    if constexpr (arg_is_nullable) {
411
                        if ((*null_map)[i]) {
412
                            continue; // skip null value
413
                        }
414
                    }
415
                    values.push_back(&(column.get_data()[i]));
416
                }
417
                this->data(place).add_batch(values);
418
            };
419
420
            if constexpr (arg_is_nullable) {
421
                const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
422
                add_batch_lambda(nullable_column.get_nested_column(),
423
                                 &(nullable_column.get_null_map_data()));
424
            } else {
425
                add_batch_lambda(*columns[0], nullptr);
426
            }
427
5
        } else {
428
5
            normal_add_lambda();
429
5
        }
430
5
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
392
5
                                Arena& arena) const override {
393
5
        auto normal_add_lambda = [&]() {
394
5
            for (size_t i = 0; i < batch_size; ++i) {
395
5
                this->add(place, columns, i, arena);
396
5
            }
397
5
        };
398
399
        // now this only for bitmap_union_count function
400
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
401
            // if batch_size is small, the add_batch of fast union seems to be slower than normal add
402
            if (batch_size < BATCH_HALF_ROWS) {
403
                normal_add_lambda();
404
                return;
405
            }
406
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
407
                const auto& column = assert_cast<const ColVecType&>(data_column);
408
                std::vector<const BitmapValue*> values;
409
                for (size_t i = 0; i < batch_size; ++i) {
410
                    if constexpr (arg_is_nullable) {
411
                        if ((*null_map)[i]) {
412
                            continue; // skip null value
413
                        }
414
                    }
415
                    values.push_back(&(column.get_data()[i]));
416
                }
417
                this->data(place).add_batch(values);
418
            };
419
420
            if constexpr (arg_is_nullable) {
421
                const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
422
                add_batch_lambda(nullable_column.get_nested_column(),
423
                                 &(nullable_column.get_null_map_data()));
424
            } else {
425
                add_batch_lambda(*columns[0], nullptr);
426
            }
427
5
        } else {
428
5
            normal_add_lambda();
429
5
        }
430
5
    }
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
392
4
                                Arena& arena) const override {
393
4
        auto normal_add_lambda = [&]() {
394
4
            for (size_t i = 0; i < batch_size; ++i) {
395
4
                this->add(place, columns, i, arena);
396
4
            }
397
4
        };
398
399
        // now this only for bitmap_union_count function
400
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
401
            // if batch_size is small, the add_batch of fast union seems to be slower than normal add
402
            if (batch_size < BATCH_HALF_ROWS) {
403
                normal_add_lambda();
404
                return;
405
            }
406
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
407
                const auto& column = assert_cast<const ColVecType&>(data_column);
408
                std::vector<const BitmapValue*> values;
409
                for (size_t i = 0; i < batch_size; ++i) {
410
                    if constexpr (arg_is_nullable) {
411
                        if ((*null_map)[i]) {
412
                            continue; // skip null value
413
                        }
414
                    }
415
                    values.push_back(&(column.get_data()[i]));
416
                }
417
                this->data(place).add_batch(values);
418
            };
419
420
            if constexpr (arg_is_nullable) {
421
                const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
422
                add_batch_lambda(nullable_column.get_nested_column(),
423
                                 &(nullable_column.get_null_map_data()));
424
            } else {
425
                add_batch_lambda(*columns[0], nullptr);
426
            }
427
4
        } else {
428
4
            normal_add_lambda();
429
4
        }
430
4
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
392
4
                                Arena& arena) const override {
393
4
        auto normal_add_lambda = [&]() {
394
4
            for (size_t i = 0; i < batch_size; ++i) {
395
4
                this->add(place, columns, i, arena);
396
4
            }
397
4
        };
398
399
        // now this only for bitmap_union_count function
400
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
401
            // if batch_size is small, the add_batch of fast union seems to be slower than normal add
402
            if (batch_size < BATCH_HALF_ROWS) {
403
                normal_add_lambda();
404
                return;
405
            }
406
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
407
                const auto& column = assert_cast<const ColVecType&>(data_column);
408
                std::vector<const BitmapValue*> values;
409
                for (size_t i = 0; i < batch_size; ++i) {
410
                    if constexpr (arg_is_nullable) {
411
                        if ((*null_map)[i]) {
412
                            continue; // skip null value
413
                        }
414
                    }
415
                    values.push_back(&(column.get_data()[i]));
416
                }
417
                this->data(place).add_batch(values);
418
            };
419
420
            if constexpr (arg_is_nullable) {
421
                const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
422
                add_batch_lambda(nullable_column.get_nested_column(),
423
                                 &(nullable_column.get_null_map_data()));
424
            } else {
425
                add_batch_lambda(*columns[0], nullptr);
426
            }
427
4
        } else {
428
4
            normal_add_lambda();
429
4
        }
430
4
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
392
5
                                Arena& arena) const override {
393
5
        auto normal_add_lambda = [&]() {
394
5
            for (size_t i = 0; i < batch_size; ++i) {
395
5
                this->add(place, columns, i, arena);
396
5
            }
397
5
        };
398
399
        // now this only for bitmap_union_count function
400
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
401
            // if batch_size is small, the add_batch of fast union seems to be slower than normal add
402
            if (batch_size < BATCH_HALF_ROWS) {
403
                normal_add_lambda();
404
                return;
405
            }
406
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
407
                const auto& column = assert_cast<const ColVecType&>(data_column);
408
                std::vector<const BitmapValue*> values;
409
                for (size_t i = 0; i < batch_size; ++i) {
410
                    if constexpr (arg_is_nullable) {
411
                        if ((*null_map)[i]) {
412
                            continue; // skip null value
413
                        }
414
                    }
415
                    values.push_back(&(column.get_data()[i]));
416
                }
417
                this->data(place).add_batch(values);
418
            };
419
420
            if constexpr (arg_is_nullable) {
421
                const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
422
                add_batch_lambda(nullable_column.get_nested_column(),
423
                                 &(nullable_column.get_null_map_data()));
424
            } else {
425
                add_batch_lambda(*columns[0], nullptr);
426
            }
427
5
        } else {
428
5
            normal_add_lambda();
429
5
        }
430
5
    }
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
431
432
    void merge(AggregateDataPtr __restrict place, ConstAggregateDataPtr rhs,
433
0
               Arena&) const override {
434
0
        this->data(place).merge(this->data(rhs).get());
435
0
    }
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE5mergeEPcPKcRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE5mergeEPcPKcRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE5mergeEPcPKcRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE5mergeEPcPKcRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE5mergeEPcPKcRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE5mergeEPcPKcRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE5mergeEPcPKcRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE5mergeEPcPKcRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE5mergeEPcPKcRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE5mergeEPcPKcRNS_5ArenaE
436
437
0
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
438
0
        this->data(place).write(buf);
439
0
    }
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE9serializeEPKcRNS_14BufferWritableE
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE9serializeEPKcRNS_14BufferWritableE
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE9serializeEPKcRNS_14BufferWritableE
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE9serializeEPKcRNS_14BufferWritableE
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE9serializeEPKcRNS_14BufferWritableE
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE9serializeEPKcRNS_14BufferWritableE
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE9serializeEPKcRNS_14BufferWritableE
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE9serializeEPKcRNS_14BufferWritableE
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE9serializeEPKcRNS_14BufferWritableE
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE9serializeEPKcRNS_14BufferWritableE
440
441
    void deserialize(AggregateDataPtr __restrict place, BufferReadable& buf,
442
0
                     Arena&) const override {
443
0
        this->data(place).read(buf);
444
0
    }
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
445
446
349
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
447
349
        auto& value_data = this->data(place).get();
448
349
        auto& column = assert_cast<ColVecResult&>(to);
449
349
        column.get_data().push_back(value_data.cardinality());
450
349
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
446
15
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
447
15
        auto& value_data = this->data(place).get();
448
15
        auto& column = assert_cast<ColVecResult&>(to);
449
15
        column.get_data().push_back(value_data.cardinality());
450
15
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
446
183
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
447
183
        auto& value_data = this->data(place).get();
448
183
        auto& column = assert_cast<ColVecResult&>(to);
449
183
        column.get_data().push_back(value_data.cardinality());
450
183
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
446
21
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
447
21
        auto& value_data = this->data(place).get();
448
21
        auto& column = assert_cast<ColVecResult&>(to);
449
21
        column.get_data().push_back(value_data.cardinality());
450
21
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
446
39
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
447
39
        auto& value_data = this->data(place).get();
448
39
        auto& column = assert_cast<ColVecResult&>(to);
449
39
        column.get_data().push_back(value_data.cardinality());
450
39
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
446
36
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
447
36
        auto& value_data = this->data(place).get();
448
36
        auto& column = assert_cast<ColVecResult&>(to);
449
36
        column.get_data().push_back(value_data.cardinality());
450
36
    }
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE18insert_result_intoEPKcRNS_7IColumnE
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
446
17
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
447
17
        auto& value_data = this->data(place).get();
448
17
        auto& column = assert_cast<ColVecResult&>(to);
449
17
        column.get_data().push_back(value_data.cardinality());
450
17
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
446
17
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
447
17
        auto& value_data = this->data(place).get();
448
17
        auto& column = assert_cast<ColVecResult&>(to);
449
17
        column.get_data().push_back(value_data.cardinality());
450
17
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
446
20
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
447
20
        auto& value_data = this->data(place).get();
448
20
        auto& column = assert_cast<ColVecResult&>(to);
449
20
        column.get_data().push_back(value_data.cardinality());
450
20
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
446
1
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
447
1
        auto& value_data = this->data(place).get();
448
1
        auto& column = assert_cast<ColVecResult&>(to);
449
1
        column.get_data().push_back(value_data.cardinality());
450
1
    }
451
452
63
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE5resetEPc
Line
Count
Source
452
3
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE5resetEPc
Line
Count
Source
452
31
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE5resetEPc
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE5resetEPc
Line
Count
Source
452
3
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE5resetEPc
Line
Count
Source
452
26
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE5resetEPc
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE5resetEPc
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE5resetEPc
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE5resetEPc
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE5resetEPc
453
};
454
455
AggregateFunctionPtr create_aggregate_function_bitmap_union(const std::string& name,
456
                                                            const DataTypes& argument_types,
457
                                                            const bool result_is_nullable);
458
459
} // namespace doris
460
#include "common/compile_check_end.h"