Coverage Report

Created: 2026-09-14 12:49

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
513
    static void add(BitmapValue& res, const T& data, bool& is_first) {
51
513
        res.add(data);
52
513
        is_first = false;
53
513
    }
_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
142
    static void add(BitmapValue& res, const T& data, bool& is_first) {
51
142
        res.add(data);
52
142
        is_first = false;
53
142
    }
_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
166k
    static void add(BitmapValue& res, const BitmapValue& data, bool& is_first) {
56
166k
        if (UNLIKELY(is_first)) {
57
39.7k
            res = data;
58
39.7k
            is_first = false;
59
127k
        } else {
60
127k
            res |= data;
61
127k
        }
62
166k
    }
63
64
17.0k
    static void add_batch(BitmapValue& res, std::vector<const BitmapValue*>& data, bool& is_first) {
65
17.0k
        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
17.0k
        is_first = false;
69
17.0k
    }
70
71
38.8k
    static void merge(BitmapValue& res, const BitmapValue& data, bool& is_first) {
72
38.8k
        if (UNLIKELY(is_first)) {
73
38.7k
            res = data;
74
38.7k
            is_first = false;
75
38.7k
        } else {
76
95
            res |= data;
77
95
        }
78
38.8k
    }
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.67k
            res = data;
87
1.67k
            is_first = false;
88
4.02k
        } else {
89
4.02k
            res &= data;
90
4.02k
        }
91
5.70k
    }
92
93
248
    static void merge(BitmapValue& res, const BitmapValue& data, bool& is_first) {
94
248
        if (UNLIKELY(is_first)) {
95
135
            res = data;
96
135
            is_first = false;
97
135
        } else {
98
113
            res &= data;
99
113
        }
100
248
    }
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
216
            res = data;
109
216
            is_first = false;
110
216
        } else {
111
70
            res ^= data;
112
70
        }
113
286
    }
114
115
191
    static void merge(BitmapValue& res, const BitmapValue& data, bool& is_first) {
116
191
        if (UNLIKELY(is_first)) {
117
83
            res = data;
118
83
            is_first = false;
119
108
        } else {
120
108
            res ^= data;
121
108
        }
122
191
    }
123
};
124
125
template <typename Op>
126
struct AggregateFunctionBitmapData {
127
    BitmapValue value;
128
    bool is_first = true;
129
130
    template <typename T>
131
173k
    void add(const T& data) {
132
173k
        Op::add(value, data, is_first);
133
173k
    }
_ZN5doris27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEE3addINS_11BitmapValueEEEvRKT_
Line
Count
Source
131
166k
    void add(const T& data) {
132
166k
        Op::add(value, data, is_first);
133
166k
    }
_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
142
    void add(const T& data) {
132
142
        Op::add(value, data, is_first);
133
142
    }
_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
17.0k
    void add_batch(std::vector<const BitmapValue*>& data) { Op::add_batch(value, data, is_first); }
136
137
39.1k
    void merge(const BitmapValue& data) { Op::merge(value, data, is_first); }
_ZN5doris27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEE5mergeERKNS_11BitmapValueE
Line
Count
Source
137
38.6k
    void merge(const BitmapValue& data) { Op::merge(value, data, is_first); }
_ZN5doris27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEE5mergeERKNS_11BitmapValueE
Line
Count
Source
137
248
    void merge(const BitmapValue& data) { Op::merge(value, data, is_first); }
_ZN5doris27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEE5mergeERKNS_11BitmapValueE
Line
Count
Source
137
191
    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
16.8k
    void reset() {
144
16.8k
        is_first = true;
145
16.8k
        value.reset(); // it's better to call reset function by self firstly.
146
16.8k
    }
_ZN5doris27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEE5resetEv
Line
Count
Source
143
16.7k
    void reset() {
144
16.7k
        is_first = true;
145
16.7k
        value.reset(); // it's better to call reset function by self firstly.
146
16.7k
    }
_ZN5doris27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEE5resetEv
Line
Count
Source
143
61
    void reset() {
144
61
        is_first = true;
145
61
        value.reset(); // it's better to call reset function by self firstly.
146
61
    }
_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
55.3k
    const BitmapValue& get() const { return value; }
_ZNK5doris27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEE3getEv
Line
Count
Source
150
53.7k
    const BitmapValue& get() const { return value; }
_ZNK5doris27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEE3getEv
Line
Count
Source
150
1.53k
    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.85k
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISE_EE
Line
Count
Source
160
35
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISE_EE
Line
Count
Source
160
482
            : 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
336
            : 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.58k
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEEENS_25AggregateFunctionBitmapOpIS2_EEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
160
1.00k
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEEENS_25AggregateFunctionBitmapOpIS2_EEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
160
355
            : 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
522
        for (size_t i = 0; i != num_rows; ++i) {
169
463
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->create(place);
170
463
            DEFER({
171
463
                assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->destroy(place);
172
463
            });
173
463
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->add(place, columns, i,
174
463
                                                                                arena);
175
463
            data[i] = std::move(this->data(place).value);
176
463
        }
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
7
                                           const size_t num_rows, Arena& arena) const override {
164
7
        auto& col = assert_cast<ColumnBitmap&>(*dst);
165
7
        char place[sizeof(Data)];
166
7
        col.resize(num_rows);
167
7
        auto* data = col.get_data().data();
168
23
        for (size_t i = 0; i != num_rows; ++i) {
169
16
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->create(place);
170
16
            DEFER({
171
16
                assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->destroy(place);
172
16
            });
173
16
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->add(place, columns, i,
174
16
                                                                                arena);
175
16
            data[i] = std::move(this->data(place).value);
176
16
        }
177
7
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEEENS_25AggregateFunctionBitmapOpIS2_EEE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWIS7_E11mutable_ptrIS7_EEmRNS_5ArenaE
Line
Count
Source
163
25
                                           const size_t num_rows, Arena& arena) const override {
164
25
        auto& col = assert_cast<ColumnBitmap&>(*dst);
165
25
        char place[sizeof(Data)];
166
25
        col.resize(num_rows);
167
25
        auto* data = col.get_data().data();
168
149
        for (size_t i = 0; i != num_rows; ++i) {
169
124
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->create(place);
170
124
            DEFER({
171
124
                assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->destroy(place);
172
124
            });
173
124
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->add(place, columns, i,
174
124
                                                                                arena);
175
124
            data[i] = std::move(this->data(place).value);
176
124
        }
177
25
    }
_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
116
        for (size_t i = 0; i != num_rows; ++i) {
169
107
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->create(place);
170
107
            DEFER({
171
107
                assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->destroy(place);
172
107
            });
173
107
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->add(place, columns, i,
174
107
                                                                                arena);
175
107
            data[i] = std::move(this->data(place).value);
176
107
        }
177
9
    }
178
179
    void serialize_to_column(const std::vector<AggregateDataPtr>& places, size_t offset,
180
1.03k
                             MutableColumnPtr& dst, const size_t num_rows) const override {
181
1.03k
        auto& col = assert_cast<ColumnBitmap&>(*dst);
182
1.03k
        col.resize(num_rows);
183
1.03k
        auto* data = col.get_data().data();
184
39.2k
        for (size_t i = 0; i != num_rows; ++i) {
185
38.2k
            data[i] = std::move(this->data(places[i] + offset).value);
186
38.2k
        }
187
1.03k
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE19serialize_to_columnERKSt6vectorIPcSaISB_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISH_EEm
Line
Count
Source
180
34
                             MutableColumnPtr& dst, const size_t num_rows) const override {
181
34
        auto& col = assert_cast<ColumnBitmap&>(*dst);
182
34
        col.resize(num_rows);
183
34
        auto* data = col.get_data().data();
184
66
        for (size_t i = 0; i != num_rows; ++i) {
185
32
            data[i] = std::move(this->data(places[i] + offset).value);
186
32
        }
187
34
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE19serialize_to_columnERKSt6vectorIPcSaISB_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISH_EEm
Line
Count
Source
180
297
                             MutableColumnPtr& dst, const size_t num_rows) const override {
181
297
        auto& col = assert_cast<ColumnBitmap&>(*dst);
182
297
        col.resize(num_rows);
183
297
        auto* data = col.get_data().data();
184
472
        for (size_t i = 0; i != num_rows; ++i) {
185
175
            data[i] = std::move(this->data(places[i] + offset).value);
186
175
        }
187
297
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE19serialize_to_columnERKSt6vectorIPcSaISB_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISH_EEm
Line
Count
Source
180
14
                             MutableColumnPtr& dst, const size_t num_rows) const override {
181
14
        auto& col = assert_cast<ColumnBitmap&>(*dst);
182
14
        col.resize(num_rows);
183
14
        auto* data = col.get_data().data();
184
54
        for (size_t i = 0; i != num_rows; ++i) {
185
40
            data[i] = std::move(this->data(places[i] + offset).value);
186
40
        }
187
14
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE19serialize_to_columnERKSt6vectorIPcSaISB_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISH_EEm
Line
Count
Source
180
14
                             MutableColumnPtr& dst, const size_t num_rows) const override {
181
14
        auto& col = assert_cast<ColumnBitmap&>(*dst);
182
14
        col.resize(num_rows);
183
14
        auto* data = col.get_data().data();
184
54
        for (size_t i = 0; i != num_rows; ++i) {
185
40
            data[i] = std::move(this->data(places[i] + offset).value);
186
40
        }
187
14
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE19serialize_to_columnERKSt6vectorIPcSaISB_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISH_EEm
Line
Count
Source
180
14
                             MutableColumnPtr& dst, const size_t num_rows) const override {
181
14
        auto& col = assert_cast<ColumnBitmap&>(*dst);
182
14
        col.resize(num_rows);
183
14
        auto* data = col.get_data().data();
184
54
        for (size_t i = 0; i != num_rows; ++i) {
185
40
            data[i] = std::move(this->data(places[i] + offset).value);
186
40
        }
187
14
    }
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
6
                             MutableColumnPtr& dst, const size_t num_rows) const override {
181
6
        auto& col = assert_cast<ColumnBitmap&>(*dst);
182
6
        col.resize(num_rows);
183
6
        auto* data = col.get_data().data();
184
22
        for (size_t i = 0; i != num_rows; ++i) {
185
16
            data[i] = std::move(this->data(places[i] + offset).value);
186
16
        }
187
6
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE19serialize_to_columnERKSt6vectorIPcSaISB_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISH_EEm
Line
Count
Source
180
6
                             MutableColumnPtr& dst, const size_t num_rows) const override {
181
6
        auto& col = assert_cast<ColumnBitmap&>(*dst);
182
6
        col.resize(num_rows);
183
6
        auto* data = col.get_data().data();
184
22
        for (size_t i = 0; i != num_rows; ++i) {
185
16
            data[i] = std::move(this->data(places[i] + offset).value);
186
16
        }
187
6
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE19serialize_to_columnERKSt6vectorIPcSaISB_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISH_EEm
Line
Count
Source
180
6
                             MutableColumnPtr& dst, const size_t num_rows) const override {
181
6
        auto& col = assert_cast<ColumnBitmap&>(*dst);
182
6
        col.resize(num_rows);
183
6
        auto* data = col.get_data().data();
184
22
        for (size_t i = 0; i != num_rows; ++i) {
185
16
            data[i] = std::move(this->data(places[i] + offset).value);
186
16
        }
187
6
    }
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
585
                             MutableColumnPtr& dst, const size_t num_rows) const override {
181
585
        auto& col = assert_cast<ColumnBitmap&>(*dst);
182
585
        col.resize(num_rows);
183
585
        auto* data = col.get_data().data();
184
38.3k
        for (size_t i = 0; i != num_rows; ++i) {
185
37.7k
            data[i] = std::move(this->data(places[i] + offset).value);
186
37.7k
        }
187
585
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEEENS_25AggregateFunctionBitmapOpIS2_EEE19serialize_to_columnERKSt6vectorIPcSaIS8_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISE_EEm
Line
Count
Source
180
35
                             MutableColumnPtr& dst, const size_t num_rows) const override {
181
35
        auto& col = assert_cast<ColumnBitmap&>(*dst);
182
35
        col.resize(num_rows);
183
35
        auto* data = col.get_data().data();
184
95
        for (size_t i = 0; i != num_rows; ++i) {
185
60
            data[i] = std::move(this->data(places[i] + offset).value);
186
60
        }
187
35
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEEENS_25AggregateFunctionBitmapOpIS2_EEE19serialize_to_columnERKSt6vectorIPcSaIS8_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISE_EEm
Line
Count
Source
180
20
                             MutableColumnPtr& dst, const size_t num_rows) const override {
181
20
        auto& col = assert_cast<ColumnBitmap&>(*dst);
182
20
        col.resize(num_rows);
183
20
        auto* data = col.get_data().data();
184
76
        for (size_t i = 0; i != num_rows; ++i) {
185
56
            data[i] = std::move(this->data(places[i] + offset).value);
186
56
        }
187
20
    }
188
189
    void deserialize_and_merge_from_column_range(AggregateDataPtr __restrict place,
190
                                                 const IColumn& column, size_t begin, size_t end,
191
839
                                                 Arena&) const override {
192
839
        DCHECK(end <= column.size() && begin <= end)
193
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
194
839
        const auto& col = assert_cast<const ColumnBitmap&>(column);
195
839
        const auto* data = col.get_data().data();
196
1.79k
        for (size_t i = begin; i <= end; ++i) {
197
958
            this->data(place).merge(data[i]);
198
958
        }
199
839
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
191
5
                                                 Arena&) const override {
192
5
        DCHECK(end <= column.size() && begin <= end)
193
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
194
5
        const auto& col = assert_cast<const ColumnBitmap&>(column);
195
5
        const auto* data = col.get_data().data();
196
10
        for (size_t i = begin; i <= end; ++i) {
197
5
            this->data(place).merge(data[i]);
198
5
        }
199
5
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
191
168
                                                 Arena&) const override {
192
168
        DCHECK(end <= column.size() && begin <= end)
193
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
194
168
        const auto& col = assert_cast<const ColumnBitmap&>(column);
195
168
        const auto* data = col.get_data().data();
196
353
        for (size_t i = begin; i <= end; ++i) {
197
185
            this->data(place).merge(data[i]);
198
185
        }
199
168
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
191
10
                                                 Arena&) const override {
192
10
        DCHECK(end <= column.size() && begin <= end)
193
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
194
10
        const auto& col = assert_cast<const ColumnBitmap&>(column);
195
10
        const auto* data = col.get_data().data();
196
29
        for (size_t i = begin; i <= end; ++i) {
197
19
            this->data(place).merge(data[i]);
198
19
        }
199
10
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
191
11
                                                 Arena&) const override {
192
11
        DCHECK(end <= column.size() && begin <= end)
193
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
194
11
        const auto& col = assert_cast<const ColumnBitmap&>(column);
195
11
        const auto* data = col.get_data().data();
196
31
        for (size_t i = begin; i <= end; ++i) {
197
20
            this->data(place).merge(data[i]);
198
20
        }
199
11
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
191
132
                                                 Arena&) const override {
192
132
        DCHECK(end <= column.size() && begin <= end)
193
0
                << ", 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
273
        for (size_t i = begin; i <= end; ++i) {
197
141
            this->data(place).merge(data[i]);
198
141
        }
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
10
                                                 Arena&) const override {
192
10
        DCHECK(end <= column.size() && begin <= end)
193
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
194
10
        const auto& col = assert_cast<const ColumnBitmap&>(column);
195
10
        const auto* data = col.get_data().data();
196
28
        for (size_t i = begin; i <= end; ++i) {
197
18
            this->data(place).merge(data[i]);
198
18
        }
199
10
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
191
10
                                                 Arena&) const override {
192
10
        DCHECK(end <= column.size() && begin <= end)
193
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
194
10
        const auto& col = assert_cast<const ColumnBitmap&>(column);
195
10
        const auto* data = col.get_data().data();
196
28
        for (size_t i = begin; i <= end; ++i) {
197
18
            this->data(place).merge(data[i]);
198
18
        }
199
10
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
191
11
                                                 Arena&) const override {
192
11
        DCHECK(end <= column.size() && begin <= end)
193
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
194
11
        const auto& col = assert_cast<const ColumnBitmap&>(column);
195
11
        const auto* data = col.get_data().data();
196
30
        for (size_t i = begin; i <= end; ++i) {
197
19
            this->data(place).merge(data[i]);
198
19
        }
199
11
    }
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
143
                                                 Arena&) const override {
192
143
        DCHECK(end <= column.size() && begin <= end)
193
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
194
143
        const auto& col = assert_cast<const ColumnBitmap&>(column);
195
143
        const auto* data = col.get_data().data();
196
303
        for (size_t i = begin; i <= end; ++i) {
197
160
            this->data(place).merge(data[i]);
198
160
        }
199
143
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEEENS_25AggregateFunctionBitmapOpIS2_EEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
191
196
                                                 Arena&) const override {
192
196
        DCHECK(end <= column.size() && begin <= end)
193
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
194
196
        const auto& col = assert_cast<const ColumnBitmap&>(column);
195
196
        const auto* data = col.get_data().data();
196
409
        for (size_t i = begin; i <= end; ++i) {
197
213
            this->data(place).merge(data[i]);
198
213
        }
199
196
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEEENS_25AggregateFunctionBitmapOpIS2_EEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
191
143
                                                 Arena&) const override {
192
143
        DCHECK(end <= column.size() && begin <= end)
193
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
194
143
        const auto& col = assert_cast<const ColumnBitmap&>(column);
195
143
        const auto* data = col.get_data().data();
196
303
        for (size_t i = begin; i <= end; ++i) {
197
160
            this->data(place).merge(data[i]);
198
160
        }
199
143
    }
200
201
    void deserialize_and_merge_vec(const AggregateDataPtr* places, size_t offset,
202
                                   AggregateDataPtr rhs, const IColumn* column, Arena&,
203
587
                                   const size_t num_rows) const override {
204
587
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
205
587
        const auto* data = col.get_data().data();
206
39.3k
        for (size_t i = 0; i != num_rows; ++i) {
207
38.7k
            this->data(places[i] + offset).merge(data[i]);
208
38.7k
        }
209
587
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE25deserialize_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
50
        for (size_t i = 0; i != num_rows; ++i) {
207
32
            this->data(places[i] + offset).merge(data[i]);
208
32
        }
209
18
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE25deserialize_and_merge_vecEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
203
122
                                   const size_t num_rows) const override {
204
122
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
205
122
        const auto* data = col.get_data().data();
206
272
        for (size_t i = 0; i != num_rows; ++i) {
207
150
            this->data(places[i] + offset).merge(data[i]);
208
150
        }
209
122
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE25deserialize_and_merge_vecEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
203
10
                                   const size_t num_rows) const override {
204
10
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
205
10
        const auto* data = col.get_data().data();
206
37
        for (size_t i = 0; i != num_rows; ++i) {
207
27
            this->data(places[i] + offset).merge(data[i]);
208
27
        }
209
10
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE25deserialize_and_merge_vecEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
203
10
                                   const size_t num_rows) const override {
204
10
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
205
10
        const auto* data = col.get_data().data();
206
37
        for (size_t i = 0; i != num_rows; ++i) {
207
27
            this->data(places[i] + offset).merge(data[i]);
208
27
        }
209
10
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE25deserialize_and_merge_vecEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
203
10
                                   const size_t num_rows) const override {
204
10
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
205
10
        const auto* data = col.get_data().data();
206
37
        for (size_t i = 0; i != num_rows; ++i) {
207
27
            this->data(places[i] + offset).merge(data[i]);
208
27
        }
209
10
    }
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
2
                                   const size_t num_rows) const override {
204
2
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
205
2
        const auto* data = col.get_data().data();
206
6
        for (size_t i = 0; i != num_rows; ++i) {
207
4
            this->data(places[i] + offset).merge(data[i]);
208
4
        }
209
2
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE25deserialize_and_merge_vecEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
203
2
                                   const size_t num_rows) const override {
204
2
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
205
2
        const auto* data = col.get_data().data();
206
6
        for (size_t i = 0; i != num_rows; ++i) {
207
4
            this->data(places[i] + offset).merge(data[i]);
208
4
        }
209
2
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE25deserialize_and_merge_vecEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
203
2
                                   const size_t num_rows) const override {
204
2
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
205
2
        const auto* data = col.get_data().data();
206
6
        for (size_t i = 0; i != num_rows; ++i) {
207
4
            this->data(places[i] + offset).merge(data[i]);
208
4
        }
209
2
    }
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
383
                                   const size_t num_rows) const override {
204
383
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
205
383
        const auto* data = col.get_data().data();
206
38.8k
        for (size_t i = 0; i != num_rows; ++i) {
207
38.4k
            this->data(places[i] + offset).merge(data[i]);
208
38.4k
        }
209
383
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEEENS_25AggregateFunctionBitmapOpIS2_EEE25deserialize_and_merge_vecEPKPcmS7_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
51
        for (size_t i = 0; i != num_rows; ++i) {
207
35
            this->data(places[i] + offset).merge(data[i]);
208
35
        }
209
16
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEEENS_25AggregateFunctionBitmapOpIS2_EEE25deserialize_and_merge_vecEPKPcmS7_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
203
12
                                   const size_t num_rows) const override {
204
12
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
205
12
        const auto* data = col.get_data().data();
206
43
        for (size_t i = 0; i != num_rows; ++i) {
207
31
            this->data(places[i] + offset).merge(data[i]);
208
31
        }
209
12
    }
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
477
                                         IColumn& to) const override {
225
477
        auto& col = assert_cast<ColumnBitmap&>(to);
226
477
        size_t old_size = col.size();
227
477
        col.resize(old_size + 1);
228
477
        col.get_data()[old_size] = std::move(this->data(place).value);
229
477
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
224
5
                                         IColumn& to) const override {
225
5
        auto& col = assert_cast<ColumnBitmap&>(to);
226
5
        size_t old_size = col.size();
227
5
        col.resize(old_size + 1);
228
5
        col.get_data()[old_size] = std::move(this->data(place).value);
229
5
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
224
91
                                         IColumn& to) const override {
225
91
        auto& col = assert_cast<ColumnBitmap&>(to);
226
91
        size_t old_size = col.size();
227
91
        col.resize(old_size + 1);
228
91
        col.get_data()[old_size] = std::move(this->data(place).value);
229
91
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
224
6
                                         IColumn& to) const override {
225
6
        auto& col = assert_cast<ColumnBitmap&>(to);
226
6
        size_t old_size = col.size();
227
6
        col.resize(old_size + 1);
228
6
        col.get_data()[old_size] = std::move(this->data(place).value);
229
6
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
224
7
                                         IColumn& to) const override {
225
7
        auto& col = assert_cast<ColumnBitmap&>(to);
226
7
        size_t old_size = col.size();
227
7
        col.resize(old_size + 1);
228
7
        col.get_data()[old_size] = std::move(this->data(place).value);
229
7
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
224
59
                                         IColumn& to) const override {
225
59
        auto& col = assert_cast<ColumnBitmap&>(to);
226
59
        size_t old_size = col.size();
227
59
        col.resize(old_size + 1);
228
59
        col.get_data()[old_size] = std::move(this->data(place).value);
229
59
    }
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
6
                                         IColumn& to) const override {
225
6
        auto& col = assert_cast<ColumnBitmap&>(to);
226
6
        size_t old_size = col.size();
227
6
        col.resize(old_size + 1);
228
6
        col.get_data()[old_size] = std::move(this->data(place).value);
229
6
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
224
6
                                         IColumn& to) const override {
225
6
        auto& col = assert_cast<ColumnBitmap&>(to);
226
6
        size_t old_size = col.size();
227
6
        col.resize(old_size + 1);
228
6
        col.get_data()[old_size] = std::move(this->data(place).value);
229
6
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
224
7
                                         IColumn& to) const override {
225
7
        auto& col = assert_cast<ColumnBitmap&>(to);
226
7
        size_t old_size = col.size();
227
7
        col.resize(old_size + 1);
228
7
        col.get_data()[old_size] = std::move(this->data(place).value);
229
7
    }
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
117
                                         IColumn& to) const override {
225
117
        auto& col = assert_cast<ColumnBitmap&>(to);
226
117
        size_t old_size = col.size();
227
117
        col.resize(old_size + 1);
228
117
        col.get_data()[old_size] = std::move(this->data(place).value);
229
117
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEEENS_25AggregateFunctionBitmapOpIS2_EEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
224
107
                                         IColumn& to) const override {
225
107
        auto& col = assert_cast<ColumnBitmap&>(to);
226
107
        size_t old_size = col.size();
227
107
        col.resize(old_size + 1);
228
107
        col.get_data()[old_size] = std::move(this->data(place).value);
229
107
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEEENS_25AggregateFunctionBitmapOpIS2_EEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
224
66
                                         IColumn& to) const override {
225
66
        auto& col = assert_cast<ColumnBitmap&>(to);
226
66
        size_t old_size = col.size();
227
66
        col.resize(old_size + 1);
228
66
        col.get_data()[old_size] = std::move(this->data(place).value);
229
66
    }
230
231
2.82k
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
232
2.82k
        return ColumnBitmap::create();
233
2.82k
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE23create_serialize_columnEv
Line
Count
Source
231
38
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
232
38
        return ColumnBitmap::create();
233
38
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE23create_serialize_columnEv
Line
Count
Source
231
625
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
232
625
        return ColumnBitmap::create();
233
625
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_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_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE23create_serialize_columnEv
Line
Count
Source
231
21
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
232
21
        return ColumnBitmap::create();
233
21
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE23create_serialize_columnEv
Line
Count
Source
231
313
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
232
313
        return ColumnBitmap::create();
233
313
    }
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE23create_serialize_columnEv
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE23create_serialize_columnEv
Line
Count
Source
231
12
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
232
12
        return ColumnBitmap::create();
233
12
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE23create_serialize_columnEv
Line
Count
Source
231
12
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
232
12
        return ColumnBitmap::create();
233
12
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE23create_serialize_columnEv
Line
Count
Source
231
13
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
232
13
        return ColumnBitmap::create();
233
13
    }
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE23create_serialize_columnEv
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_25AggregateFunctionBitmapOpIS2_EEE23create_serialize_columnEv
Line
Count
Source
231
837
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
232
837
        return ColumnBitmap::create();
233
837
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEEENS_25AggregateFunctionBitmapOpIS2_EEE23create_serialize_columnEv
Line
Count
Source
231
603
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
232
603
        return ColumnBitmap::create();
233
603
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEEENS_25AggregateFunctionBitmapOpIS2_EEE23create_serialize_columnEv
Line
Count
Source
231
327
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
232
327
        return ColumnBitmap::create();
233
327
    }
234
235
3.14k
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
236
3.14k
        return std::make_shared<DataTypeBitMap>();
237
3.14k
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE19get_serialized_typeEv
Line
Count
Source
235
39
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
236
39
        return std::make_shared<DataTypeBitMap>();
237
39
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE19get_serialized_typeEv
Line
Count
Source
235
656
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
236
656
        return std::make_shared<DataTypeBitMap>();
237
656
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_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_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE19get_serialized_typeEv
Line
Count
Source
235
21
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
236
21
        return std::make_shared<DataTypeBitMap>();
237
21
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE19get_serialized_typeEv
Line
Count
Source
235
339
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
236
339
        return std::make_shared<DataTypeBitMap>();
237
339
    }
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE19get_serialized_typeEv
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE19get_serialized_typeEv
Line
Count
Source
235
12
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
236
12
        return std::make_shared<DataTypeBitMap>();
237
12
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE19get_serialized_typeEv
Line
Count
Source
235
12
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
236
12
        return std::make_shared<DataTypeBitMap>();
237
12
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE19get_serialized_typeEv
Line
Count
Source
235
13
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
236
13
        return std::make_shared<DataTypeBitMap>();
237
13
    }
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE19get_serialized_typeEv
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_25AggregateFunctionBitmapOpIS2_EEE19get_serialized_typeEv
Line
Count
Source
235
939
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
236
939
        return std::make_shared<DataTypeBitMap>();
237
939
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEEENS_25AggregateFunctionBitmapOpIS2_EEE19get_serialized_typeEv
Line
Count
Source
235
740
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
236
740
        return std::make_shared<DataTypeBitMap>();
237
740
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEEENS_25AggregateFunctionBitmapOpIS2_EEE19get_serialized_typeEv
Line
Count
Source
235
352
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
236
352
        return std::make_shared<DataTypeBitMap>();
237
352
    }
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
172
    String get_name() const override { return Op::name; }
_ZNK5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEE8get_nameB5cxx11Ev
Line
Count
Source
254
44
    String get_name() const override { return Op::name; }
_ZNK5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEE8get_nameB5cxx11Ev
Line
Count
Source
254
91
    String get_name() const override { return Op::name; }
_ZNK5doris25AggregateFunctionBitmapOpINS_33AggregateFunctionGroupBitmapXorOpEE8get_nameB5cxx11Ev
Line
Count
Source
254
37
    String get_name() const override { return Op::name; }
255
256
    AggregateFunctionBitmapOp(const DataTypes& argument_types_)
257
3.94k
            : AggregateFunctionBitmapSerializationHelper<AggregateFunctionBitmapData<Op>,
258
3.94k
                                                         AggregateFunctionBitmapOp<Op>>(
259
3.94k
                      argument_types_) {}
_ZN5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
257
2.58k
            : AggregateFunctionBitmapSerializationHelper<AggregateFunctionBitmapData<Op>,
258
2.58k
                                                         AggregateFunctionBitmapOp<Op>>(
259
2.58k
                      argument_types_) {}
_ZN5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
257
1.00k
            : AggregateFunctionBitmapSerializationHelper<AggregateFunctionBitmapData<Op>,
258
1.00k
                                                         AggregateFunctionBitmapOp<Op>>(
259
1.00k
                      argument_types_) {}
_ZN5doris25AggregateFunctionBitmapOpINS_33AggregateFunctionGroupBitmapXorOpEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
257
355
            : AggregateFunctionBitmapSerializationHelper<AggregateFunctionBitmapData<Op>,
258
355
                                                         AggregateFunctionBitmapOp<Op>>(
259
355
                      argument_types_) {}
260
261
4.81k
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeBitMap>(); }
_ZNK5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEE15get_return_typeEv
Line
Count
Source
261
4.16k
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeBitMap>(); }
_ZNK5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEE15get_return_typeEv
Line
Count
Source
261
486
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeBitMap>(); }
_ZNK5doris25AggregateFunctionBitmapOpINS_33AggregateFunctionGroupBitmapXorOpEE15get_return_typeEv
Line
Count
Source
261
163
    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
143k
             Arena&) const override {
265
143k
        const auto& column =
266
143k
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
267
143k
        this->data(place).add(column.get_data()[row_num]);
268
143k
    }
_ZNK5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
264
137k
             Arena&) const override {
265
137k
        const auto& column =
266
137k
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
267
137k
        this->data(place).add(column.get_data()[row_num]);
268
137k
    }
_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
285
             Arena&) const override {
265
285
        const auto& column =
266
285
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
267
285
        this->data(place).add(column.get_data()[row_num]);
268
285
    }
269
270
    void add_many(AggregateDataPtr __restrict place, const IColumn** columns,
271
194
                  std::vector<int>& rows, Arena&) const override {
272
        // now this only for bitmap_union function
273
194
        if constexpr (std::is_same_v<Op, AggregateFunctionBitmapUnionOp>) {
274
194
            const auto& column =
275
194
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
276
194
            std::vector<const BitmapValue*> values;
277
460
            for (auto row : rows) {
278
460
                values.push_back(&(column.get_data()[row]));
279
460
            }
280
194
            this->data(place).add_batch(values);
281
194
        }
282
194
    }
_ZNK5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEE8add_manyEPcPPKNS_7IColumnERSt6vectorIiSaIiEERNS_5ArenaE
Line
Count
Source
271
194
                  std::vector<int>& rows, Arena&) const override {
272
        // now this only for bitmap_union function
273
194
        if constexpr (std::is_same_v<Op, AggregateFunctionBitmapUnionOp>) {
274
194
            const auto& column =
275
194
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
276
194
            std::vector<const BitmapValue*> values;
277
460
            for (auto row : rows) {
278
460
                values.push_back(&(column.get_data()[row]));
279
460
            }
280
194
            this->data(place).add_batch(values);
281
194
        }
282
194
    }
Unexecuted instantiation: _ZNK5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEE8add_manyEPcPPKNS_7IColumnERSt6vectorIiSaIiEERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris25AggregateFunctionBitmapOpINS_33AggregateFunctionGroupBitmapXorOpEE8add_manyEPcPPKNS_7IColumnERSt6vectorIiSaIiEERNS_5ArenaE
283
284
    void add_batch_range(size_t batch_begin, size_t batch_end, AggregateDataPtr place,
285
16.7k
                         const IColumn** columns, Arena& arena, bool has_null) override {
286
        // now this only for bitmap_union function
287
16.7k
        if constexpr (std::is_same_v<Op, AggregateFunctionBitmapUnionOp>) {
288
16.7k
            const auto& column =
289
16.7k
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
290
16.7k
            std::vector<const BitmapValue*> values;
291
33.4k
            for (size_t i = batch_begin; i <= batch_end; ++i) {
292
16.7k
                values.push_back(&(column.get_data()[i]));
293
16.7k
            }
294
16.7k
            this->data(place).add_batch(values);
295
16.7k
        } else {
296
0
            for (size_t i = batch_begin; i <= batch_end; ++i) {
297
0
                this->add(place, columns, i, arena);
298
0
            }
299
0
        }
300
16.7k
    }
_ZN5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEE15add_batch_rangeEmmPcPPKNS_7IColumnERNS_5ArenaEb
Line
Count
Source
285
16.7k
                         const IColumn** columns, Arena& arena, bool has_null) override {
286
        // now this only for bitmap_union function
287
16.7k
        if constexpr (std::is_same_v<Op, AggregateFunctionBitmapUnionOp>) {
288
16.7k
            const auto& column =
289
16.7k
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
290
16.7k
            std::vector<const BitmapValue*> values;
291
33.4k
            for (size_t i = batch_begin; i <= batch_end; ++i) {
292
16.7k
                values.push_back(&(column.get_data()[i]));
293
16.7k
            }
294
16.7k
            this->data(place).add_batch(values);
295
        } else {
296
            for (size_t i = batch_begin; i <= batch_end; ++i) {
297
                this->add(place, columns, i, arena);
298
            }
299
        }
300
16.7k
    }
Unexecuted instantiation: _ZN5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEE15add_batch_rangeEmmPcPPKNS_7IColumnERNS_5ArenaEb
Unexecuted instantiation: _ZN5doris25AggregateFunctionBitmapOpINS_33AggregateFunctionGroupBitmapXorOpEE15add_batch_rangeEmmPcPPKNS_7IColumnERNS_5ArenaEb
301
302
    void merge(AggregateDataPtr __restrict place, ConstAggregateDataPtr rhs,
303
0
               Arena&) const override {
304
0
        this->data(place).merge(this->data(rhs).get());
305
0
    }
Unexecuted instantiation: _ZNK5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEE5mergeEPcPKcRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEE5mergeEPcPKcRNS_5ArenaE
Unexecuted instantiation: _ZNK5doris25AggregateFunctionBitmapOpINS_33AggregateFunctionGroupBitmapXorOpEE5mergeEPcPKcRNS_5ArenaE
306
307
0
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
308
0
        this->data(place).write(buf);
309
0
    }
Unexecuted instantiation: _ZNK5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEE9serializeEPKcRNS_14BufferWritableE
Unexecuted instantiation: _ZNK5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEE9serializeEPKcRNS_14BufferWritableE
Unexecuted instantiation: _ZNK5doris25AggregateFunctionBitmapOpINS_33AggregateFunctionGroupBitmapXorOpEE9serializeEPKcRNS_14BufferWritableE
310
311
    void deserialize(AggregateDataPtr __restrict place, BufferReadable& buf,
312
0
                     Arena&) const override {
313
0
        this->data(place).read(buf);
314
0
    }
Unexecuted instantiation: _ZNK5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Unexecuted instantiation: _ZNK5doris25AggregateFunctionBitmapOpINS_33AggregateFunctionGroupBitmapXorOpEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
315
316
56.3k
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
317
56.3k
        auto& column = assert_cast<ColVecResult&, TypeCheckOnRelease::DISABLE>(to);
318
56.3k
        column.get_data().push_back(this->data(place).get());
319
56.3k
    }
_ZNK5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
316
54.7k
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
317
54.7k
        auto& column = assert_cast<ColVecResult&, TypeCheckOnRelease::DISABLE>(to);
318
54.7k
        column.get_data().push_back(this->data(place).get());
319
54.7k
    }
_ZNK5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
316
1.53k
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
317
1.53k
        auto& column = assert_cast<ColVecResult&, TypeCheckOnRelease::DISABLE>(to);
318
1.53k
        column.get_data().push_back(this->data(place).get());
319
1.53k
    }
_ZNK5doris25AggregateFunctionBitmapOpINS_33AggregateFunctionGroupBitmapXorOpEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
316
79
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
317
79
        auto& column = assert_cast<ColVecResult&, TypeCheckOnRelease::DISABLE>(to);
318
79
        column.get_data().push_back(this->data(place).get());
319
79
    }
320
321
16.7k
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
_ZNK5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEE5resetEPc
Line
Count
Source
321
16.6k
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
_ZNK5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEE5resetEPc
Line
Count
Source
321
61
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
_ZNK5doris25AggregateFunctionBitmapOpINS_33AggregateFunctionGroupBitmapXorOpEE5resetEPc
Line
Count
Source
321
38
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
322
};
323
324
template <bool arg_is_nullable, typename ColVecType>
325
class AggregateFunctionBitmapCount final
326
        : public AggregateFunctionBitmapSerializationHelper<
327
                  AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
328
                  AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>,
329
          UnaryExpression,
330
          NotNullableAggregateFunction {
331
public:
332
    // using ColVecType = ColumnBitmap;
333
    using ColVecResult = ColumnInt64;
334
    using AggFunctionData = AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>;
335
    static int constexpr BATCH_HALF_ROWS = 4064 / 2;
336
337
    AggregateFunctionBitmapCount(const DataTypes& argument_types_)
338
912
            : AggregateFunctionBitmapSerializationHelper<
339
912
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
340
912
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
_ZN5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
338
35
            : AggregateFunctionBitmapSerializationHelper<
339
35
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
340
35
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
_ZN5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
338
482
            : AggregateFunctionBitmapSerializationHelper<
339
482
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
340
482
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
_ZN5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
338
11
            : AggregateFunctionBitmapSerializationHelper<
339
11
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
340
11
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
_ZN5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
338
14
            : AggregateFunctionBitmapSerializationHelper<
339
14
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
340
14
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
_ZN5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
338
336
            : AggregateFunctionBitmapSerializationHelper<
339
336
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
340
336
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
Unexecuted instantiation: _ZN5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
_ZN5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
338
9
            : AggregateFunctionBitmapSerializationHelper<
339
9
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
340
9
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
_ZN5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
338
9
            : AggregateFunctionBitmapSerializationHelper<
339
9
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
340
9
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
_ZN5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
338
15
            : AggregateFunctionBitmapSerializationHelper<
339
15
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
340
15
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
_ZN5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
338
1
            : AggregateFunctionBitmapSerializationHelper<
339
1
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
340
1
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
341
342
105
    String get_name() const override {
343
105
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
344
69
            return "bitmap_union_count";
345
69
        } else {
346
36
            return "bitmap_union_int";
347
36
        }
348
105
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE8get_nameB5cxx11Ev
Line
Count
Source
342
16
    String get_name() const override {
343
16
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
344
16
            return "bitmap_union_count";
345
        } else {
346
            return "bitmap_union_int";
347
        }
348
16
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE8get_nameB5cxx11Ev
Line
Count
Source
342
53
    String get_name() const override {
343
53
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
344
53
            return "bitmap_union_count";
345
        } else {
346
            return "bitmap_union_int";
347
        }
348
53
    }
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE8get_nameB5cxx11Ev
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE8get_nameB5cxx11Ev
Line
Count
Source
342
16
    String get_name() const override {
343
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
344
            return "bitmap_union_count";
345
16
        } else {
346
16
            return "bitmap_union_int";
347
16
        }
348
16
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE8get_nameB5cxx11Ev
Line
Count
Source
342
20
    String get_name() const override {
343
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
344
            return "bitmap_union_count";
345
20
        } else {
346
20
            return "bitmap_union_int";
347
20
        }
348
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
349
350
1.21k
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE15get_return_typeEv
Line
Count
Source
350
142
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE15get_return_typeEv
Line
Count
Source
350
827
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE15get_return_typeEv
Line
Count
Source
350
33
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE15get_return_typeEv
Line
Count
Source
350
58
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE15get_return_typeEv
Line
Count
Source
350
50
    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
350
22
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE15get_return_typeEv
Line
Count
Source
350
22
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE15get_return_typeEv
Line
Count
Source
350
57
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE15get_return_typeEv
351
352
    void add(AggregateDataPtr __restrict place, const IColumn** columns, ssize_t row_num,
353
40.4k
             Arena&) const override {
354
40.4k
        if constexpr (arg_is_nullable) {
355
434
            const auto& nullable_column =
356
434
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
357
434
            if (!nullable_column.is_null_at(row_num)) {
358
406
                const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
359
406
                        nullable_column.get_nested_column());
360
406
                this->data(place).add(column.get_data()[row_num]);
361
406
            }
362
39.9k
        } else {
363
39.9k
            const auto& column =
364
39.9k
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
365
39.9k
            this->data(place).add(column.get_data()[row_num]);
366
39.9k
        }
367
40.4k
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
353
76
             Arena&) const override {
354
76
        if constexpr (arg_is_nullable) {
355
76
            const auto& nullable_column =
356
76
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
357
76
            if (!nullable_column.is_null_at(row_num)) {
358
75
                const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
359
75
                        nullable_column.get_nested_column());
360
75
                this->data(place).add(column.get_data()[row_num]);
361
75
            }
362
        } else {
363
            const auto& column =
364
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
365
            this->data(place).add(column.get_data()[row_num]);
366
        }
367
76
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
353
39.8k
             Arena&) const override {
354
        if constexpr (arg_is_nullable) {
355
            const auto& nullable_column =
356
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
357
            if (!nullable_column.is_null_at(row_num)) {
358
                const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
359
                        nullable_column.get_nested_column());
360
                this->data(place).add(column.get_data()[row_num]);
361
            }
362
39.8k
        } else {
363
39.8k
            const auto& column =
364
39.8k
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
365
39.8k
            this->data(place).add(column.get_data()[row_num]);
366
39.8k
        }
367
39.8k
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
353
65
             Arena&) const override {
354
65
        if constexpr (arg_is_nullable) {
355
65
            const auto& nullable_column =
356
65
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
357
65
            if (!nullable_column.is_null_at(row_num)) {
358
60
                const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
359
60
                        nullable_column.get_nested_column());
360
60
                this->data(place).add(column.get_data()[row_num]);
361
60
            }
362
        } else {
363
            const auto& column =
364
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
365
            this->data(place).add(column.get_data()[row_num]);
366
        }
367
65
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
353
92
             Arena&) const override {
354
92
        if constexpr (arg_is_nullable) {
355
92
            const auto& nullable_column =
356
92
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
357
92
            if (!nullable_column.is_null_at(row_num)) {
358
85
                const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
359
85
                        nullable_column.get_nested_column());
360
85
                this->data(place).add(column.get_data()[row_num]);
361
85
            }
362
        } else {
363
            const auto& column =
364
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
365
            this->data(place).add(column.get_data()[row_num]);
366
        }
367
92
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
353
201
             Arena&) const override {
354
201
        if constexpr (arg_is_nullable) {
355
201
            const auto& nullable_column =
356
201
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
357
201
            if (!nullable_column.is_null_at(row_num)) {
358
186
                const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
359
186
                        nullable_column.get_nested_column());
360
186
                this->data(place).add(column.get_data()[row_num]);
361
186
            }
362
        } else {
363
            const auto& column =
364
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
365
            this->data(place).add(column.get_data()[row_num]);
366
        }
367
201
    }
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
353
57
             Arena&) const override {
354
        if constexpr (arg_is_nullable) {
355
            const auto& nullable_column =
356
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
357
            if (!nullable_column.is_null_at(row_num)) {
358
                const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
359
                        nullable_column.get_nested_column());
360
                this->data(place).add(column.get_data()[row_num]);
361
            }
362
57
        } else {
363
57
            const auto& column =
364
57
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
365
57
            this->data(place).add(column.get_data()[row_num]);
366
57
        }
367
57
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
353
57
             Arena&) const override {
354
        if constexpr (arg_is_nullable) {
355
            const auto& nullable_column =
356
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
357
            if (!nullable_column.is_null_at(row_num)) {
358
                const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
359
                        nullable_column.get_nested_column());
360
                this->data(place).add(column.get_data()[row_num]);
361
            }
362
57
        } else {
363
57
            const auto& column =
364
57
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
365
57
            this->data(place).add(column.get_data()[row_num]);
366
57
        }
367
57
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
353
59
             Arena&) const override {
354
        if constexpr (arg_is_nullable) {
355
            const auto& nullable_column =
356
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
357
            if (!nullable_column.is_null_at(row_num)) {
358
                const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
359
                        nullable_column.get_nested_column());
360
                this->data(place).add(column.get_data()[row_num]);
361
            }
362
59
        } else {
363
59
            const auto& column =
364
59
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
365
59
            this->data(place).add(column.get_data()[row_num]);
366
59
        }
367
59
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
353
9
             Arena&) const override {
354
        if constexpr (arg_is_nullable) {
355
            const auto& nullable_column =
356
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
357
            if (!nullable_column.is_null_at(row_num)) {
358
                const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
359
                        nullable_column.get_nested_column());
360
                this->data(place).add(column.get_data()[row_num]);
361
            }
362
9
        } else {
363
9
            const auto& column =
364
9
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
365
9
            this->data(place).add(column.get_data()[row_num]);
366
9
        }
367
9
    }
368
369
    void add_many(AggregateDataPtr __restrict place, const IColumn** columns,
370
99
                  std::vector<int>& rows, Arena&) const override {
371
        // now this only for bitmap_union_count function
372
99
        if constexpr (arg_is_nullable && std::is_same_v<ColVecType, ColumnBitmap>) {
373
9
            const auto& nullable_column =
374
9
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
375
9
            const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
376
9
                    nullable_column.get_nested_column());
377
9
            std::vector<const BitmapValue*> values;
378
13
            for (auto row : rows) {
379
13
                if (!nullable_column.is_null_at(row)) {
380
13
                    values.push_back(&(column.get_data()[row]));
381
13
                }
382
13
            }
383
9
            this->data(place).add_batch(values);
384
90
        } else if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
385
90
            const auto& column =
386
90
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
387
90
            std::vector<const BitmapValue*> values;
388
144
            for (auto row : rows) {
389
144
                values.push_back(&(column.get_data()[row]));
390
144
            }
391
90
            this->data(place).add_batch(values);
392
90
        }
393
99
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE8add_manyEPcPPKNS_7IColumnERSt6vectorIiSaIiEERNS_5ArenaE
Line
Count
Source
370
9
                  std::vector<int>& rows, Arena&) const override {
371
        // now this only for bitmap_union_count function
372
9
        if constexpr (arg_is_nullable && std::is_same_v<ColVecType, ColumnBitmap>) {
373
9
            const auto& nullable_column =
374
9
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
375
9
            const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
376
9
                    nullable_column.get_nested_column());
377
9
            std::vector<const BitmapValue*> values;
378
13
            for (auto row : rows) {
379
13
                if (!nullable_column.is_null_at(row)) {
380
13
                    values.push_back(&(column.get_data()[row]));
381
13
                }
382
13
            }
383
9
            this->data(place).add_batch(values);
384
        } else if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
385
            const auto& column =
386
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
387
            std::vector<const BitmapValue*> values;
388
            for (auto row : rows) {
389
                values.push_back(&(column.get_data()[row]));
390
            }
391
            this->data(place).add_batch(values);
392
        }
393
9
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE8add_manyEPcPPKNS_7IColumnERSt6vectorIiSaIiEERNS_5ArenaE
Line
Count
Source
370
90
                  std::vector<int>& rows, Arena&) const override {
371
        // now this only for bitmap_union_count function
372
        if constexpr (arg_is_nullable && std::is_same_v<ColVecType, ColumnBitmap>) {
373
            const auto& nullable_column =
374
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
375
            const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
376
                    nullable_column.get_nested_column());
377
            std::vector<const BitmapValue*> values;
378
            for (auto row : rows) {
379
                if (!nullable_column.is_null_at(row)) {
380
                    values.push_back(&(column.get_data()[row]));
381
                }
382
            }
383
            this->data(place).add_batch(values);
384
90
        } else if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
385
90
            const auto& column =
386
90
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
387
90
            std::vector<const BitmapValue*> values;
388
144
            for (auto row : rows) {
389
144
                values.push_back(&(column.get_data()[row]));
390
144
            }
391
90
            this->data(place).add_batch(values);
392
90
        }
393
90
    }
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
394
395
    void add_batch_single_place(size_t batch_size, AggregateDataPtr place, const IColumn** columns,
396
100
                                Arena& arena) const override {
397
100
        auto normal_add_lambda = [&]() {
398
39.8k
            for (size_t i = 0; i < batch_size; ++i) {
399
39.7k
                this->add(place, columns, i, arena);
400
39.7k
            }
401
100
        };
_ZZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
Line
Count
Source
397
12
        auto normal_add_lambda = [&]() {
398
31
            for (size_t i = 0; i < batch_size; ++i) {
399
19
                this->add(place, columns, i, arena);
400
19
            }
401
12
        };
_ZZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
Line
Count
Source
397
61
        auto normal_add_lambda = [&]() {
398
39.7k
            for (size_t i = 0; i < batch_size; ++i) {
399
39.6k
                this->add(place, columns, i, arena);
400
39.6k
            }
401
61
        };
_ZZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
Line
Count
Source
397
4
        auto normal_add_lambda = [&]() {
398
17
            for (size_t i = 0; i < batch_size; ++i) {
399
13
                this->add(place, columns, i, arena);
400
13
            }
401
4
        };
_ZZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
Line
Count
Source
397
5
        auto normal_add_lambda = [&]() {
398
28
            for (size_t i = 0; i < batch_size; ++i) {
399
23
                this->add(place, columns, i, arena);
400
23
            }
401
5
        };
_ZZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
Line
Count
Source
397
5
        auto normal_add_lambda = [&]() {
398
19
            for (size_t i = 0; i < batch_size; ++i) {
399
14
                this->add(place, columns, i, arena);
400
14
            }
401
5
        };
Unexecuted instantiation: _ZZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
_ZZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
Line
Count
Source
397
4
        auto normal_add_lambda = [&]() {
398
16
            for (size_t i = 0; i < batch_size; ++i) {
399
12
                this->add(place, columns, i, arena);
400
12
            }
401
4
        };
_ZZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
Line
Count
Source
397
4
        auto normal_add_lambda = [&]() {
398
16
            for (size_t i = 0; i < batch_size; ++i) {
399
12
                this->add(place, columns, i, arena);
400
12
            }
401
4
        };
_ZZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
Line
Count
Source
397
5
        auto normal_add_lambda = [&]() {
398
18
            for (size_t i = 0; i < batch_size; ++i) {
399
13
                this->add(place, columns, i, arena);
400
13
            }
401
5
        };
Unexecuted instantiation: _ZZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
402
403
        // now this only for bitmap_union_count function
404
100
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
405
            // if batch_size is small, the add_batch of fast union seems to be slower than normal add
406
73
            if (batch_size < BATCH_HALF_ROWS) {
407
73
                normal_add_lambda();
408
73
                return;
409
73
            }
410
0
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
411
0
                const auto& column =
412
0
                        assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(data_column);
413
0
                std::vector<const BitmapValue*> values;
414
0
                for (size_t i = 0; i < batch_size; ++i) {
415
0
                    if constexpr (arg_is_nullable) {
416
0
                        if ((*null_map)[i]) {
417
0
                            continue; // skip null value
418
0
                        }
419
0
                    }
420
0
                    values.push_back(&(column.get_data()[i]));
421
0
                }
422
0
                this->data(place).add_batch(values);
423
0
            };
Unexecuted instantiation: _ZZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlRS7_PKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEE_clESC_SJ_
Unexecuted instantiation: _ZZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlRS7_PKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEE_clESC_SJ_
424
425
0
            if constexpr (arg_is_nullable) {
426
0
                const auto& nullable_column =
427
0
                        assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(
428
0
                                *columns[0]);
429
0
                add_batch_lambda(nullable_column.get_nested_column(),
430
0
                                 &(nullable_column.get_null_map_data()));
431
0
            } else {
432
0
                add_batch_lambda(*columns[0], nullptr);
433
0
            }
434
27
        } else {
435
27
            normal_add_lambda();
436
27
        }
437
100
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
396
12
                                Arena& arena) const override {
397
12
        auto normal_add_lambda = [&]() {
398
12
            for (size_t i = 0; i < batch_size; ++i) {
399
12
                this->add(place, columns, i, arena);
400
12
            }
401
12
        };
402
403
        // now this only for bitmap_union_count function
404
12
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
405
            // if batch_size is small, the add_batch of fast union seems to be slower than normal add
406
12
            if (batch_size < BATCH_HALF_ROWS) {
407
12
                normal_add_lambda();
408
12
                return;
409
12
            }
410
0
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
411
0
                const auto& column =
412
0
                        assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(data_column);
413
0
                std::vector<const BitmapValue*> values;
414
0
                for (size_t i = 0; i < batch_size; ++i) {
415
0
                    if constexpr (arg_is_nullable) {
416
0
                        if ((*null_map)[i]) {
417
0
                            continue; // skip null value
418
0
                        }
419
0
                    }
420
0
                    values.push_back(&(column.get_data()[i]));
421
0
                }
422
0
                this->data(place).add_batch(values);
423
0
            };
424
425
0
            if constexpr (arg_is_nullable) {
426
0
                const auto& nullable_column =
427
0
                        assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(
428
0
                                *columns[0]);
429
0
                add_batch_lambda(nullable_column.get_nested_column(),
430
0
                                 &(nullable_column.get_null_map_data()));
431
            } else {
432
                add_batch_lambda(*columns[0], nullptr);
433
            }
434
        } else {
435
            normal_add_lambda();
436
        }
437
12
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
396
61
                                Arena& arena) const override {
397
61
        auto normal_add_lambda = [&]() {
398
61
            for (size_t i = 0; i < batch_size; ++i) {
399
61
                this->add(place, columns, i, arena);
400
61
            }
401
61
        };
402
403
        // now this only for bitmap_union_count function
404
61
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
405
            // if batch_size is small, the add_batch of fast union seems to be slower than normal add
406
61
            if (batch_size < BATCH_HALF_ROWS) {
407
61
                normal_add_lambda();
408
61
                return;
409
61
            }
410
0
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
411
0
                const auto& column =
412
0
                        assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(data_column);
413
0
                std::vector<const BitmapValue*> values;
414
0
                for (size_t i = 0; i < batch_size; ++i) {
415
0
                    if constexpr (arg_is_nullable) {
416
0
                        if ((*null_map)[i]) {
417
0
                            continue; // skip null value
418
0
                        }
419
0
                    }
420
0
                    values.push_back(&(column.get_data()[i]));
421
0
                }
422
0
                this->data(place).add_batch(values);
423
0
            };
424
425
            if constexpr (arg_is_nullable) {
426
                const auto& nullable_column =
427
                        assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(
428
                                *columns[0]);
429
                add_batch_lambda(nullable_column.get_nested_column(),
430
                                 &(nullable_column.get_null_map_data()));
431
0
            } else {
432
0
                add_batch_lambda(*columns[0], nullptr);
433
0
            }
434
        } else {
435
            normal_add_lambda();
436
        }
437
61
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
396
4
                                Arena& arena) const override {
397
4
        auto normal_add_lambda = [&]() {
398
4
            for (size_t i = 0; i < batch_size; ++i) {
399
4
                this->add(place, columns, i, arena);
400
4
            }
401
4
        };
402
403
        // now this only for bitmap_union_count function
404
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
405
            // if batch_size is small, the add_batch of fast union seems to be slower than normal add
406
            if (batch_size < BATCH_HALF_ROWS) {
407
                normal_add_lambda();
408
                return;
409
            }
410
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
411
                const auto& column =
412
                        assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(data_column);
413
                std::vector<const BitmapValue*> values;
414
                for (size_t i = 0; i < batch_size; ++i) {
415
                    if constexpr (arg_is_nullable) {
416
                        if ((*null_map)[i]) {
417
                            continue; // skip null value
418
                        }
419
                    }
420
                    values.push_back(&(column.get_data()[i]));
421
                }
422
                this->data(place).add_batch(values);
423
            };
424
425
            if constexpr (arg_is_nullable) {
426
                const auto& nullable_column =
427
                        assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(
428
                                *columns[0]);
429
                add_batch_lambda(nullable_column.get_nested_column(),
430
                                 &(nullable_column.get_null_map_data()));
431
            } else {
432
                add_batch_lambda(*columns[0], nullptr);
433
            }
434
4
        } else {
435
4
            normal_add_lambda();
436
4
        }
437
4
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
396
5
                                Arena& arena) const override {
397
5
        auto normal_add_lambda = [&]() {
398
5
            for (size_t i = 0; i < batch_size; ++i) {
399
5
                this->add(place, columns, i, arena);
400
5
            }
401
5
        };
402
403
        // now this only for bitmap_union_count function
404
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
405
            // if batch_size is small, the add_batch of fast union seems to be slower than normal add
406
            if (batch_size < BATCH_HALF_ROWS) {
407
                normal_add_lambda();
408
                return;
409
            }
410
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
411
                const auto& column =
412
                        assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(data_column);
413
                std::vector<const BitmapValue*> values;
414
                for (size_t i = 0; i < batch_size; ++i) {
415
                    if constexpr (arg_is_nullable) {
416
                        if ((*null_map)[i]) {
417
                            continue; // skip null value
418
                        }
419
                    }
420
                    values.push_back(&(column.get_data()[i]));
421
                }
422
                this->data(place).add_batch(values);
423
            };
424
425
            if constexpr (arg_is_nullable) {
426
                const auto& nullable_column =
427
                        assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(
428
                                *columns[0]);
429
                add_batch_lambda(nullable_column.get_nested_column(),
430
                                 &(nullable_column.get_null_map_data()));
431
            } else {
432
                add_batch_lambda(*columns[0], nullptr);
433
            }
434
5
        } else {
435
5
            normal_add_lambda();
436
5
        }
437
5
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
396
5
                                Arena& arena) const override {
397
5
        auto normal_add_lambda = [&]() {
398
5
            for (size_t i = 0; i < batch_size; ++i) {
399
5
                this->add(place, columns, i, arena);
400
5
            }
401
5
        };
402
403
        // now this only for bitmap_union_count function
404
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
405
            // if batch_size is small, the add_batch of fast union seems to be slower than normal add
406
            if (batch_size < BATCH_HALF_ROWS) {
407
                normal_add_lambda();
408
                return;
409
            }
410
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
411
                const auto& column =
412
                        assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(data_column);
413
                std::vector<const BitmapValue*> values;
414
                for (size_t i = 0; i < batch_size; ++i) {
415
                    if constexpr (arg_is_nullable) {
416
                        if ((*null_map)[i]) {
417
                            continue; // skip null value
418
                        }
419
                    }
420
                    values.push_back(&(column.get_data()[i]));
421
                }
422
                this->data(place).add_batch(values);
423
            };
424
425
            if constexpr (arg_is_nullable) {
426
                const auto& nullable_column =
427
                        assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(
428
                                *columns[0]);
429
                add_batch_lambda(nullable_column.get_nested_column(),
430
                                 &(nullable_column.get_null_map_data()));
431
            } else {
432
                add_batch_lambda(*columns[0], nullptr);
433
            }
434
5
        } else {
435
5
            normal_add_lambda();
436
5
        }
437
5
    }
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
396
4
                                Arena& arena) const override {
397
4
        auto normal_add_lambda = [&]() {
398
4
            for (size_t i = 0; i < batch_size; ++i) {
399
4
                this->add(place, columns, i, arena);
400
4
            }
401
4
        };
402
403
        // now this only for bitmap_union_count function
404
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
405
            // if batch_size is small, the add_batch of fast union seems to be slower than normal add
406
            if (batch_size < BATCH_HALF_ROWS) {
407
                normal_add_lambda();
408
                return;
409
            }
410
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
411
                const auto& column =
412
                        assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(data_column);
413
                std::vector<const BitmapValue*> values;
414
                for (size_t i = 0; i < batch_size; ++i) {
415
                    if constexpr (arg_is_nullable) {
416
                        if ((*null_map)[i]) {
417
                            continue; // skip null value
418
                        }
419
                    }
420
                    values.push_back(&(column.get_data()[i]));
421
                }
422
                this->data(place).add_batch(values);
423
            };
424
425
            if constexpr (arg_is_nullable) {
426
                const auto& nullable_column =
427
                        assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(
428
                                *columns[0]);
429
                add_batch_lambda(nullable_column.get_nested_column(),
430
                                 &(nullable_column.get_null_map_data()));
431
            } else {
432
                add_batch_lambda(*columns[0], nullptr);
433
            }
434
4
        } else {
435
4
            normal_add_lambda();
436
4
        }
437
4
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
396
4
                                Arena& arena) const override {
397
4
        auto normal_add_lambda = [&]() {
398
4
            for (size_t i = 0; i < batch_size; ++i) {
399
4
                this->add(place, columns, i, arena);
400
4
            }
401
4
        };
402
403
        // now this only for bitmap_union_count function
404
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
405
            // if batch_size is small, the add_batch of fast union seems to be slower than normal add
406
            if (batch_size < BATCH_HALF_ROWS) {
407
                normal_add_lambda();
408
                return;
409
            }
410
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
411
                const auto& column =
412
                        assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(data_column);
413
                std::vector<const BitmapValue*> values;
414
                for (size_t i = 0; i < batch_size; ++i) {
415
                    if constexpr (arg_is_nullable) {
416
                        if ((*null_map)[i]) {
417
                            continue; // skip null value
418
                        }
419
                    }
420
                    values.push_back(&(column.get_data()[i]));
421
                }
422
                this->data(place).add_batch(values);
423
            };
424
425
            if constexpr (arg_is_nullable) {
426
                const auto& nullable_column =
427
                        assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(
428
                                *columns[0]);
429
                add_batch_lambda(nullable_column.get_nested_column(),
430
                                 &(nullable_column.get_null_map_data()));
431
            } else {
432
                add_batch_lambda(*columns[0], nullptr);
433
            }
434
4
        } else {
435
4
            normal_add_lambda();
436
4
        }
437
4
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
396
5
                                Arena& arena) const override {
397
5
        auto normal_add_lambda = [&]() {
398
5
            for (size_t i = 0; i < batch_size; ++i) {
399
5
                this->add(place, columns, i, arena);
400
5
            }
401
5
        };
402
403
        // now this only for bitmap_union_count function
404
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
405
            // if batch_size is small, the add_batch of fast union seems to be slower than normal add
406
            if (batch_size < BATCH_HALF_ROWS) {
407
                normal_add_lambda();
408
                return;
409
            }
410
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
411
                const auto& column =
412
                        assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(data_column);
413
                std::vector<const BitmapValue*> values;
414
                for (size_t i = 0; i < batch_size; ++i) {
415
                    if constexpr (arg_is_nullable) {
416
                        if ((*null_map)[i]) {
417
                            continue; // skip null value
418
                        }
419
                    }
420
                    values.push_back(&(column.get_data()[i]));
421
                }
422
                this->data(place).add_batch(values);
423
            };
424
425
            if constexpr (arg_is_nullable) {
426
                const auto& nullable_column =
427
                        assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(
428
                                *columns[0]);
429
                add_batch_lambda(nullable_column.get_nested_column(),
430
                                 &(nullable_column.get_null_map_data()));
431
            } else {
432
                add_batch_lambda(*columns[0], nullptr);
433
            }
434
5
        } else {
435
5
            normal_add_lambda();
436
5
        }
437
5
    }
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
438
439
    void merge(AggregateDataPtr __restrict place, ConstAggregateDataPtr rhs,
440
0
               Arena&) const override {
441
0
        this->data(place).merge(this->data(rhs).get());
442
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
443
444
0
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
445
0
        this->data(place).write(buf);
446
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
447
448
    void deserialize(AggregateDataPtr __restrict place, BufferReadable& buf,
449
0
                     Arena&) const override {
450
0
        this->data(place).read(buf);
451
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
452
453
539
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
454
539
        auto& value_data = this->data(place).get();
455
539
        auto& column = assert_cast<ColVecResult&, TypeCheckOnRelease::DISABLE>(to);
456
539
        column.get_data().push_back(value_data.cardinality());
457
539
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
453
53
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
454
53
        auto& value_data = this->data(place).get();
455
53
        auto& column = assert_cast<ColVecResult&, TypeCheckOnRelease::DISABLE>(to);
456
53
        column.get_data().push_back(value_data.cardinality());
457
53
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
453
335
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
454
335
        auto& value_data = this->data(place).get();
455
335
        auto& column = assert_cast<ColVecResult&, TypeCheckOnRelease::DISABLE>(to);
456
335
        column.get_data().push_back(value_data.cardinality());
457
335
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
453
21
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
454
21
        auto& value_data = this->data(place).get();
455
21
        auto& column = assert_cast<ColVecResult&, TypeCheckOnRelease::DISABLE>(to);
456
21
        column.get_data().push_back(value_data.cardinality());
457
21
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
453
39
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
454
39
        auto& value_data = this->data(place).get();
455
39
        auto& column = assert_cast<ColVecResult&, TypeCheckOnRelease::DISABLE>(to);
456
39
        column.get_data().push_back(value_data.cardinality());
457
39
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
453
36
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
454
36
        auto& value_data = this->data(place).get();
455
36
        auto& column = assert_cast<ColVecResult&, TypeCheckOnRelease::DISABLE>(to);
456
36
        column.get_data().push_back(value_data.cardinality());
457
36
    }
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE18insert_result_intoEPKcRNS_7IColumnE
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
453
17
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
454
17
        auto& value_data = this->data(place).get();
455
17
        auto& column = assert_cast<ColVecResult&, TypeCheckOnRelease::DISABLE>(to);
456
17
        column.get_data().push_back(value_data.cardinality());
457
17
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
453
17
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
454
17
        auto& value_data = this->data(place).get();
455
17
        auto& column = assert_cast<ColVecResult&, TypeCheckOnRelease::DISABLE>(to);
456
17
        column.get_data().push_back(value_data.cardinality());
457
17
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
453
20
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
454
20
        auto& value_data = this->data(place).get();
455
20
        auto& column = assert_cast<ColVecResult&, TypeCheckOnRelease::DISABLE>(to);
456
20
        column.get_data().push_back(value_data.cardinality());
457
20
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
453
1
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
454
1
        auto& value_data = this->data(place).get();
455
1
        auto& column = assert_cast<ColVecResult&, TypeCheckOnRelease::DISABLE>(to);
456
1
        column.get_data().push_back(value_data.cardinality());
457
1
    }
458
459
63
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE5resetEPc
Line
Count
Source
459
3
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE5resetEPc
Line
Count
Source
459
31
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
Unexecuted instantiation: _ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE5resetEPc
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE5resetEPc
Line
Count
Source
459
3
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE5resetEPc
Line
Count
Source
459
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
460
};
461
462
AggregateFunctionPtr create_aggregate_function_bitmap_union(const std::string& name,
463
                                                            const DataTypes& argument_types,
464
                                                            const bool result_is_nullable);
465
466
} // namespace doris