Coverage Report

Created: 2026-04-15 09: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
42
class Arena;
43
class BufferReadable;
44
class BufferWritable;
45
class IColumn;
46
struct AggregateFunctionBitmapUnionOp {
47
    static constexpr auto name = "bitmap_union";
48
49
    template <typename T>
50
512
    static void add(BitmapValue& res, const T& data, bool& is_first) {
51
512
        res.add(data);
52
512
        is_first = false;
53
512
    }
_ZN5doris30AggregateFunctionBitmapUnionOp3addIaEEvRNS_11BitmapValueERKT_Rb
Line
Count
Source
50
117
    static void add(BitmapValue& res, const T& data, bool& is_first) {
51
117
        res.add(data);
52
117
        is_first = false;
53
117
    }
_ZN5doris30AggregateFunctionBitmapUnionOp3addIsEEvRNS_11BitmapValueERKT_Rb
Line
Count
Source
50
141
    static void add(BitmapValue& res, const T& data, bool& is_first) {
51
141
        res.add(data);
52
141
        is_first = false;
53
141
    }
_ZN5doris30AggregateFunctionBitmapUnionOp3addIiEEvRNS_11BitmapValueERKT_Rb
Line
Count
Source
50
245
    static void add(BitmapValue& res, const T& data, bool& is_first) {
51
245
        res.add(data);
52
245
        is_first = false;
53
245
    }
_ZN5doris30AggregateFunctionBitmapUnionOp3addIlEEvRNS_11BitmapValueERKT_Rb
Line
Count
Source
50
9
    static void add(BitmapValue& res, const T& data, bool& is_first) {
51
9
        res.add(data);
52
9
        is_first = false;
53
9
    }
54
55
117k
    static void add(BitmapValue& res, const BitmapValue& data, bool& is_first) {
56
117k
        if (UNLIKELY(is_first)) {
57
17.5k
            res = data;
58
17.5k
            is_first = false;
59
99.7k
        } else {
60
99.7k
            res |= data;
61
99.7k
        }
62
117k
    }
63
64
39.4k
    static void add_batch(BitmapValue& res, std::vector<const BitmapValue*>& data, bool& is_first) {
65
39.4k
        res.fastunion(data);
66
        // after fastunion, res myabe have many datas, so is_first should be false
67
        // then call add function will not reset res
68
39.4k
        is_first = false;
69
39.4k
    }
70
71
42.4k
    static void merge(BitmapValue& res, const BitmapValue& data, bool& is_first) {
72
42.4k
        if (UNLIKELY(is_first)) {
73
41.9k
            res = data;
74
41.9k
            is_first = false;
75
41.9k
        } else {
76
438
            res |= data;
77
438
        }
78
42.4k
    }
79
};
80
81
struct AggregateFunctionBitmapIntersectOp {
82
    static constexpr auto name = "bitmap_intersect";
83
84
5.70k
    static void add(BitmapValue& res, const BitmapValue& data, bool& is_first) {
85
5.70k
        if (UNLIKELY(is_first)) {
86
1.69k
            res = data;
87
1.69k
            is_first = false;
88
4.01k
        } else {
89
4.01k
            res &= data;
90
4.01k
        }
91
5.70k
    }
92
93
246
    static void merge(BitmapValue& res, const BitmapValue& data, bool& is_first) {
94
246
        if (UNLIKELY(is_first)) {
95
122
            res = data;
96
122
            is_first = false;
97
124
        } else {
98
124
            res &= data;
99
124
        }
100
246
    }
101
};
102
103
struct AggregateFunctionGroupBitmapXorOp {
104
    static constexpr auto name = "group_bitmap_xor";
105
106
286
    static void add(BitmapValue& res, const BitmapValue& data, bool& is_first) {
107
286
        if (UNLIKELY(is_first)) {
108
228
            res = data;
109
228
            is_first = false;
110
228
        } else {
111
58
            res ^= data;
112
58
        }
113
286
    }
114
115
203
    static void merge(BitmapValue& res, const BitmapValue& data, bool& is_first) {
116
203
        if (UNLIKELY(is_first)) {
117
83
            res = data;
118
83
            is_first = false;
119
120
        } else {
120
120
            res ^= data;
121
120
        }
122
203
    }
123
};
124
125
template <typename Op>
126
struct AggregateFunctionBitmapData {
127
    BitmapValue value;
128
    bool is_first = true;
129
130
    template <typename T>
131
123k
    void add(const T& data) {
132
123k
        Op::add(value, data, is_first);
133
123k
    }
_ZN5doris27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEE3addINS_11BitmapValueEEEvRKT_
Line
Count
Source
131
117k
    void add(const T& data) {
132
117k
        Op::add(value, data, is_first);
133
117k
    }
_ZN5doris27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEE3addIaEEvRKT_
Line
Count
Source
131
117
    void add(const T& data) {
132
117
        Op::add(value, data, is_first);
133
117
    }
_ZN5doris27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEE3addIsEEvRKT_
Line
Count
Source
131
141
    void add(const T& data) {
132
141
        Op::add(value, data, is_first);
133
141
    }
_ZN5doris27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEE3addIiEEvRKT_
Line
Count
Source
131
245
    void add(const T& data) {
132
245
        Op::add(value, data, is_first);
133
245
    }
_ZN5doris27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEE3addIlEEvRKT_
Line
Count
Source
131
9
    void add(const T& data) {
132
9
        Op::add(value, data, is_first);
133
9
    }
_ZN5doris27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEE3addINS_11BitmapValueEEEvRKT_
Line
Count
Source
131
5.70k
    void add(const T& data) {
132
5.70k
        Op::add(value, data, is_first);
133
5.70k
    }
_ZN5doris27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEE3addINS_11BitmapValueEEEvRKT_
Line
Count
Source
131
286
    void add(const T& data) {
132
286
        Op::add(value, data, is_first);
133
286
    }
134
135
39.4k
    void add_batch(std::vector<const BitmapValue*>& data) { Op::add_batch(value, data, is_first); }
136
137
42.8k
    void merge(const BitmapValue& data) { Op::merge(value, data, is_first); }
_ZN5doris27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEE5mergeERKNS_11BitmapValueE
Line
Count
Source
137
42.4k
    void merge(const BitmapValue& data) { Op::merge(value, data, is_first); }
_ZN5doris27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEE5mergeERKNS_11BitmapValueE
Line
Count
Source
137
246
    void merge(const BitmapValue& data) { Op::merge(value, data, is_first); }
_ZN5doris27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEE5mergeERKNS_11BitmapValueE
Line
Count
Source
137
203
    void merge(const BitmapValue& data) { Op::merge(value, data, is_first); }
138
139
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
140
141
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
142
143
14.7k
    void reset() {
144
14.7k
        is_first = true;
145
14.7k
        value.reset(); // it's better to call reset function by self firstly.
146
14.7k
    }
_ZN5doris27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEE5resetEv
Line
Count
Source
143
14.6k
    void reset() {
144
14.6k
        is_first = true;
145
14.6k
        value.reset(); // it's better to call reset function by self firstly.
146
14.6k
    }
_ZN5doris27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEE5resetEv
Line
Count
Source
143
53
    void reset() {
144
53
        is_first = true;
145
53
        value.reset(); // it's better to call reset function by self firstly.
146
53
    }
_ZN5doris27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEE5resetEv
Line
Count
Source
143
38
    void reset() {
144
38
        is_first = true;
145
38
        value.reset(); // it's better to call reset function by self firstly.
146
38
    }
147
148
    BitmapValue& get() { return value; }
149
150
58.3k
    const BitmapValue& get() const { return value; }
_ZNK5doris27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEE3getEv
Line
Count
Source
150
56.7k
    const BitmapValue& get() const { return value; }
_ZNK5doris27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEE3getEv
Line
Count
Source
150
1.52k
    const BitmapValue& get() const { return value; }
_ZNK5doris27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEE3getEv
Line
Count
Source
150
79
    const BitmapValue& get() const { return value; }
151
};
152
153
template <typename Data, typename Derived>
154
class AggregateFunctionBitmapSerializationHelper
155
        : public IAggregateFunctionDataHelper<Data, Derived> {
156
public:
157
    using BaseHelper = IAggregateFunctionHelper<Derived>;
158
159
    AggregateFunctionBitmapSerializationHelper(const DataTypes& argument_types_)
160
4.81k
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISE_EE
Line
Count
Source
160
3
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISE_EE
Line
Count
Source
160
466
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISE_EE
Line
Count
Source
160
11
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISE_EE
Line
Count
Source
160
14
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISE_EE
Line
Count
Source
160
315
            : 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
160
9
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISE_EE
Line
Count
Source
160
9
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISE_EE
Line
Count
Source
160
15
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISE_EE
Line
Count
Source
160
1
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_25AggregateFunctionBitmapOpIS2_EEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
160
2.55k
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEEENS_25AggregateFunctionBitmapOpIS2_EEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
160
1.08k
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEEENS_25AggregateFunctionBitmapOpIS2_EEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
160
334
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
161
162
    void streaming_agg_serialize_to_column(const IColumn** columns, MutableColumnPtr& dst,
163
59
                                           const size_t num_rows, Arena& arena) const override {
164
59
        auto& col = assert_cast<ColumnBitmap&>(*dst);
165
59
        char place[sizeof(Data)];
166
59
        col.resize(num_rows);
167
59
        auto* data = col.get_data().data();
168
16.8k
        for (size_t i = 0; i != num_rows; ++i) {
169
16.7k
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->create(place);
170
16.7k
            DEFER({
171
16.7k
                assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->destroy(place);
172
16.7k
            });
173
16.7k
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->add(place, columns, i,
174
16.7k
                                                                                arena);
175
16.7k
            data[i] = std::move(this->data(place).value);
176
16.7k
        }
177
59
    }
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
163
9
                                           const size_t num_rows, Arena& arena) const override {
164
9
        auto& col = assert_cast<ColumnBitmap&>(*dst);
165
9
        char place[sizeof(Data)];
166
9
        col.resize(num_rows);
167
9
        auto* data = col.get_data().data();
168
117
        for (size_t i = 0; i != num_rows; ++i) {
169
108
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->create(place);
170
108
            DEFER({
171
108
                assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->destroy(place);
172
108
            });
173
108
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->add(place, columns, i,
174
108
                                                                                arena);
175
108
            data[i] = std::move(this->data(place).value);
176
108
        }
177
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
163
9
                                           const size_t num_rows, Arena& arena) const override {
164
9
        auto& col = assert_cast<ColumnBitmap&>(*dst);
165
9
        char place[sizeof(Data)];
166
9
        col.resize(num_rows);
167
9
        auto* data = col.get_data().data();
168
117
        for (size_t i = 0; i != num_rows; ++i) {
169
108
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->create(place);
170
108
            DEFER({
171
108
                assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->destroy(place);
172
108
            });
173
108
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->add(place, columns, i,
174
108
                                                                                arena);
175
108
            data[i] = std::move(this->data(place).value);
176
108
        }
177
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
163
9
                                           const size_t num_rows, Arena& arena) const override {
164
9
        auto& col = assert_cast<ColumnBitmap&>(*dst);
165
9
        char place[sizeof(Data)];
166
9
        col.resize(num_rows);
167
9
        auto* data = col.get_data().data();
168
16.3k
        for (size_t i = 0; i != num_rows; ++i) {
169
16.3k
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->create(place);
170
16.3k
            DEFER({
171
16.3k
                assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->destroy(place);
172
16.3k
            });
173
16.3k
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->add(place, columns, i,
174
16.3k
                                                                                arena);
175
16.3k
            data[i] = std::move(this->data(place).value);
176
16.3k
        }
177
9
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEEENS_25AggregateFunctionBitmapOpIS2_EEE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWIS7_E11mutable_ptrIS7_EEmRNS_5ArenaE
Line
Count
Source
163
23
                                           const size_t num_rows, Arena& arena) const override {
164
23
        auto& col = assert_cast<ColumnBitmap&>(*dst);
165
23
        char place[sizeof(Data)];
166
23
        col.resize(num_rows);
167
23
        auto* data = col.get_data().data();
168
145
        for (size_t i = 0; i != num_rows; ++i) {
169
122
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->create(place);
170
122
            DEFER({
171
122
                assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->destroy(place);
172
122
            });
173
122
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->add(place, columns, i,
174
122
                                                                                arena);
175
122
            data[i] = std::move(this->data(place).value);
176
122
        }
177
23
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEEENS_25AggregateFunctionBitmapOpIS2_EEE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWIS7_E11mutable_ptrIS7_EEmRNS_5ArenaE
Line
Count
Source
163
9
                                           const size_t num_rows, Arena& arena) const override {
164
9
        auto& col = assert_cast<ColumnBitmap&>(*dst);
165
9
        char place[sizeof(Data)];
166
9
        col.resize(num_rows);
167
9
        auto* data = col.get_data().data();
168
117
        for (size_t i = 0; i != num_rows; ++i) {
169
108
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->create(place);
170
108
            DEFER({
171
108
                assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->destroy(place);
172
108
            });
173
108
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->add(place, columns, i,
174
108
                                                                                arena);
175
108
            data[i] = std::move(this->data(place).value);
176
108
        }
177
9
    }
178
179
    void serialize_to_column(const std::vector<AggregateDataPtr>& places, size_t offset,
180
1.24k
                             MutableColumnPtr& dst, const size_t num_rows) const override {
181
1.24k
        auto& col = assert_cast<ColumnBitmap&>(*dst);
182
1.24k
        col.resize(num_rows);
183
1.24k
        auto* data = col.get_data().data();
184
27.0k
        for (size_t i = 0; i != num_rows; ++i) {
185
25.8k
            data[i] = std::move(this->data(places[i] + offset).value);
186
25.8k
        }
187
1.24k
    }
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
180
285
                             MutableColumnPtr& dst, const size_t num_rows) const override {
181
285
        auto& col = assert_cast<ColumnBitmap&>(*dst);
182
285
        col.resize(num_rows);
183
285
        auto* data = col.get_data().data();
184
476
        for (size_t i = 0; i != num_rows; ++i) {
185
191
            data[i] = std::move(this->data(places[i] + offset).value);
186
191
        }
187
285
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE19serialize_to_columnERKSt6vectorIPcSaISB_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISH_EEm
Line
Count
Source
180
24
                             MutableColumnPtr& dst, const size_t num_rows) const override {
181
24
        auto& col = assert_cast<ColumnBitmap&>(*dst);
182
24
        col.resize(num_rows);
183
24
        auto* data = col.get_data().data();
184
68
        for (size_t i = 0; i != num_rows; ++i) {
185
44
            data[i] = std::move(this->data(places[i] + offset).value);
186
44
        }
187
24
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE19serialize_to_columnERKSt6vectorIPcSaISB_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISH_EEm
Line
Count
Source
180
24
                             MutableColumnPtr& dst, const size_t num_rows) const override {
181
24
        auto& col = assert_cast<ColumnBitmap&>(*dst);
182
24
        col.resize(num_rows);
183
24
        auto* data = col.get_data().data();
184
68
        for (size_t i = 0; i != num_rows; ++i) {
185
44
            data[i] = std::move(this->data(places[i] + offset).value);
186
44
        }
187
24
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE19serialize_to_columnERKSt6vectorIPcSaISB_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISH_EEm
Line
Count
Source
180
24
                             MutableColumnPtr& dst, const size_t num_rows) const override {
181
24
        auto& col = assert_cast<ColumnBitmap&>(*dst);
182
24
        col.resize(num_rows);
183
24
        auto* data = col.get_data().data();
184
68
        for (size_t i = 0; i != num_rows; ++i) {
185
44
            data[i] = std::move(this->data(places[i] + offset).value);
186
44
        }
187
24
    }
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
180
12
                             MutableColumnPtr& dst, const size_t num_rows) const override {
181
12
        auto& col = assert_cast<ColumnBitmap&>(*dst);
182
12
        col.resize(num_rows);
183
12
        auto* data = col.get_data().data();
184
32
        for (size_t i = 0; i != num_rows; ++i) {
185
20
            data[i] = std::move(this->data(places[i] + offset).value);
186
20
        }
187
12
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE19serialize_to_columnERKSt6vectorIPcSaISB_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISH_EEm
Line
Count
Source
180
12
                             MutableColumnPtr& dst, const size_t num_rows) const override {
181
12
        auto& col = assert_cast<ColumnBitmap&>(*dst);
182
12
        col.resize(num_rows);
183
12
        auto* data = col.get_data().data();
184
32
        for (size_t i = 0; i != num_rows; ++i) {
185
20
            data[i] = std::move(this->data(places[i] + offset).value);
186
20
        }
187
12
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE19serialize_to_columnERKSt6vectorIPcSaISB_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISH_EEm
Line
Count
Source
180
12
                             MutableColumnPtr& dst, const size_t num_rows) const override {
181
12
        auto& col = assert_cast<ColumnBitmap&>(*dst);
182
12
        col.resize(num_rows);
183
12
        auto* data = col.get_data().data();
184
32
        for (size_t i = 0; i != num_rows; ++i) {
185
20
            data[i] = std::move(this->data(places[i] + offset).value);
186
20
        }
187
12
    }
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
180
775
                             MutableColumnPtr& dst, const size_t num_rows) const override {
181
775
        auto& col = assert_cast<ColumnBitmap&>(*dst);
182
775
        col.resize(num_rows);
183
775
        auto* data = col.get_data().data();
184
26.0k
        for (size_t i = 0; i != num_rows; ++i) {
185
25.2k
            data[i] = std::move(this->data(places[i] + offset).value);
186
25.2k
        }
187
775
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEEENS_25AggregateFunctionBitmapOpIS2_EEE19serialize_to_columnERKSt6vectorIPcSaIS8_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISE_EEm
Line
Count
Source
180
37
                             MutableColumnPtr& dst, const size_t num_rows) const override {
181
37
        auto& col = assert_cast<ColumnBitmap&>(*dst);
182
37
        col.resize(num_rows);
183
37
        auto* data = col.get_data().data();
184
105
        for (size_t i = 0; i != num_rows; ++i) {
185
68
            data[i] = std::move(this->data(places[i] + offset).value);
186
68
        }
187
37
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEEENS_25AggregateFunctionBitmapOpIS2_EEE19serialize_to_columnERKSt6vectorIPcSaIS8_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISE_EEm
Line
Count
Source
180
36
                             MutableColumnPtr& dst, const size_t num_rows) const override {
181
36
        auto& col = assert_cast<ColumnBitmap&>(*dst);
182
36
        col.resize(num_rows);
183
36
        auto* data = col.get_data().data();
184
100
        for (size_t i = 0; i != num_rows; ++i) {
185
64
            data[i] = std::move(this->data(places[i] + offset).value);
186
64
        }
187
36
    }
188
189
    void deserialize_and_merge_from_column_range(AggregateDataPtr __restrict place,
190
                                                 const IColumn& column, size_t begin, size_t end,
191
806
                                                 Arena&) const override {
192
18.4E
        DCHECK(end <= column.size() && begin <= end)
193
18.4E
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
194
806
        const auto& col = assert_cast<const ColumnBitmap&>(column);
195
806
        const auto* data = col.get_data().data();
196
1.73k
        for (size_t i = begin; i <= end; ++i) {
197
926
            this->data(place).merge(data[i]);
198
926
        }
199
806
    }
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
191
159
                                                 Arena&) const override {
192
159
        DCHECK(end <= column.size() && begin <= end)
193
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
194
159
        const auto& col = assert_cast<const ColumnBitmap&>(column);
195
159
        const auto* data = col.get_data().data();
196
334
        for (size_t i = begin; i <= end; ++i) {
197
175
            this->data(place).merge(data[i]);
198
175
        }
199
159
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
191
12
                                                 Arena&) const override {
192
12
        DCHECK(end <= column.size() && begin <= end)
193
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
194
12
        const auto& col = assert_cast<const ColumnBitmap&>(column);
195
12
        const auto* data = col.get_data().data();
196
33
        for (size_t i = begin; i <= end; ++i) {
197
21
            this->data(place).merge(data[i]);
198
21
        }
199
12
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
191
13
                                                 Arena&) const override {
192
13
        DCHECK(end <= column.size() && begin <= end)
193
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
194
13
        const auto& col = assert_cast<const ColumnBitmap&>(column);
195
13
        const auto* data = col.get_data().data();
196
35
        for (size_t i = begin; i <= end; ++i) {
197
22
            this->data(place).merge(data[i]);
198
22
        }
199
13
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
191
132
                                                 Arena&) const override {
192
18.4E
        DCHECK(end <= column.size() && begin <= end)
193
18.4E
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
194
132
        const auto& col = assert_cast<const ColumnBitmap&>(column);
195
132
        const auto* data = col.get_data().data();
196
275
        for (size_t i = begin; i <= end; ++i) {
197
143
            this->data(place).merge(data[i]);
198
143
        }
199
132
    }
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
191
12
                                                 Arena&) const override {
192
12
        DCHECK(end <= column.size() && begin <= end)
193
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
194
12
        const auto& col = assert_cast<const ColumnBitmap&>(column);
195
12
        const auto* data = col.get_data().data();
196
32
        for (size_t i = begin; i <= end; ++i) {
197
20
            this->data(place).merge(data[i]);
198
20
        }
199
12
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
191
12
                                                 Arena&) const override {
192
12
        DCHECK(end <= column.size() && begin <= end)
193
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
194
12
        const auto& col = assert_cast<const ColumnBitmap&>(column);
195
12
        const auto* data = col.get_data().data();
196
32
        for (size_t i = begin; i <= end; ++i) {
197
20
            this->data(place).merge(data[i]);
198
20
        }
199
12
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
191
13
                                                 Arena&) const override {
192
13
        DCHECK(end <= column.size() && begin <= end)
193
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
194
13
        const auto& col = assert_cast<const ColumnBitmap&>(column);
195
13
        const auto* data = col.get_data().data();
196
34
        for (size_t i = begin; i <= end; ++i) {
197
21
            this->data(place).merge(data[i]);
198
21
        }
199
13
    }
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
191
120
                                                 Arena&) const override {
192
120
        DCHECK(end <= column.size() && begin <= end)
193
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
194
120
        const auto& col = assert_cast<const ColumnBitmap&>(column);
195
120
        const auto* data = col.get_data().data();
196
257
        for (size_t i = begin; i <= end; ++i) {
197
137
            this->data(place).merge(data[i]);
198
137
        }
199
120
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEEENS_25AggregateFunctionBitmapOpIS2_EEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
191
186
                                                 Arena&) const override {
192
186
        DCHECK(end <= column.size() && begin <= end)
193
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
194
186
        const auto& col = assert_cast<const ColumnBitmap&>(column);
195
186
        const auto* data = col.get_data().data();
196
389
        for (size_t i = begin; i <= end; ++i) {
197
203
            this->data(place).merge(data[i]);
198
203
        }
199
186
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEEENS_25AggregateFunctionBitmapOpIS2_EEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
191
147
                                                 Arena&) const override {
192
147
        DCHECK(end <= column.size() && begin <= end)
193
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
194
147
        const auto& col = assert_cast<const ColumnBitmap&>(column);
195
147
        const auto* data = col.get_data().data();
196
311
        for (size_t i = begin; i <= end; ++i) {
197
164
            this->data(place).merge(data[i]);
198
164
        }
199
147
    }
200
201
    void deserialize_and_merge_vec(const AggregateDataPtr* places, size_t offset,
202
                                   AggregateDataPtr rhs, const IColumn* column, Arena&,
203
701
                                   const size_t num_rows) const override {
204
701
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
205
701
        const auto* data = col.get_data().data();
206
42.6k
        for (size_t i = 0; i != num_rows; ++i) {
207
41.9k
            this->data(places[i] + offset).merge(data[i]);
208
41.9k
        }
209
701
    }
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
203
124
                                   const size_t num_rows) const override {
204
124
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
205
124
        const auto* data = col.get_data().data();
206
290
        for (size_t i = 0; i != num_rows; ++i) {
207
166
            this->data(places[i] + offset).merge(data[i]);
208
166
        }
209
124
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE25deserialize_and_merge_vecEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
203
16
                                   const size_t num_rows) const override {
204
16
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
205
16
        const auto* data = col.get_data().data();
206
47
        for (size_t i = 0; i != num_rows; ++i) {
207
31
            this->data(places[i] + offset).merge(data[i]);
208
31
        }
209
16
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE25deserialize_and_merge_vecEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
203
18
                                   const size_t num_rows) const override {
204
18
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
205
18
        const auto* data = col.get_data().data();
206
49
        for (size_t i = 0; i != num_rows; ++i) {
207
31
            this->data(places[i] + offset).merge(data[i]);
208
31
        }
209
18
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE25deserialize_and_merge_vecEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
203
17
                                   const size_t num_rows) const override {
204
17
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
205
17
        const auto* data = col.get_data().data();
206
48
        for (size_t i = 0; i != num_rows; ++i) {
207
31
            this->data(places[i] + offset).merge(data[i]);
208
31
        }
209
17
    }
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
203
3
                                   const size_t num_rows) const override {
204
3
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
205
3
        const auto* data = col.get_data().data();
206
11
        for (size_t i = 0; i != num_rows; ++i) {
207
8
            this->data(places[i] + offset).merge(data[i]);
208
8
        }
209
3
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE25deserialize_and_merge_vecEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
203
4
                                   const size_t num_rows) const override {
204
4
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
205
4
        const auto* data = col.get_data().data();
206
12
        for (size_t i = 0; i != num_rows; ++i) {
207
8
            this->data(places[i] + offset).merge(data[i]);
208
8
        }
209
4
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE25deserialize_and_merge_vecEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
203
3
                                   const size_t num_rows) const override {
204
3
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
205
3
        const auto* data = col.get_data().data();
206
11
        for (size_t i = 0; i != num_rows; ++i) {
207
8
            this->data(places[i] + offset).merge(data[i]);
208
8
        }
209
3
    }
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
203
477
                                   const size_t num_rows) const override {
204
477
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
205
477
        const auto* data = col.get_data().data();
206
42.0k
        for (size_t i = 0; i != num_rows; ++i) {
207
41.5k
            this->data(places[i] + offset).merge(data[i]);
208
41.5k
        }
209
477
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEEENS_25AggregateFunctionBitmapOpIS2_EEE25deserialize_and_merge_vecEPKPcmS7_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
203
22
                                   const size_t num_rows) const override {
204
22
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
205
22
        const auto* data = col.get_data().data();
206
65
        for (size_t i = 0; i != num_rows; ++i) {
207
43
            this->data(places[i] + offset).merge(data[i]);
208
43
        }
209
22
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEEENS_25AggregateFunctionBitmapOpIS2_EEE25deserialize_and_merge_vecEPKPcmS7_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
203
17
                                   const size_t num_rows) const override {
204
17
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
205
17
        const auto* data = col.get_data().data();
206
56
        for (size_t i = 0; i != num_rows; ++i) {
207
39
            this->data(places[i] + offset).merge(data[i]);
208
39
        }
209
17
    }
210
211
    void deserialize_and_merge_vec_selected(const AggregateDataPtr* places, size_t offset,
212
                                            AggregateDataPtr rhs, const IColumn* column, Arena&,
213
0
                                            const size_t num_rows) const override {
214
0
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
215
0
        const auto* data = col.get_data().data();
216
0
        for (size_t i = 0; i != num_rows; ++i) {
217
0
            if (places[i]) {
218
0
                this->data(places[i] + offset).merge(data[i]);
219
0
            }
220
0
        }
221
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
222
223
    void serialize_without_key_to_column(ConstAggregateDataPtr __restrict place,
224
460
                                         IColumn& to) const override {
225
460
        auto& col = assert_cast<ColumnBitmap&>(to);
226
460
        size_t old_size = col.size();
227
460
        col.resize(old_size + 1);
228
460
        col.get_data()[old_size] = std::move(this->data(place).value);
229
460
    }
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
224
82
                                         IColumn& to) const override {
225
82
        auto& col = assert_cast<ColumnBitmap&>(to);
226
82
        size_t old_size = col.size();
227
82
        col.resize(old_size + 1);
228
82
        col.get_data()[old_size] = std::move(this->data(place).value);
229
82
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
224
8
                                         IColumn& to) const override {
225
8
        auto& col = assert_cast<ColumnBitmap&>(to);
226
8
        size_t old_size = col.size();
227
8
        col.resize(old_size + 1);
228
8
        col.get_data()[old_size] = std::move(this->data(place).value);
229
8
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
224
9
                                         IColumn& to) const override {
225
9
        auto& col = assert_cast<ColumnBitmap&>(to);
226
9
        size_t old_size = col.size();
227
9
        col.resize(old_size + 1);
228
9
        col.get_data()[old_size] = std::move(this->data(place).value);
229
9
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
224
61
                                         IColumn& to) const override {
225
61
        auto& col = assert_cast<ColumnBitmap&>(to);
226
61
        size_t old_size = col.size();
227
61
        col.resize(old_size + 1);
228
61
        col.get_data()[old_size] = std::move(this->data(place).value);
229
61
    }
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
224
8
                                         IColumn& to) const override {
225
8
        auto& col = assert_cast<ColumnBitmap&>(to);
226
8
        size_t old_size = col.size();
227
8
        col.resize(old_size + 1);
228
8
        col.get_data()[old_size] = std::move(this->data(place).value);
229
8
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
224
8
                                         IColumn& to) const override {
225
8
        auto& col = assert_cast<ColumnBitmap&>(to);
226
8
        size_t old_size = col.size();
227
8
        col.resize(old_size + 1);
228
8
        col.get_data()[old_size] = std::move(this->data(place).value);
229
8
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
224
9
                                         IColumn& to) const override {
225
9
        auto& col = assert_cast<ColumnBitmap&>(to);
226
9
        size_t old_size = col.size();
227
9
        col.resize(old_size + 1);
228
9
        col.get_data()[old_size] = std::move(this->data(place).value);
229
9
    }
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
224
102
                                         IColumn& to) const override {
225
102
        auto& col = assert_cast<ColumnBitmap&>(to);
226
102
        size_t old_size = col.size();
227
102
        col.resize(old_size + 1);
228
102
        col.get_data()[old_size] = std::move(this->data(place).value);
229
102
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEEENS_25AggregateFunctionBitmapOpIS2_EEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
224
103
                                         IColumn& to) const override {
225
103
        auto& col = assert_cast<ColumnBitmap&>(to);
226
103
        size_t old_size = col.size();
227
103
        col.resize(old_size + 1);
228
103
        col.get_data()[old_size] = std::move(this->data(place).value);
229
103
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEEENS_25AggregateFunctionBitmapOpIS2_EEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
224
70
                                         IColumn& to) const override {
225
70
        auto& col = assert_cast<ColumnBitmap&>(to);
226
70
        size_t old_size = col.size();
227
70
        col.resize(old_size + 1);
228
70
        col.get_data()[old_size] = std::move(this->data(place).value);
229
70
    }
230
231
2.70k
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
232
2.70k
        return ColumnBitmap::create();
233
2.70k
    }
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE23create_serialize_columnEv
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE23create_serialize_columnEv
Line
Count
Source
231
541
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
232
541
        return ColumnBitmap::create();
233
541
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE23create_serialize_columnEv
Line
Count
Source
231
32
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
232
32
        return ColumnBitmap::create();
233
32
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE23create_serialize_columnEv
Line
Count
Source
231
33
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
232
33
        return ColumnBitmap::create();
233
33
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE23create_serialize_columnEv
Line
Count
Source
231
261
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
232
261
        return ColumnBitmap::create();
233
261
    }
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE23create_serialize_columnEv
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE23create_serialize_columnEv
Line
Count
Source
231
20
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
232
20
        return ColumnBitmap::create();
233
20
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE23create_serialize_columnEv
Line
Count
Source
231
20
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
232
20
        return ColumnBitmap::create();
233
20
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE23create_serialize_columnEv
Line
Count
Source
231
21
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
232
21
        return ColumnBitmap::create();
233
21
    }
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE23create_serialize_columnEv
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_25AggregateFunctionBitmapOpIS2_EEE23create_serialize_columnEv
Line
Count
Source
231
993
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
232
993
        return ColumnBitmap::create();
233
993
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEEENS_25AggregateFunctionBitmapOpIS2_EEE23create_serialize_columnEv
Line
Count
Source
231
505
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
232
505
        return ColumnBitmap::create();
233
505
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEEENS_25AggregateFunctionBitmapOpIS2_EEE23create_serialize_columnEv
Line
Count
Source
231
283
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
232
283
        return ColumnBitmap::create();
233
283
    }
234
235
3.37k
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
236
3.37k
        return std::make_shared<DataTypeBitMap>();
237
3.37k
    }
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE19get_serialized_typeEv
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE19get_serialized_typeEv
Line
Count
Source
235
612
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
236
612
        return std::make_shared<DataTypeBitMap>();
237
612
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE19get_serialized_typeEv
Line
Count
Source
235
32
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
236
32
        return std::make_shared<DataTypeBitMap>();
237
32
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE19get_serialized_typeEv
Line
Count
Source
235
33
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
236
33
        return std::make_shared<DataTypeBitMap>();
237
33
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE19get_serialized_typeEv
Line
Count
Source
235
330
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
236
330
        return std::make_shared<DataTypeBitMap>();
237
330
    }
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE19get_serialized_typeEv
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE19get_serialized_typeEv
Line
Count
Source
235
20
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
236
20
        return std::make_shared<DataTypeBitMap>();
237
20
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE19get_serialized_typeEv
Line
Count
Source
235
20
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
236
20
        return std::make_shared<DataTypeBitMap>();
237
20
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE19get_serialized_typeEv
Line
Count
Source
235
21
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
236
21
        return std::make_shared<DataTypeBitMap>();
237
21
    }
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE19get_serialized_typeEv
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_25AggregateFunctionBitmapOpIS2_EEE19get_serialized_typeEv
Line
Count
Source
235
1.12k
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
236
1.12k
        return std::make_shared<DataTypeBitMap>();
237
1.12k
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEEENS_25AggregateFunctionBitmapOpIS2_EEE19get_serialized_typeEv
Line
Count
Source
235
831
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
236
831
        return std::make_shared<DataTypeBitMap>();
237
831
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEEENS_25AggregateFunctionBitmapOpIS2_EEE19get_serialized_typeEv
Line
Count
Source
235
351
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
236
351
        return std::make_shared<DataTypeBitMap>();
237
351
    }
238
239
protected:
240
    using IAggregateFunction::version;
241
};
242
243
template <typename Op>
244
class AggregateFunctionBitmapOp final
245
        : public AggregateFunctionBitmapSerializationHelper<AggregateFunctionBitmapData<Op>,
246
                                                            AggregateFunctionBitmapOp<Op>>,
247
          UnaryExpression,
248
          NullableAggregateFunction {
249
public:
250
    using ResultDataType = BitmapValue;
251
    using ColVecType = ColumnBitmap;
252
    using ColVecResult = ColumnBitmap;
253
254
144
    String get_name() const override { return Op::name; }
_ZNK5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEE8get_nameB5cxx11Ev
Line
Count
Source
254
38
    String get_name() const override { return Op::name; }
_ZNK5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEE8get_nameB5cxx11Ev
Line
Count
Source
254
75
    String get_name() const override { return Op::name; }
_ZNK5doris25AggregateFunctionBitmapOpINS_33AggregateFunctionGroupBitmapXorOpEE8get_nameB5cxx11Ev
Line
Count
Source
254
31
    String get_name() const override { return Op::name; }
255
256
    AggregateFunctionBitmapOp(const DataTypes& argument_types_)
257
3.97k
            : AggregateFunctionBitmapSerializationHelper<AggregateFunctionBitmapData<Op>,
258
3.97k
                                                         AggregateFunctionBitmapOp<Op>>(
259
3.97k
                      argument_types_) {}
_ZN5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
257
2.55k
            : AggregateFunctionBitmapSerializationHelper<AggregateFunctionBitmapData<Op>,
258
2.55k
                                                         AggregateFunctionBitmapOp<Op>>(
259
2.55k
                      argument_types_) {}
_ZN5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
257
1.08k
            : AggregateFunctionBitmapSerializationHelper<AggregateFunctionBitmapData<Op>,
258
1.08k
                                                         AggregateFunctionBitmapOp<Op>>(
259
1.08k
                      argument_types_) {}
_ZN5doris25AggregateFunctionBitmapOpINS_33AggregateFunctionGroupBitmapXorOpEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
257
334
            : AggregateFunctionBitmapSerializationHelper<AggregateFunctionBitmapData<Op>,
258
334
                                                         AggregateFunctionBitmapOp<Op>>(
259
334
                      argument_types_) {}
260
261
911
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeBitMap>(); }
_ZNK5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEE15get_return_typeEv
Line
Count
Source
261
731
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeBitMap>(); }
_ZNK5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEE15get_return_typeEv
Line
Count
Source
261
109
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeBitMap>(); }
_ZNK5doris25AggregateFunctionBitmapOpINS_33AggregateFunctionGroupBitmapXorOpEE15get_return_typeEv
Line
Count
Source
261
71
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeBitMap>(); }
262
263
    void add(AggregateDataPtr __restrict place, const IColumn** columns, ssize_t row_num,
264
123k
             Arena&) const override {
265
123k
        const auto& column =
266
123k
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
267
123k
        this->data(place).add(column.get_data()[row_num]);
268
123k
    }
_ZNK5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
264
117k
             Arena&) const override {
265
117k
        const auto& column =
266
117k
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
267
117k
        this->data(place).add(column.get_data()[row_num]);
268
117k
    }
_ZNK5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
264
5.70k
             Arena&) const override {
265
5.70k
        const auto& column =
266
5.70k
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
267
5.70k
        this->data(place).add(column.get_data()[row_num]);
268
5.70k
    }
_ZNK5doris25AggregateFunctionBitmapOpINS_33AggregateFunctionGroupBitmapXorOpEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
264
284
             Arena&) const override {
265
284
        const auto& column =
266
284
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
267
284
        this->data(place).add(column.get_data()[row_num]);
268
284
    }
269
270
    void add_many(AggregateDataPtr __restrict place, const IColumn** columns,
271
24.7k
                  std::vector<int>& rows, Arena&) const override {
272
        // now this only for bitmap_union function
273
24.7k
        if constexpr (std::is_same_v<Op, AggregateFunctionBitmapUnionOp>) {
274
24.7k
            const auto& column = assert_cast<const ColVecType&>(*columns[0]);
275
24.7k
            std::vector<const BitmapValue*> values;
276
25.1k
            for (auto row : rows) {
277
25.1k
                values.push_back(&(column.get_data()[row]));
278
25.1k
            }
279
24.7k
            this->data(place).add_batch(values);
280
24.7k
        }
281
24.7k
    }
_ZNK5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEE8add_manyEPcPPKNS_7IColumnERSt6vectorIiSaIiEERNS_5ArenaE
Line
Count
Source
271
24.7k
                  std::vector<int>& rows, Arena&) const override {
272
        // now this only for bitmap_union function
273
24.7k
        if constexpr (std::is_same_v<Op, AggregateFunctionBitmapUnionOp>) {
274
24.7k
            const auto& column = assert_cast<const ColVecType&>(*columns[0]);
275
24.7k
            std::vector<const BitmapValue*> values;
276
25.1k
            for (auto row : rows) {
277
25.1k
                values.push_back(&(column.get_data()[row]));
278
25.1k
            }
279
24.7k
            this->data(place).add_batch(values);
280
24.7k
        }
281
24.7k
    }
Unexecuted instantiation: _ZNK5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEE8add_manyEPcPPKNS_7IColumnERSt6vectorIiSaIiEERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris25AggregateFunctionBitmapOpINS_33AggregateFunctionGroupBitmapXorOpEE8add_manyEPcPPKNS_7IColumnERSt6vectorIiSaIiEERNS_5ArenaE
282
283
    void add_batch_range(size_t batch_begin, size_t batch_end, AggregateDataPtr place,
284
14.6k
                         const IColumn** columns, Arena& arena, bool has_null) override {
285
        // now this only for bitmap_union function
286
14.6k
        if constexpr (std::is_same_v<Op, AggregateFunctionBitmapUnionOp>) {
287
14.6k
            const auto& column = assert_cast<const ColVecType&>(*columns[0]);
288
14.6k
            std::vector<const BitmapValue*> values;
289
29.2k
            for (size_t i = batch_begin; i <= batch_end; ++i) {
290
14.6k
                values.push_back(&(column.get_data()[i]));
291
14.6k
            }
292
14.6k
            this->data(place).add_batch(values);
293
14.6k
        } else {
294
0
            for (size_t i = batch_begin; i <= batch_end; ++i) {
295
0
                this->add(place, columns, i, arena);
296
0
            }
297
0
        }
298
14.6k
    }
_ZN5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEE15add_batch_rangeEmmPcPPKNS_7IColumnERNS_5ArenaEb
Line
Count
Source
284
14.6k
                         const IColumn** columns, Arena& arena, bool has_null) override {
285
        // now this only for bitmap_union function
286
14.6k
        if constexpr (std::is_same_v<Op, AggregateFunctionBitmapUnionOp>) {
287
14.6k
            const auto& column = assert_cast<const ColVecType&>(*columns[0]);
288
14.6k
            std::vector<const BitmapValue*> values;
289
29.2k
            for (size_t i = batch_begin; i <= batch_end; ++i) {
290
14.6k
                values.push_back(&(column.get_data()[i]));
291
14.6k
            }
292
14.6k
            this->data(place).add_batch(values);
293
        } else {
294
            for (size_t i = batch_begin; i <= batch_end; ++i) {
295
                this->add(place, columns, i, arena);
296
            }
297
        }
298
14.6k
    }
Unexecuted instantiation: _ZN5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEE15add_batch_rangeEmmPcPPKNS_7IColumnERNS_5ArenaEb
Unexecuted instantiation: _ZN5doris25AggregateFunctionBitmapOpINS_33AggregateFunctionGroupBitmapXorOpEE15add_batch_rangeEmmPcPPKNS_7IColumnERNS_5ArenaEb
299
300
    void merge(AggregateDataPtr __restrict place, ConstAggregateDataPtr rhs,
301
0
               Arena&) const override {
302
0
        this->data(place).merge(this->data(rhs).get());
303
0
    }
Unexecuted instantiation: _ZNK5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEE5mergeEPcPKcRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEE5mergeEPcPKcRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris25AggregateFunctionBitmapOpINS_33AggregateFunctionGroupBitmapXorOpEE5mergeEPcPKcRNS_5ArenaE
304
305
0
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
306
0
        this->data(place).write(buf);
307
0
    }
Unexecuted instantiation: _ZNK5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEE9serializeEPKcRNS_14BufferWritableE
Unexecuted instantiation: _ZNK5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEE9serializeEPKcRNS_14BufferWritableE
Unexecuted instantiation: _ZNK5doris25AggregateFunctionBitmapOpINS_33AggregateFunctionGroupBitmapXorOpEE9serializeEPKcRNS_14BufferWritableE
308
309
    void deserialize(AggregateDataPtr __restrict place, BufferReadable& buf,
310
0
                     Arena&) const override {
311
0
        this->data(place).read(buf);
312
0
    }
Unexecuted instantiation: _ZNK5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris25AggregateFunctionBitmapOpINS_33AggregateFunctionGroupBitmapXorOpEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
313
314
57.9k
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
315
57.9k
        auto& column = assert_cast<ColVecResult&>(to);
316
57.9k
        column.get_data().push_back(this->data(place).get());
317
57.9k
    }
_ZNK5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
314
56.3k
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
315
56.3k
        auto& column = assert_cast<ColVecResult&>(to);
316
56.3k
        column.get_data().push_back(this->data(place).get());
317
56.3k
    }
_ZNK5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
314
1.52k
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
315
1.52k
        auto& column = assert_cast<ColVecResult&>(to);
316
1.52k
        column.get_data().push_back(this->data(place).get());
317
1.52k
    }
_ZNK5doris25AggregateFunctionBitmapOpINS_33AggregateFunctionGroupBitmapXorOpEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
314
79
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
315
79
        auto& column = assert_cast<ColVecResult&>(to);
316
79
        column.get_data().push_back(this->data(place).get());
317
79
    }
318
319
14.6k
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
_ZNK5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEE5resetEPc
Line
Count
Source
319
14.5k
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
_ZNK5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEE5resetEPc
Line
Count
Source
319
53
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
_ZNK5doris25AggregateFunctionBitmapOpINS_33AggregateFunctionGroupBitmapXorOpEE5resetEPc
Line
Count
Source
319
38
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
320
};
321
322
template <bool arg_is_nullable, typename ColVecType>
323
class AggregateFunctionBitmapCount final
324
        : public AggregateFunctionBitmapSerializationHelper<
325
                  AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
326
                  AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>,
327
          UnaryExpression,
328
          NotNullableAggregateFunction {
329
public:
330
    // using ColVecType = ColumnBitmap;
331
    using ColVecResult = ColumnInt64;
332
    using AggFunctionData = AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>;
333
    static int constexpr BATCH_HALF_ROWS = 4064 / 2;
334
335
    AggregateFunctionBitmapCount(const DataTypes& argument_types_)
336
843
            : AggregateFunctionBitmapSerializationHelper<
337
843
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
338
843
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
_ZN5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
336
3
            : AggregateFunctionBitmapSerializationHelper<
337
3
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
338
3
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
_ZN5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
336
466
            : AggregateFunctionBitmapSerializationHelper<
337
466
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
338
466
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
_ZN5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
336
11
            : AggregateFunctionBitmapSerializationHelper<
337
11
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
338
11
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
_ZN5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
336
14
            : AggregateFunctionBitmapSerializationHelper<
337
14
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
338
14
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
_ZN5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
336
315
            : AggregateFunctionBitmapSerializationHelper<
337
315
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
338
315
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
Unexecuted instantiation: _ZN5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
_ZN5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
336
9
            : AggregateFunctionBitmapSerializationHelper<
337
9
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
338
9
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
_ZN5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
336
9
            : AggregateFunctionBitmapSerializationHelper<
337
9
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
338
9
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
_ZN5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
336
15
            : AggregateFunctionBitmapSerializationHelper<
337
15
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
338
15
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
_ZN5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
336
1
            : AggregateFunctionBitmapSerializationHelper<
337
1
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
338
1
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
339
340
75
    String get_name() const override {
341
75
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
342
45
            return "bitmap_union_count";
343
45
        } else {
344
30
            return "bitmap_union_int";
345
30
        }
346
75
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE8get_nameB5cxx11Ev
Line
Count
Source
340
10
    String get_name() const override {
341
10
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
342
10
            return "bitmap_union_count";
343
        } else {
344
            return "bitmap_union_int";
345
        }
346
10
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE8get_nameB5cxx11Ev
Line
Count
Source
340
35
    String get_name() const override {
341
35
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
342
35
            return "bitmap_union_count";
343
        } else {
344
            return "bitmap_union_int";
345
        }
346
35
    }
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE8get_nameB5cxx11Ev
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE8get_nameB5cxx11Ev
Line
Count
Source
340
10
    String get_name() const override {
341
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
342
            return "bitmap_union_count";
343
10
        } else {
344
10
            return "bitmap_union_int";
345
10
        }
346
10
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE8get_nameB5cxx11Ev
Line
Count
Source
340
20
    String get_name() const override {
341
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
342
            return "bitmap_union_count";
343
20
        } else {
344
20
            return "bitmap_union_int";
345
20
        }
346
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
347
348
430
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE15get_return_typeEv
Line
Count
Source
348
15
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE15get_return_typeEv
Line
Count
Source
348
282
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE15get_return_typeEv
Line
Count
Source
348
18
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE15get_return_typeEv
Line
Count
Source
348
33
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE15get_return_typeEv
Line
Count
Source
348
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
348
14
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE15get_return_typeEv
Line
Count
Source
348
14
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE15get_return_typeEv
Line
Count
Source
348
26
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE15get_return_typeEv
349
350
    void add(AggregateDataPtr __restrict place, const IColumn** columns, ssize_t row_num,
351
1.03k
             Arena&) const override {
352
1.03k
        if constexpr (arg_is_nullable) {
353
377
            const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
354
377
            if (!nullable_column.is_null_at(row_num)) {
355
349
                const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
356
349
                        nullable_column.get_nested_column());
357
349
                this->data(place).add(column.get_data()[row_num]);
358
349
            }
359
658
        } else {
360
658
            const auto& column =
361
658
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
362
658
            this->data(place).add(column.get_data()[row_num]);
363
658
        }
364
1.03k
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
351
19
             Arena&) const override {
352
19
        if constexpr (arg_is_nullable) {
353
19
            const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
354
19
            if (!nullable_column.is_null_at(row_num)) {
355
18
                const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
356
18
                        nullable_column.get_nested_column());
357
18
                this->data(place).add(column.get_data()[row_num]);
358
18
            }
359
        } else {
360
            const auto& column =
361
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
362
            this->data(place).add(column.get_data()[row_num]);
363
        }
364
19
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
351
477
             Arena&) const override {
352
        if constexpr (arg_is_nullable) {
353
            const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
354
            if (!nullable_column.is_null_at(row_num)) {
355
                const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
356
                        nullable_column.get_nested_column());
357
                this->data(place).add(column.get_data()[row_num]);
358
            }
359
477
        } else {
360
477
            const auto& column =
361
477
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
362
477
            this->data(place).add(column.get_data()[row_num]);
363
477
        }
364
477
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
351
65
             Arena&) const override {
352
65
        if constexpr (arg_is_nullable) {
353
65
            const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
354
65
            if (!nullable_column.is_null_at(row_num)) {
355
60
                const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
356
60
                        nullable_column.get_nested_column());
357
60
                this->data(place).add(column.get_data()[row_num]);
358
60
            }
359
        } else {
360
            const auto& column =
361
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
362
            this->data(place).add(column.get_data()[row_num]);
363
        }
364
65
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
351
92
             Arena&) const override {
352
92
        if constexpr (arg_is_nullable) {
353
92
            const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
354
92
            if (!nullable_column.is_null_at(row_num)) {
355
85
                const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
356
85
                        nullable_column.get_nested_column());
357
85
                this->data(place).add(column.get_data()[row_num]);
358
85
            }
359
        } else {
360
            const auto& column =
361
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
362
            this->data(place).add(column.get_data()[row_num]);
363
        }
364
92
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
351
201
             Arena&) const override {
352
201
        if constexpr (arg_is_nullable) {
353
201
            const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
354
201
            if (!nullable_column.is_null_at(row_num)) {
355
186
                const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
356
186
                        nullable_column.get_nested_column());
357
186
                this->data(place).add(column.get_data()[row_num]);
358
186
            }
359
        } else {
360
            const auto& column =
361
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
362
            this->data(place).add(column.get_data()[row_num]);
363
        }
364
201
    }
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
351
57
             Arena&) const override {
352
        if constexpr (arg_is_nullable) {
353
            const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
354
            if (!nullable_column.is_null_at(row_num)) {
355
                const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
356
                        nullable_column.get_nested_column());
357
                this->data(place).add(column.get_data()[row_num]);
358
            }
359
57
        } else {
360
57
            const auto& column =
361
57
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
362
57
            this->data(place).add(column.get_data()[row_num]);
363
57
        }
364
57
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
351
56
             Arena&) const override {
352
        if constexpr (arg_is_nullable) {
353
            const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
354
            if (!nullable_column.is_null_at(row_num)) {
355
                const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
356
                        nullable_column.get_nested_column());
357
                this->data(place).add(column.get_data()[row_num]);
358
            }
359
56
        } else {
360
56
            const auto& column =
361
56
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
362
56
            this->data(place).add(column.get_data()[row_num]);
363
56
        }
364
56
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
351
59
             Arena&) const override {
352
        if constexpr (arg_is_nullable) {
353
            const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
354
            if (!nullable_column.is_null_at(row_num)) {
355
                const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
356
                        nullable_column.get_nested_column());
357
                this->data(place).add(column.get_data()[row_num]);
358
            }
359
59
        } else {
360
59
            const auto& column =
361
59
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
362
59
            this->data(place).add(column.get_data()[row_num]);
363
59
        }
364
59
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
351
9
             Arena&) const override {
352
        if constexpr (arg_is_nullable) {
353
            const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
354
            if (!nullable_column.is_null_at(row_num)) {
355
                const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
356
                        nullable_column.get_nested_column());
357
                this->data(place).add(column.get_data()[row_num]);
358
            }
359
9
        } else {
360
9
            const auto& column =
361
9
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
362
9
            this->data(place).add(column.get_data()[row_num]);
363
9
        }
364
9
    }
365
366
    void add_many(AggregateDataPtr __restrict place, const IColumn** columns,
367
43
                  std::vector<int>& rows, Arena&) const override {
368
        // now this only for bitmap_union_count function
369
43
        if constexpr (arg_is_nullable && std::is_same_v<ColVecType, ColumnBitmap>) {
370
0
            const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
371
0
            const auto& column =
372
0
                    assert_cast<const ColVecType&>(nullable_column.get_nested_column());
373
0
            std::vector<const BitmapValue*> values;
374
0
            for (auto row : rows) {
375
0
                if (!nullable_column.is_null_at(row)) {
376
0
                    values.push_back(&(column.get_data()[row]));
377
0
                }
378
0
            }
379
0
            this->data(place).add_batch(values);
380
43
        } else if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
381
43
            const auto& column = assert_cast<const ColVecType&>(*columns[0]);
382
43
            std::vector<const BitmapValue*> values;
383
90
            for (auto row : rows) {
384
90
                values.push_back(&(column.get_data()[row]));
385
90
            }
386
43
            this->data(place).add_batch(values);
387
43
        }
388
43
    }
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE8add_manyEPcPPKNS_7IColumnERSt6vectorIiSaIiEERNS_5ArenaE
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE8add_manyEPcPPKNS_7IColumnERSt6vectorIiSaIiEERNS_5ArenaE
Line
Count
Source
367
43
                  std::vector<int>& rows, Arena&) const override {
368
        // now this only for bitmap_union_count function
369
        if constexpr (arg_is_nullable && std::is_same_v<ColVecType, ColumnBitmap>) {
370
            const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
371
            const auto& column =
372
                    assert_cast<const ColVecType&>(nullable_column.get_nested_column());
373
            std::vector<const BitmapValue*> values;
374
            for (auto row : rows) {
375
                if (!nullable_column.is_null_at(row)) {
376
                    values.push_back(&(column.get_data()[row]));
377
                }
378
            }
379
            this->data(place).add_batch(values);
380
43
        } else if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
381
43
            const auto& column = assert_cast<const ColVecType&>(*columns[0]);
382
43
            std::vector<const BitmapValue*> values;
383
90
            for (auto row : rows) {
384
90
                values.push_back(&(column.get_data()[row]));
385
90
            }
386
43
            this->data(place).add_batch(values);
387
43
        }
388
43
    }
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
389
390
    void add_batch_single_place(size_t batch_size, AggregateDataPtr place, const IColumn** columns,
391
59
                                Arena& arena) const override {
392
59
        auto normal_add_lambda = [&]() {
393
203
            for (size_t i = 0; i < batch_size; ++i) {
394
154
                this->add(place, columns, i, arena);
395
154
            }
396
49
        };
Unexecuted instantiation: _ZZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
_ZZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
Line
Count
Source
392
22
        auto normal_add_lambda = [&]() {
393
89
            for (size_t i = 0; i < batch_size; ++i) {
394
67
                this->add(place, columns, i, arena);
395
67
            }
396
22
        };
_ZZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
Line
Count
Source
392
4
        auto normal_add_lambda = [&]() {
393
17
            for (size_t i = 0; i < batch_size; ++i) {
394
13
                this->add(place, columns, i, arena);
395
13
            }
396
4
        };
_ZZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
Line
Count
Source
392
5
        auto normal_add_lambda = [&]() {
393
28
            for (size_t i = 0; i < batch_size; ++i) {
394
23
                this->add(place, columns, i, arena);
395
23
            }
396
5
        };
_ZZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
Line
Count
Source
392
5
        auto normal_add_lambda = [&]() {
393
19
            for (size_t i = 0; i < batch_size; ++i) {
394
14
                this->add(place, columns, i, arena);
395
14
            }
396
5
        };
Unexecuted instantiation: _ZZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
_ZZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
Line
Count
Source
392
4
        auto normal_add_lambda = [&]() {
393
16
            for (size_t i = 0; i < batch_size; ++i) {
394
12
                this->add(place, columns, i, arena);
395
12
            }
396
4
        };
_ZZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
Line
Count
Source
392
4
        auto normal_add_lambda = [&]() {
393
16
            for (size_t i = 0; i < batch_size; ++i) {
394
12
                this->add(place, columns, i, arena);
395
12
            }
396
4
        };
_ZZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
Line
Count
Source
392
5
        auto normal_add_lambda = [&]() {
393
18
            for (size_t i = 0; i < batch_size; ++i) {
394
13
                this->add(place, columns, i, arena);
395
13
            }
396
5
        };
Unexecuted instantiation: _ZZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
397
398
        // now this only for bitmap_union_count function
399
59
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
400
            // if batch_size is small, the add_batch of fast union seems to be slower than normal add
401
32
            if (batch_size < BATCH_HALF_ROWS) {
402
22
                normal_add_lambda();
403
22
                return;
404
22
            }
405
10
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
406
10
                const auto& column = assert_cast<const ColVecType&>(data_column);
407
10
                std::vector<const BitmapValue*> values;
408
40.9k
                for (size_t i = 0; i < batch_size; ++i) {
409
40.9k
                    if constexpr (arg_is_nullable) {
410
0
                        if ((*null_map)[i]) {
411
0
                            continue; // skip null value
412
0
                        }
413
0
                    }
414
0
                    values.push_back(&(column.get_data()[i]));
415
40.9k
                }
416
0
                this->data(place).add_batch(values);
417
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
405
10
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
406
10
                const auto& column = assert_cast<const ColVecType&>(data_column);
407
10
                std::vector<const BitmapValue*> values;
408
40.9k
                for (size_t i = 0; i < batch_size; ++i) {
409
                    if constexpr (arg_is_nullable) {
410
                        if ((*null_map)[i]) {
411
                            continue; // skip null value
412
                        }
413
                    }
414
40.9k
                    values.push_back(&(column.get_data()[i]));
415
40.9k
                }
416
10
                this->data(place).add_batch(values);
417
10
            };
418
419
10
            if constexpr (arg_is_nullable) {
420
0
                const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
421
0
                add_batch_lambda(nullable_column.get_nested_column(),
422
0
                                 &(nullable_column.get_null_map_data()));
423
10
            } else {
424
10
                add_batch_lambda(*columns[0], nullptr);
425
10
            }
426
27
        } else {
427
27
            normal_add_lambda();
428
27
        }
429
59
    }
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
391
32
                                Arena& arena) const override {
392
32
        auto normal_add_lambda = [&]() {
393
32
            for (size_t i = 0; i < batch_size; ++i) {
394
32
                this->add(place, columns, i, arena);
395
32
            }
396
32
        };
397
398
        // now this only for bitmap_union_count function
399
32
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
400
            // if batch_size is small, the add_batch of fast union seems to be slower than normal add
401
32
            if (batch_size < BATCH_HALF_ROWS) {
402
22
                normal_add_lambda();
403
22
                return;
404
22
            }
405
10
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
406
10
                const auto& column = assert_cast<const ColVecType&>(data_column);
407
10
                std::vector<const BitmapValue*> values;
408
10
                for (size_t i = 0; i < batch_size; ++i) {
409
10
                    if constexpr (arg_is_nullable) {
410
10
                        if ((*null_map)[i]) {
411
10
                            continue; // skip null value
412
10
                        }
413
10
                    }
414
10
                    values.push_back(&(column.get_data()[i]));
415
10
                }
416
10
                this->data(place).add_batch(values);
417
10
            };
418
419
            if constexpr (arg_is_nullable) {
420
                const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
421
                add_batch_lambda(nullable_column.get_nested_column(),
422
                                 &(nullable_column.get_null_map_data()));
423
10
            } else {
424
10
                add_batch_lambda(*columns[0], nullptr);
425
10
            }
426
        } else {
427
            normal_add_lambda();
428
        }
429
32
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
391
4
                                Arena& arena) const override {
392
4
        auto normal_add_lambda = [&]() {
393
4
            for (size_t i = 0; i < batch_size; ++i) {
394
4
                this->add(place, columns, i, arena);
395
4
            }
396
4
        };
397
398
        // now this only for bitmap_union_count function
399
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
400
            // if batch_size is small, the add_batch of fast union seems to be slower than normal add
401
            if (batch_size < BATCH_HALF_ROWS) {
402
                normal_add_lambda();
403
                return;
404
            }
405
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
406
                const auto& column = assert_cast<const ColVecType&>(data_column);
407
                std::vector<const BitmapValue*> values;
408
                for (size_t i = 0; i < batch_size; ++i) {
409
                    if constexpr (arg_is_nullable) {
410
                        if ((*null_map)[i]) {
411
                            continue; // skip null value
412
                        }
413
                    }
414
                    values.push_back(&(column.get_data()[i]));
415
                }
416
                this->data(place).add_batch(values);
417
            };
418
419
            if constexpr (arg_is_nullable) {
420
                const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
421
                add_batch_lambda(nullable_column.get_nested_column(),
422
                                 &(nullable_column.get_null_map_data()));
423
            } else {
424
                add_batch_lambda(*columns[0], nullptr);
425
            }
426
4
        } else {
427
4
            normal_add_lambda();
428
4
        }
429
4
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
391
5
                                Arena& arena) const override {
392
5
        auto normal_add_lambda = [&]() {
393
5
            for (size_t i = 0; i < batch_size; ++i) {
394
5
                this->add(place, columns, i, arena);
395
5
            }
396
5
        };
397
398
        // now this only for bitmap_union_count function
399
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
400
            // if batch_size is small, the add_batch of fast union seems to be slower than normal add
401
            if (batch_size < BATCH_HALF_ROWS) {
402
                normal_add_lambda();
403
                return;
404
            }
405
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
406
                const auto& column = assert_cast<const ColVecType&>(data_column);
407
                std::vector<const BitmapValue*> values;
408
                for (size_t i = 0; i < batch_size; ++i) {
409
                    if constexpr (arg_is_nullable) {
410
                        if ((*null_map)[i]) {
411
                            continue; // skip null value
412
                        }
413
                    }
414
                    values.push_back(&(column.get_data()[i]));
415
                }
416
                this->data(place).add_batch(values);
417
            };
418
419
            if constexpr (arg_is_nullable) {
420
                const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
421
                add_batch_lambda(nullable_column.get_nested_column(),
422
                                 &(nullable_column.get_null_map_data()));
423
            } else {
424
                add_batch_lambda(*columns[0], nullptr);
425
            }
426
5
        } else {
427
5
            normal_add_lambda();
428
5
        }
429
5
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
391
5
                                Arena& arena) const override {
392
5
        auto normal_add_lambda = [&]() {
393
5
            for (size_t i = 0; i < batch_size; ++i) {
394
5
                this->add(place, columns, i, arena);
395
5
            }
396
5
        };
397
398
        // now this only for bitmap_union_count function
399
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
400
            // if batch_size is small, the add_batch of fast union seems to be slower than normal add
401
            if (batch_size < BATCH_HALF_ROWS) {
402
                normal_add_lambda();
403
                return;
404
            }
405
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
406
                const auto& column = assert_cast<const ColVecType&>(data_column);
407
                std::vector<const BitmapValue*> values;
408
                for (size_t i = 0; i < batch_size; ++i) {
409
                    if constexpr (arg_is_nullable) {
410
                        if ((*null_map)[i]) {
411
                            continue; // skip null value
412
                        }
413
                    }
414
                    values.push_back(&(column.get_data()[i]));
415
                }
416
                this->data(place).add_batch(values);
417
            };
418
419
            if constexpr (arg_is_nullable) {
420
                const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
421
                add_batch_lambda(nullable_column.get_nested_column(),
422
                                 &(nullable_column.get_null_map_data()));
423
            } else {
424
                add_batch_lambda(*columns[0], nullptr);
425
            }
426
5
        } else {
427
5
            normal_add_lambda();
428
5
        }
429
5
    }
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
391
4
                                Arena& arena) const override {
392
4
        auto normal_add_lambda = [&]() {
393
4
            for (size_t i = 0; i < batch_size; ++i) {
394
4
                this->add(place, columns, i, arena);
395
4
            }
396
4
        };
397
398
        // now this only for bitmap_union_count function
399
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
400
            // if batch_size is small, the add_batch of fast union seems to be slower than normal add
401
            if (batch_size < BATCH_HALF_ROWS) {
402
                normal_add_lambda();
403
                return;
404
            }
405
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
406
                const auto& column = assert_cast<const ColVecType&>(data_column);
407
                std::vector<const BitmapValue*> values;
408
                for (size_t i = 0; i < batch_size; ++i) {
409
                    if constexpr (arg_is_nullable) {
410
                        if ((*null_map)[i]) {
411
                            continue; // skip null value
412
                        }
413
                    }
414
                    values.push_back(&(column.get_data()[i]));
415
                }
416
                this->data(place).add_batch(values);
417
            };
418
419
            if constexpr (arg_is_nullable) {
420
                const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
421
                add_batch_lambda(nullable_column.get_nested_column(),
422
                                 &(nullable_column.get_null_map_data()));
423
            } else {
424
                add_batch_lambda(*columns[0], nullptr);
425
            }
426
4
        } else {
427
4
            normal_add_lambda();
428
4
        }
429
4
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
391
4
                                Arena& arena) const override {
392
4
        auto normal_add_lambda = [&]() {
393
4
            for (size_t i = 0; i < batch_size; ++i) {
394
4
                this->add(place, columns, i, arena);
395
4
            }
396
4
        };
397
398
        // now this only for bitmap_union_count function
399
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
400
            // if batch_size is small, the add_batch of fast union seems to be slower than normal add
401
            if (batch_size < BATCH_HALF_ROWS) {
402
                normal_add_lambda();
403
                return;
404
            }
405
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
406
                const auto& column = assert_cast<const ColVecType&>(data_column);
407
                std::vector<const BitmapValue*> values;
408
                for (size_t i = 0; i < batch_size; ++i) {
409
                    if constexpr (arg_is_nullable) {
410
                        if ((*null_map)[i]) {
411
                            continue; // skip null value
412
                        }
413
                    }
414
                    values.push_back(&(column.get_data()[i]));
415
                }
416
                this->data(place).add_batch(values);
417
            };
418
419
            if constexpr (arg_is_nullable) {
420
                const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
421
                add_batch_lambda(nullable_column.get_nested_column(),
422
                                 &(nullable_column.get_null_map_data()));
423
            } else {
424
                add_batch_lambda(*columns[0], nullptr);
425
            }
426
4
        } else {
427
4
            normal_add_lambda();
428
4
        }
429
4
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
391
5
                                Arena& arena) const override {
392
5
        auto normal_add_lambda = [&]() {
393
5
            for (size_t i = 0; i < batch_size; ++i) {
394
5
                this->add(place, columns, i, arena);
395
5
            }
396
5
        };
397
398
        // now this only for bitmap_union_count function
399
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
400
            // if batch_size is small, the add_batch of fast union seems to be slower than normal add
401
            if (batch_size < BATCH_HALF_ROWS) {
402
                normal_add_lambda();
403
                return;
404
            }
405
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
406
                const auto& column = assert_cast<const ColVecType&>(data_column);
407
                std::vector<const BitmapValue*> values;
408
                for (size_t i = 0; i < batch_size; ++i) {
409
                    if constexpr (arg_is_nullable) {
410
                        if ((*null_map)[i]) {
411
                            continue; // skip null value
412
                        }
413
                    }
414
                    values.push_back(&(column.get_data()[i]));
415
                }
416
                this->data(place).add_batch(values);
417
            };
418
419
            if constexpr (arg_is_nullable) {
420
                const auto& nullable_column = assert_cast<const ColumnNullable&>(*columns[0]);
421
                add_batch_lambda(nullable_column.get_nested_column(),
422
                                 &(nullable_column.get_null_map_data()));
423
            } else {
424
                add_batch_lambda(*columns[0], nullptr);
425
            }
426
5
        } else {
427
5
            normal_add_lambda();
428
5
        }
429
5
    }
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
430
431
    void merge(AggregateDataPtr __restrict place, ConstAggregateDataPtr rhs,
432
0
               Arena&) const override {
433
0
        this->data(place).merge(this->data(rhs).get());
434
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
435
436
0
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
437
0
        this->data(place).write(buf);
438
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
439
440
    void deserialize(AggregateDataPtr __restrict place, BufferReadable& buf,
441
0
                     Arena&) const override {
442
0
        this->data(place).read(buf);
443
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
444
445
428
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
446
428
        auto& value_data = this->data(place).get();
447
428
        auto& column = assert_cast<ColVecResult&>(to);
448
428
        column.get_data().push_back(value_data.cardinality());
449
428
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
445
15
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
446
15
        auto& value_data = this->data(place).get();
447
15
        auto& column = assert_cast<ColVecResult&>(to);
448
15
        column.get_data().push_back(value_data.cardinality());
449
15
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
445
262
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
446
262
        auto& value_data = this->data(place).get();
447
262
        auto& column = assert_cast<ColVecResult&>(to);
448
262
        column.get_data().push_back(value_data.cardinality());
449
262
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
445
21
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
446
21
        auto& value_data = this->data(place).get();
447
21
        auto& column = assert_cast<ColVecResult&>(to);
448
21
        column.get_data().push_back(value_data.cardinality());
449
21
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
445
39
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
446
39
        auto& value_data = this->data(place).get();
447
39
        auto& column = assert_cast<ColVecResult&>(to);
448
39
        column.get_data().push_back(value_data.cardinality());
449
39
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
445
36
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
446
36
        auto& value_data = this->data(place).get();
447
36
        auto& column = assert_cast<ColVecResult&>(to);
448
36
        column.get_data().push_back(value_data.cardinality());
449
36
    }
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE18insert_result_intoEPKcRNS_7IColumnE
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
445
17
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
446
17
        auto& value_data = this->data(place).get();
447
17
        auto& column = assert_cast<ColVecResult&>(to);
448
17
        column.get_data().push_back(value_data.cardinality());
449
17
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
445
17
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
446
17
        auto& value_data = this->data(place).get();
447
17
        auto& column = assert_cast<ColVecResult&>(to);
448
17
        column.get_data().push_back(value_data.cardinality());
449
17
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
445
20
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
446
20
        auto& value_data = this->data(place).get();
447
20
        auto& column = assert_cast<ColVecResult&>(to);
448
20
        column.get_data().push_back(value_data.cardinality());
449
20
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
445
1
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
446
1
        auto& value_data = this->data(place).get();
447
1
        auto& column = assert_cast<ColVecResult&>(to);
448
1
        column.get_data().push_back(value_data.cardinality());
449
1
    }
450
451
71
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE5resetEPc
Line
Count
Source
451
3
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE5resetEPc
Line
Count
Source
451
39
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE5resetEPc
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE5resetEPc
Line
Count
Source
451
3
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE5resetEPc
Line
Count
Source
451
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
452
};
453
454
AggregateFunctionPtr create_aggregate_function_bitmap_union(const std::string& name,
455
                                                            const DataTypes& argument_types,
456
                                                            const bool result_is_nullable);
457
458
} // namespace doris