Coverage Report

Created: 2026-10-01 08:36

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
6.55k
    static void add(BitmapValue& res, const T& data, bool& is_first) {
51
6.55k
        res.add(data);
52
6.55k
        is_first = false;
53
6.55k
    }
_ZN5doris30AggregateFunctionBitmapUnionOp3addIaEEvRNS_11BitmapValueERKT_Rb
Line
Count
Source
50
1.62k
    static void add(BitmapValue& res, const T& data, bool& is_first) {
51
1.62k
        res.add(data);
52
1.62k
        is_first = false;
53
1.62k
    }
_ZN5doris30AggregateFunctionBitmapUnionOp3addIsEEvRNS_11BitmapValueERKT_Rb
Line
Count
Source
50
1.65k
    static void add(BitmapValue& res, const T& data, bool& is_first) {
51
1.65k
        res.add(data);
52
1.65k
        is_first = false;
53
1.65k
    }
_ZN5doris30AggregateFunctionBitmapUnionOp3addIiEEvRNS_11BitmapValueERKT_Rb
Line
Count
Source
50
1.75k
    static void add(BitmapValue& res, const T& data, bool& is_first) {
51
1.75k
        res.add(data);
52
1.75k
        is_first = false;
53
1.75k
    }
_ZN5doris30AggregateFunctionBitmapUnionOp3addIlEEvRNS_11BitmapValueERKT_Rb
Line
Count
Source
50
1.52k
    static void add(BitmapValue& res, const T& data, bool& is_first) {
51
1.52k
        res.add(data);
52
1.52k
        is_first = false;
53
1.52k
    }
54
55
85.2k
    static void add(BitmapValue& res, const BitmapValue& data, bool& is_first) {
56
85.2k
        if (UNLIKELY(is_first)) {
57
1.16k
            res = data;
58
1.16k
            is_first = false;
59
84.0k
        } else {
60
84.0k
            res |= data;
61
84.0k
        }
62
85.2k
    }
63
64
57.3k
    static void add_batch(BitmapValue& res, std::vector<const BitmapValue*>& data, bool& is_first) {
65
57.3k
        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
57.3k
        is_first = false;
69
57.3k
    }
70
71
42.8k
    static void merge(BitmapValue& res, const BitmapValue& data, bool& is_first) {
72
42.8k
        if (UNLIKELY(is_first)) {
73
40.7k
            res = data;
74
40.7k
            is_first = false;
75
40.7k
        } else {
76
2.14k
            res |= data;
77
2.14k
        }
78
42.8k
    }
79
};
80
81
struct AggregateFunctionBitmapIntersectOp {
82
    static constexpr auto name = "bitmap_intersect";
83
84
5.69k
    static void add(BitmapValue& res, const BitmapValue& data, bool& is_first) {
85
5.69k
        if (UNLIKELY(is_first)) {
86
1.68k
            res = data;
87
1.68k
            is_first = false;
88
4.01k
        } else {
89
4.01k
            res &= data;
90
4.01k
        }
91
5.69k
    }
92
93
241
    static void merge(BitmapValue& res, const BitmapValue& data, bool& is_first) {
94
241
        if (UNLIKELY(is_first)) {
95
127
            res = data;
96
127
            is_first = false;
97
127
        } else {
98
114
            res &= data;
99
114
        }
100
241
    }
101
};
102
103
struct AggregateFunctionGroupBitmapXorOp {
104
    static constexpr auto name = "group_bitmap_xor";
105
106
281
    static void add(BitmapValue& res, const BitmapValue& data, bool& is_first) {
107
281
        if (UNLIKELY(is_first)) {
108
214
            res = data;
109
214
            is_first = false;
110
214
        } else {
111
67
            res ^= data;
112
67
        }
113
281
    }
114
115
189
    static void merge(BitmapValue& res, const BitmapValue& data, bool& is_first) {
116
189
        if (UNLIKELY(is_first)) {
117
81
            res = data;
118
81
            is_first = false;
119
108
        } else {
120
108
            res ^= data;
121
108
        }
122
189
    }
123
};
124
125
template <typename Op>
126
struct AggregateFunctionBitmapData {
127
    BitmapValue value;
128
    bool is_first = true;
129
130
    template <typename T>
131
97.7k
    void add(const T& data) {
132
97.7k
        Op::add(value, data, is_first);
133
97.7k
    }
_ZN5doris27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEE3addINS_11BitmapValueEEEvRKT_
Line
Count
Source
131
85.1k
    void add(const T& data) {
132
85.1k
        Op::add(value, data, is_first);
133
85.1k
    }
_ZN5doris27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEE3addIaEEvRKT_
Line
Count
Source
131
1.62k
    void add(const T& data) {
132
1.62k
        Op::add(value, data, is_first);
133
1.62k
    }
_ZN5doris27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEE3addIsEEvRKT_
Line
Count
Source
131
1.65k
    void add(const T& data) {
132
1.65k
        Op::add(value, data, is_first);
133
1.65k
    }
_ZN5doris27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEE3addIiEEvRKT_
Line
Count
Source
131
1.75k
    void add(const T& data) {
132
1.75k
        Op::add(value, data, is_first);
133
1.75k
    }
_ZN5doris27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEE3addIlEEvRKT_
Line
Count
Source
131
1.52k
    void add(const T& data) {
132
1.52k
        Op::add(value, data, is_first);
133
1.52k
    }
_ZN5doris27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEE3addINS_11BitmapValueEEEvRKT_
Line
Count
Source
131
5.69k
    void add(const T& data) {
132
5.69k
        Op::add(value, data, is_first);
133
5.69k
    }
_ZN5doris27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEE3addINS_11BitmapValueEEEvRKT_
Line
Count
Source
131
281
    void add(const T& data) {
132
281
        Op::add(value, data, is_first);
133
281
    }
134
135
57.2k
    void add_batch(std::vector<const BitmapValue*>& data) { Op::add_batch(value, data, is_first); }
136
137
43.2k
    void merge(const BitmapValue& data) { Op::merge(value, data, is_first); }
_ZN5doris27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEE5mergeERKNS_11BitmapValueE
Line
Count
Source
137
42.8k
    void merge(const BitmapValue& data) { Op::merge(value, data, is_first); }
_ZN5doris27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEE5mergeERKNS_11BitmapValueE
Line
Count
Source
137
241
    void merge(const BitmapValue& data) { Op::merge(value, data, is_first); }
_ZN5doris27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEE5mergeERKNS_11BitmapValueE
Line
Count
Source
137
189
    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.9k
    void reset() {
144
16.9k
        is_first = true;
145
16.9k
        value.reset(); // it's better to call reset function by self firstly.
146
16.9k
    }
_ZN5doris27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEE5resetEv
Line
Count
Source
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_34AggregateFunctionBitmapIntersectOpEE5resetEv
Line
Count
Source
143
56
    void reset() {
144
56
        is_first = true;
145
56
        value.reset(); // it's better to call reset function by self firstly.
146
56
    }
_ZN5doris27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEE5resetEv
Line
Count
Source
143
38
    void reset() {
144
38
        is_first = true;
145
38
        value.reset(); // it's better to call reset function by self firstly.
146
38
    }
147
148
    BitmapValue& get() { return value; }
149
150
58.6k
    const BitmapValue& get() const { return value; }
_ZNK5doris27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEE3getEv
Line
Count
Source
150
57.0k
    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.79k
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISE_EE
Line
Count
Source
160
40
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISE_EE
Line
Count
Source
160
460
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISE_EE
Line
Count
Source
160
17
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISE_EE
Line
Count
Source
160
20
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISE_EE
Line
Count
Source
160
287
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISE_EE
Line
Count
Source
160
6
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISE_EE
Line
Count
Source
160
14
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISE_EE
Line
Count
Source
160
14
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISE_EE
Line
Count
Source
160
19
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISE_EE
Line
Count
Source
160
6
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_25AggregateFunctionBitmapOpIS2_EEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
160
2.63k
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEEENS_25AggregateFunctionBitmapOpIS2_EEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
160
973
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
_ZN5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEEENS_25AggregateFunctionBitmapOpIS2_EEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISB_EE
Line
Count
Source
160
297
            : IAggregateFunctionDataHelper<Data, Derived>(argument_types_) {}
161
162
    void streaming_agg_serialize_to_column(const IColumn** columns, MutableColumnPtr& dst,
163
114
                                           const size_t num_rows, Arena& arena) const override {
164
114
        auto& col = assert_cast<ColumnBitmap&>(*dst);
165
114
        char place[sizeof(Data)];
166
114
        col.resize(num_rows);
167
114
        auto* data = col.get_data().data();
168
2.33k
        for (size_t i = 0; i != num_rows; ++i) {
169
2.22k
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->create(place);
170
2.22k
            DEFER({
171
2.22k
                assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->destroy(place);
172
2.22k
            });
173
2.22k
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->add(place, columns, i,
174
2.22k
                                                                                arena);
175
2.22k
            data[i] = std::move(this->data(place).value);
176
2.22k
        }
177
114
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWISA_E11mutable_ptrISA_EEmRNS_5ArenaE
Line
Count
Source
163
1
                                           const size_t num_rows, Arena& arena) const override {
164
1
        auto& col = assert_cast<ColumnBitmap&>(*dst);
165
1
        char place[sizeof(Data)];
166
1
        col.resize(num_rows);
167
1
        auto* data = col.get_data().data();
168
4
        for (size_t i = 0; i != num_rows; ++i) {
169
3
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->create(place);
170
3
            DEFER({
171
3
                assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->destroy(place);
172
3
            });
173
3
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->add(place, columns, i,
174
3
                                                                                arena);
175
3
            data[i] = std::move(this->data(place).value);
176
3
        }
177
1
    }
_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
118
        for (size_t i = 0; i != num_rows; ++i) {
169
109
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->create(place);
170
109
            DEFER({
171
109
                assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->destroy(place);
172
109
            });
173
109
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->add(place, columns, i,
174
109
                                                                                arena);
175
109
            data[i] = std::move(this->data(place).value);
176
109
        }
177
9
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWISA_E11mutable_ptrISA_EEmRNS_5ArenaE
Line
Count
Source
163
6
                                           const size_t num_rows, Arena& arena) const override {
164
6
        auto& col = assert_cast<ColumnBitmap&>(*dst);
165
6
        char place[sizeof(Data)];
166
6
        col.resize(num_rows);
167
6
        auto* data = col.get_data().data();
168
228
        for (size_t i = 0; i != num_rows; ++i) {
169
222
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->create(place);
170
222
            DEFER({
171
222
                assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->destroy(place);
172
222
            });
173
222
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->add(place, columns, i,
174
222
                                                                                arena);
175
222
            data[i] = std::move(this->data(place).value);
176
222
        }
177
6
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWISA_E11mutable_ptrISA_EEmRNS_5ArenaE
Line
Count
Source
163
6
                                           const size_t num_rows, Arena& arena) const override {
164
6
        auto& col = assert_cast<ColumnBitmap&>(*dst);
165
6
        char place[sizeof(Data)];
166
6
        col.resize(num_rows);
167
6
        auto* data = col.get_data().data();
168
228
        for (size_t i = 0; i != num_rows; ++i) {
169
222
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->create(place);
170
222
            DEFER({
171
222
                assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->destroy(place);
172
222
            });
173
222
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->add(place, columns, i,
174
222
                                                                                arena);
175
222
            data[i] = std::move(this->data(place).value);
176
222
        }
177
6
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWISA_E11mutable_ptrISA_EEmRNS_5ArenaE
Line
Count
Source
163
15
                                           const size_t num_rows, Arena& arena) const override {
164
15
        auto& col = assert_cast<ColumnBitmap&>(*dst);
165
15
        char place[sizeof(Data)];
166
15
        col.resize(num_rows);
167
15
        auto* data = col.get_data().data();
168
341
        for (size_t i = 0; i != num_rows; ++i) {
169
326
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->create(place);
170
326
            DEFER({
171
326
                assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->destroy(place);
172
326
            });
173
326
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->add(place, columns, i,
174
326
                                                                                arena);
175
326
            data[i] = std::move(this->data(place).value);
176
326
        }
177
15
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWISA_E11mutable_ptrISA_EEmRNS_5ArenaE
Line
Count
Source
163
6
                                           const size_t num_rows, Arena& arena) const override {
164
6
        auto& col = assert_cast<ColumnBitmap&>(*dst);
165
6
        char place[sizeof(Data)];
166
6
        col.resize(num_rows);
167
6
        auto* data = col.get_data().data();
168
228
        for (size_t i = 0; i != num_rows; ++i) {
169
222
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->create(place);
170
222
            DEFER({
171
222
                assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->destroy(place);
172
222
            });
173
222
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->add(place, columns, i,
174
222
                                                                                arena);
175
222
            data[i] = std::move(this->data(place).value);
176
222
        }
177
6
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWISA_E11mutable_ptrISA_EEmRNS_5ArenaE
Line
Count
Source
163
5
                                           const size_t num_rows, Arena& arena) const override {
164
5
        auto& col = assert_cast<ColumnBitmap&>(*dst);
165
5
        char place[sizeof(Data)];
166
5
        col.resize(num_rows);
167
5
        auto* data = col.get_data().data();
168
221
        for (size_t i = 0; i != num_rows; ++i) {
169
216
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->create(place);
170
216
            DEFER({
171
216
                assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->destroy(place);
172
216
            });
173
216
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->add(place, columns, i,
174
216
                                                                                arena);
175
216
            data[i] = std::move(this->data(place).value);
176
216
        }
177
5
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWISA_E11mutable_ptrISA_EEmRNS_5ArenaE
Line
Count
Source
163
5
                                           const size_t num_rows, Arena& arena) const override {
164
5
        auto& col = assert_cast<ColumnBitmap&>(*dst);
165
5
        char place[sizeof(Data)];
166
5
        col.resize(num_rows);
167
5
        auto* data = col.get_data().data();
168
221
        for (size_t i = 0; i != num_rows; ++i) {
169
216
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->create(place);
170
216
            DEFER({
171
216
                assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->destroy(place);
172
216
            });
173
216
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->add(place, columns, i,
174
216
                                                                                arena);
175
216
            data[i] = std::move(this->data(place).value);
176
216
        }
177
5
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWISA_E11mutable_ptrISA_EEmRNS_5ArenaE
Line
Count
Source
163
5
                                           const size_t num_rows, Arena& arena) const override {
164
5
        auto& col = assert_cast<ColumnBitmap&>(*dst);
165
5
        char place[sizeof(Data)];
166
5
        col.resize(num_rows);
167
5
        auto* data = col.get_data().data();
168
221
        for (size_t i = 0; i != num_rows; ++i) {
169
216
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->create(place);
170
216
            DEFER({
171
216
                assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->destroy(place);
172
216
            });
173
216
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->add(place, columns, i,
174
216
                                                                                arena);
175
216
            data[i] = std::move(this->data(place).value);
176
216
        }
177
5
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE33streaming_agg_serialize_to_columnEPPKNS_7IColumnERNS_3COWISA_E11mutable_ptrISA_EEmRNS_5ArenaE
Line
Count
Source
163
5
                                           const size_t num_rows, Arena& arena) const override {
164
5
        auto& col = assert_cast<ColumnBitmap&>(*dst);
165
5
        char place[sizeof(Data)];
166
5
        col.resize(num_rows);
167
5
        auto* data = col.get_data().data();
168
221
        for (size_t i = 0; i != num_rows; ++i) {
169
216
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->create(place);
170
216
            DEFER({
171
216
                assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->destroy(place);
172
216
            });
173
216
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->add(place, columns, i,
174
216
                                                                                arena);
175
216
            data[i] = std::move(this->data(place).value);
176
216
        }
177
5
    }
_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
35
                                           const size_t num_rows, Arena& arena) const override {
164
35
        auto& col = assert_cast<ColumnBitmap&>(*dst);
165
35
        char place[sizeof(Data)];
166
35
        col.resize(num_rows);
167
35
        auto* data = col.get_data().data();
168
167
        for (size_t i = 0; i != num_rows; ++i) {
169
132
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->create(place);
170
132
            DEFER({
171
132
                assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->destroy(place);
172
132
            });
173
132
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->add(place, columns, i,
174
132
                                                                                arena);
175
132
            data[i] = std::move(this->data(place).value);
176
132
        }
177
35
    }
_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
114
        for (size_t i = 0; i != num_rows; ++i) {
169
105
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->create(place);
170
105
            DEFER({
171
105
                assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->destroy(place);
172
105
            });
173
105
            assert_cast<const Derived*, TypeCheckOnRelease::DISABLE>(this)->add(place, columns, i,
174
105
                                                                                arena);
175
105
            data[i] = std::move(this->data(place).value);
176
105
        }
177
9
    }
178
179
    void serialize_to_column(const std::vector<AggregateDataPtr>& places, size_t offset,
180
1.28k
                             MutableColumnPtr& dst, const size_t num_rows) const override {
181
1.28k
        auto& col = assert_cast<ColumnBitmap&>(*dst);
182
1.28k
        col.resize(num_rows);
183
1.28k
        auto* data = col.get_data().data();
184
28.7k
        for (size_t i = 0; i != num_rows; ++i) {
185
27.4k
            data[i] = std::move(this->data(places[i] + offset).value);
186
27.4k
        }
187
1.28k
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE19serialize_to_columnERKSt6vectorIPcSaISB_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISH_EEm
Line
Count
Source
180
44
                             MutableColumnPtr& dst, const size_t num_rows) const override {
181
44
        auto& col = assert_cast<ColumnBitmap&>(*dst);
182
44
        col.resize(num_rows);
183
44
        auto* data = col.get_data().data();
184
80
        for (size_t i = 0; i != num_rows; ++i) {
185
36
            data[i] = std::move(this->data(places[i] + offset).value);
186
36
        }
187
44
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE19serialize_to_columnERKSt6vectorIPcSaISB_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISH_EEm
Line
Count
Source
180
305
                             MutableColumnPtr& dst, const size_t num_rows) const override {
181
305
        auto& col = assert_cast<ColumnBitmap&>(*dst);
182
305
        col.resize(num_rows);
183
305
        auto* data = col.get_data().data();
184
602
        for (size_t i = 0; i != num_rows; ++i) {
185
297
            data[i] = std::move(this->data(places[i] + offset).value);
186
297
        }
187
305
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE19serialize_to_columnERKSt6vectorIPcSaISB_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISH_EEm
Line
Count
Source
180
32
                             MutableColumnPtr& dst, const size_t num_rows) const override {
181
32
        auto& col = assert_cast<ColumnBitmap&>(*dst);
182
32
        col.resize(num_rows);
183
32
        auto* data = col.get_data().data();
184
90
        for (size_t i = 0; i != num_rows; ++i) {
185
58
            data[i] = std::move(this->data(places[i] + offset).value);
186
58
        }
187
32
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE19serialize_to_columnERKSt6vectorIPcSaISB_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISH_EEm
Line
Count
Source
180
32
                             MutableColumnPtr& dst, const size_t num_rows) const override {
181
32
        auto& col = assert_cast<ColumnBitmap&>(*dst);
182
32
        col.resize(num_rows);
183
32
        auto* data = col.get_data().data();
184
90
        for (size_t i = 0; i != num_rows; ++i) {
185
58
            data[i] = std::move(this->data(places[i] + offset).value);
186
58
        }
187
32
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE19serialize_to_columnERKSt6vectorIPcSaISB_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISH_EEm
Line
Count
Source
180
32
                             MutableColumnPtr& dst, const size_t num_rows) const override {
181
32
        auto& col = assert_cast<ColumnBitmap&>(*dst);
182
32
        col.resize(num_rows);
183
32
        auto* data = col.get_data().data();
184
90
        for (size_t i = 0; i != num_rows; ++i) {
185
58
            data[i] = std::move(this->data(places[i] + offset).value);
186
58
        }
187
32
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE19serialize_to_columnERKSt6vectorIPcSaISB_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISH_EEm
Line
Count
Source
180
18
                             MutableColumnPtr& dst, const size_t num_rows) const override {
181
18
        auto& col = assert_cast<ColumnBitmap&>(*dst);
182
18
        col.resize(num_rows);
183
18
        auto* data = col.get_data().data();
184
36
        for (size_t i = 0; i != num_rows; ++i) {
185
18
            data[i] = std::move(this->data(places[i] + offset).value);
186
18
        }
187
18
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE19serialize_to_columnERKSt6vectorIPcSaISB_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISH_EEm
Line
Count
Source
180
21
                             MutableColumnPtr& dst, const size_t num_rows) const override {
181
21
        auto& col = assert_cast<ColumnBitmap&>(*dst);
182
21
        col.resize(num_rows);
183
21
        auto* data = col.get_data().data();
184
52
        for (size_t i = 0; i != num_rows; ++i) {
185
31
            data[i] = std::move(this->data(places[i] + offset).value);
186
31
        }
187
21
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE19serialize_to_columnERKSt6vectorIPcSaISB_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISH_EEm
Line
Count
Source
180
21
                             MutableColumnPtr& dst, const size_t num_rows) const override {
181
21
        auto& col = assert_cast<ColumnBitmap&>(*dst);
182
21
        col.resize(num_rows);
183
21
        auto* data = col.get_data().data();
184
52
        for (size_t i = 0; i != num_rows; ++i) {
185
31
            data[i] = std::move(this->data(places[i] + offset).value);
186
31
        }
187
21
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE19serialize_to_columnERKSt6vectorIPcSaISB_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISH_EEm
Line
Count
Source
180
21
                             MutableColumnPtr& dst, const size_t num_rows) const override {
181
21
        auto& col = assert_cast<ColumnBitmap&>(*dst);
182
21
        col.resize(num_rows);
183
21
        auto* data = col.get_data().data();
184
52
        for (size_t i = 0; i != num_rows; ++i) {
185
31
            data[i] = std::move(this->data(places[i] + offset).value);
186
31
        }
187
21
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE19serialize_to_columnERKSt6vectorIPcSaISB_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISH_EEm
Line
Count
Source
180
15
                             MutableColumnPtr& dst, const size_t num_rows) const override {
181
15
        auto& col = assert_cast<ColumnBitmap&>(*dst);
182
15
        col.resize(num_rows);
183
15
        auto* data = col.get_data().data();
184
30
        for (size_t i = 0; i != num_rows; ++i) {
185
15
            data[i] = std::move(this->data(places[i] + offset).value);
186
15
        }
187
15
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_25AggregateFunctionBitmapOpIS2_EEE19serialize_to_columnERKSt6vectorIPcSaIS8_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISE_EEm
Line
Count
Source
180
686
                             MutableColumnPtr& dst, const size_t num_rows) const override {
181
686
        auto& col = assert_cast<ColumnBitmap&>(*dst);
182
686
        col.resize(num_rows);
183
686
        auto* data = col.get_data().data();
184
27.3k
        for (size_t i = 0; i != num_rows; ++i) {
185
26.6k
            data[i] = std::move(this->data(places[i] + offset).value);
186
26.6k
        }
187
686
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEEENS_25AggregateFunctionBitmapOpIS2_EEE19serialize_to_columnERKSt6vectorIPcSaIS8_EEmRNS_3COWINS_7IColumnEE11mutable_ptrISE_EEm
Line
Count
Source
180
36
                             MutableColumnPtr& dst, const size_t num_rows) const override {
181
36
        auto& col = assert_cast<ColumnBitmap&>(*dst);
182
36
        col.resize(num_rows);
183
36
        auto* data = col.get_data().data();
184
96
        for (size_t i = 0; i != num_rows; ++i) {
185
60
            data[i] = std::move(this->data(places[i] + offset).value);
186
60
        }
187
36
    }
_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
928
                                                 Arena&) const override {
192
928
        DCHECK(end <= column.size() && begin <= end)
193
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
194
928
        const auto& col = assert_cast<const ColumnBitmap&>(column);
195
928
        const auto* data = col.get_data().data();
196
3.68k
        for (size_t i = begin; i <= end; ++i) {
197
2.75k
            this->data(place).merge(data[i]);
198
2.75k
        }
199
928
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
191
14
                                                 Arena&) const override {
192
14
        DCHECK(end <= column.size() && begin <= end)
193
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
194
14
        const auto& col = assert_cast<const ColumnBitmap&>(column);
195
14
        const auto* data = col.get_data().data();
196
30
        for (size_t i = begin; i <= end; ++i) {
197
16
            this->data(place).merge(data[i]);
198
16
        }
199
14
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
191
169
                                                 Arena&) const override {
192
169
        DCHECK(end <= column.size() && begin <= end)
193
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
194
169
        const auto& col = assert_cast<const ColumnBitmap&>(column);
195
169
        const auto* data = col.get_data().data();
196
356
        for (size_t i = begin; i <= end; ++i) {
197
187
            this->data(place).merge(data[i]);
198
187
        }
199
169
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
191
22
                                                 Arena&) const override {
192
22
        DCHECK(end <= column.size() && begin <= end)
193
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
194
22
        const auto& col = assert_cast<const ColumnBitmap&>(column);
195
22
        const auto* data = col.get_data().data();
196
269
        for (size_t i = begin; i <= end; ++i) {
197
247
            this->data(place).merge(data[i]);
198
247
        }
199
22
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
191
23
                                                 Arena&) const override {
192
23
        DCHECK(end <= column.size() && begin <= end)
193
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
194
23
        const auto& col = assert_cast<const ColumnBitmap&>(column);
195
23
        const auto* data = col.get_data().data();
196
271
        for (size_t i = begin; i <= end; ++i) {
197
248
            this->data(place).merge(data[i]);
198
248
        }
199
23
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE39deserialize_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
511
        for (size_t i = begin; i <= end; ++i) {
197
368
            this->data(place).merge(data[i]);
198
368
        }
199
143
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
191
12
                                                 Arena&) const override {
192
12
        DCHECK(end <= column.size() && begin <= end)
193
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
194
12
        const auto& col = assert_cast<const ColumnBitmap&>(column);
195
12
        const auto* data = col.get_data().data();
196
240
        for (size_t i = begin; i <= end; ++i) {
197
228
            this->data(place).merge(data[i]);
198
228
        }
199
12
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
191
20
                                                 Arena&) const override {
192
20
        DCHECK(end <= column.size() && begin <= end)
193
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
194
20
        const auto& col = assert_cast<const ColumnBitmap&>(column);
195
20
        const auto* data = col.get_data().data();
196
259
        for (size_t i = begin; i <= end; ++i) {
197
239
            this->data(place).merge(data[i]);
198
239
        }
199
20
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
191
19
                                                 Arena&) const override {
192
19
        DCHECK(end <= column.size() && begin <= end)
193
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
194
19
        const auto& col = assert_cast<const ColumnBitmap&>(column);
195
19
        const auto* data = col.get_data().data();
196
257
        for (size_t i = begin; i <= end; ++i) {
197
238
            this->data(place).merge(data[i]);
198
238
        }
199
19
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
191
20
                                                 Arena&) const override {
192
20
        DCHECK(end <= column.size() && begin <= end)
193
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
194
20
        const auto& col = assert_cast<const ColumnBitmap&>(column);
195
20
        const auto* data = col.get_data().data();
196
259
        for (size_t i = begin; i <= end; ++i) {
197
239
            this->data(place).merge(data[i]);
198
239
        }
199
20
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE39deserialize_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
231
        for (size_t i = begin; i <= end; ++i) {
197
221
            this->data(place).merge(data[i]);
198
221
        }
199
10
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_25AggregateFunctionBitmapOpIS2_EEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
191
146
                                                 Arena&) const override {
192
146
        DCHECK(end <= column.size() && begin <= end)
193
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
194
146
        const auto& col = assert_cast<const ColumnBitmap&>(column);
195
146
        const auto* data = col.get_data().data();
196
309
        for (size_t i = begin; i <= end; ++i) {
197
163
            this->data(place).merge(data[i]);
198
163
        }
199
146
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEEENS_25AggregateFunctionBitmapOpIS2_EEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
191
189
                                                 Arena&) const override {
192
189
        DCHECK(end <= column.size() && begin <= end)
193
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
194
189
        const auto& col = assert_cast<const ColumnBitmap&>(column);
195
189
        const auto* data = col.get_data().data();
196
395
        for (size_t i = begin; i <= end; ++i) {
197
206
            this->data(place).merge(data[i]);
198
206
        }
199
189
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEEENS_25AggregateFunctionBitmapOpIS2_EEE39deserialize_and_merge_from_column_rangeEPcRKNS_7IColumnEmmRNS_5ArenaE
Line
Count
Source
191
141
                                                 Arena&) const override {
192
141
        DCHECK(end <= column.size() && begin <= end)
193
0
                << ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
194
141
        const auto& col = assert_cast<const ColumnBitmap&>(column);
195
141
        const auto* data = col.get_data().data();
196
299
        for (size_t i = begin; i <= end; ++i) {
197
158
            this->data(place).merge(data[i]);
198
158
        }
199
141
    }
200
201
    void deserialize_and_merge_vec(const AggregateDataPtr* places, size_t offset,
202
                                   AggregateDataPtr rhs, const IColumn* column, Arena&,
203
740
                                   const size_t num_rows) const override {
204
740
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
205
740
        const auto* data = col.get_data().data();
206
41.2k
        for (size_t i = 0; i != num_rows; ++i) {
207
40.5k
            this->data(places[i] + offset).merge(data[i]);
208
40.5k
        }
209
740
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE25deserialize_and_merge_vecEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
203
30
                                   const size_t num_rows) const override {
204
30
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
205
30
        const auto* data = col.get_data().data();
206
64
        for (size_t i = 0; i != num_rows; ++i) {
207
34
            this->data(places[i] + offset).merge(data[i]);
208
34
        }
209
30
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE25deserialize_and_merge_vecEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
203
154
                                   const size_t num_rows) const override {
204
154
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
205
154
        const auto* data = col.get_data().data();
206
424
        for (size_t i = 0; i != num_rows; ++i) {
207
270
            this->data(places[i] + offset).merge(data[i]);
208
270
        }
209
154
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE25deserialize_and_merge_vecEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
203
14
                                   const size_t num_rows) const override {
204
14
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
205
14
        const auto* data = col.get_data().data();
206
47
        for (size_t i = 0; i != num_rows; ++i) {
207
33
            this->data(places[i] + offset).merge(data[i]);
208
33
        }
209
14
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE25deserialize_and_merge_vecEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
203
16
                                   const size_t num_rows) const override {
204
16
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
205
16
        const auto* data = col.get_data().data();
206
49
        for (size_t i = 0; i != num_rows; ++i) {
207
33
            this->data(places[i] + offset).merge(data[i]);
208
33
        }
209
16
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE25deserialize_and_merge_vecEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
203
15
                                   const size_t num_rows) const override {
204
15
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
205
15
        const auto* data = col.get_data().data();
206
48
        for (size_t i = 0; i != num_rows; ++i) {
207
33
            this->data(places[i] + offset).merge(data[i]);
208
33
        }
209
15
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE25deserialize_and_merge_vecEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
203
6
                                   const size_t num_rows) const override {
204
6
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
205
6
        const auto* data = col.get_data().data();
206
12
        for (size_t i = 0; i != num_rows; ++i) {
207
6
            this->data(places[i] + offset).merge(data[i]);
208
6
        }
209
6
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE25deserialize_and_merge_vecEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
203
7
                                   const size_t num_rows) const override {
204
7
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
205
7
        const auto* data = col.get_data().data();
206
16
        for (size_t i = 0; i != num_rows; ++i) {
207
9
            this->data(places[i] + offset).merge(data[i]);
208
9
        }
209
7
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE25deserialize_and_merge_vecEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
203
7
                                   const size_t num_rows) const override {
204
7
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
205
7
        const auto* data = col.get_data().data();
206
16
        for (size_t i = 0; i != num_rows; ++i) {
207
9
            this->data(places[i] + offset).merge(data[i]);
208
9
        }
209
7
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE25deserialize_and_merge_vecEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
203
6
                                   const size_t num_rows) const override {
204
6
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
205
6
        const auto* data = col.get_data().data();
206
15
        for (size_t i = 0; i != num_rows; ++i) {
207
9
            this->data(places[i] + offset).merge(data[i]);
208
9
        }
209
6
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE25deserialize_and_merge_vecEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
203
5
                                   const size_t num_rows) const override {
204
5
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
205
5
        const auto* data = col.get_data().data();
206
10
        for (size_t i = 0; i != num_rows; ++i) {
207
5
            this->data(places[i] + offset).merge(data[i]);
208
5
        }
209
5
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_25AggregateFunctionBitmapOpIS2_EEE25deserialize_and_merge_vecEPKPcmS7_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
203
457
                                   const size_t num_rows) const override {
204
457
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
205
457
        const auto* data = col.get_data().data();
206
40.4k
        for (size_t i = 0; i != num_rows; ++i) {
207
40.0k
            this->data(places[i] + offset).merge(data[i]);
208
40.0k
        }
209
457
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEEENS_25AggregateFunctionBitmapOpIS2_EEE25deserialize_and_merge_vecEPKPcmS7_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
203
13
                                   const size_t num_rows) const override {
204
13
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
205
13
        const auto* data = col.get_data().data();
206
48
        for (size_t i = 0; i != num_rows; ++i) {
207
35
            this->data(places[i] + offset).merge(data[i]);
208
35
        }
209
13
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEEENS_25AggregateFunctionBitmapOpIS2_EEE25deserialize_and_merge_vecEPKPcmS7_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
41
        for (size_t i = 0; i != num_rows; ++i) {
207
31
            this->data(places[i] + offset).merge(data[i]);
208
31
        }
209
10
    }
210
211
    void deserialize_and_merge_vec_selected(const AggregateDataPtr* places, size_t offset,
212
                                            AggregateDataPtr rhs, const IColumn* column, Arena&,
213
46
                                            const size_t num_rows) const override {
214
46
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
215
46
        const auto* data = col.get_data().data();
216
92
        for (size_t i = 0; i != num_rows; ++i) {
217
46
            if (places[i]) {
218
46
                this->data(places[i] + offset).merge(data[i]);
219
46
            }
220
46
        }
221
46
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE34deserialize_and_merge_vec_selectedEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
213
1
                                            const size_t num_rows) const override {
214
1
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
215
1
        const auto* data = col.get_data().data();
216
2
        for (size_t i = 0; i != num_rows; ++i) {
217
1
            if (places[i]) {
218
1
                this->data(places[i] + offset).merge(data[i]);
219
1
            }
220
1
        }
221
1
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE34deserialize_and_merge_vec_selectedEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
213
1
                                            const size_t num_rows) const override {
214
1
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
215
1
        const auto* data = col.get_data().data();
216
2
        for (size_t i = 0; i != num_rows; ++i) {
217
1
            if (places[i]) {
218
1
                this->data(places[i] + offset).merge(data[i]);
219
1
            }
220
1
        }
221
1
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE34deserialize_and_merge_vec_selectedEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
213
6
                                            const size_t num_rows) const override {
214
6
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
215
6
        const auto* data = col.get_data().data();
216
12
        for (size_t i = 0; i != num_rows; ++i) {
217
6
            if (places[i]) {
218
6
                this->data(places[i] + offset).merge(data[i]);
219
6
            }
220
6
        }
221
6
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE34deserialize_and_merge_vec_selectedEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
213
6
                                            const size_t num_rows) const override {
214
6
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
215
6
        const auto* data = col.get_data().data();
216
12
        for (size_t i = 0; i != num_rows; ++i) {
217
6
            if (places[i]) {
218
6
                this->data(places[i] + offset).merge(data[i]);
219
6
            }
220
6
        }
221
6
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE34deserialize_and_merge_vec_selectedEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
213
6
                                            const size_t num_rows) const override {
214
6
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
215
6
        const auto* data = col.get_data().data();
216
12
        for (size_t i = 0; i != num_rows; ++i) {
217
6
            if (places[i]) {
218
6
                this->data(places[i] + offset).merge(data[i]);
219
6
            }
220
6
        }
221
6
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE34deserialize_and_merge_vec_selectedEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
213
6
                                            const size_t num_rows) const override {
214
6
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
215
6
        const auto* data = col.get_data().data();
216
12
        for (size_t i = 0; i != num_rows; ++i) {
217
6
            if (places[i]) {
218
6
                this->data(places[i] + offset).merge(data[i]);
219
6
            }
220
6
        }
221
6
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE34deserialize_and_merge_vec_selectedEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
213
5
                                            const size_t num_rows) const override {
214
5
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
215
5
        const auto* data = col.get_data().data();
216
10
        for (size_t i = 0; i != num_rows; ++i) {
217
5
            if (places[i]) {
218
5
                this->data(places[i] + offset).merge(data[i]);
219
5
            }
220
5
        }
221
5
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE34deserialize_and_merge_vec_selectedEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
213
5
                                            const size_t num_rows) const override {
214
5
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
215
5
        const auto* data = col.get_data().data();
216
10
        for (size_t i = 0; i != num_rows; ++i) {
217
5
            if (places[i]) {
218
5
                this->data(places[i] + offset).merge(data[i]);
219
5
            }
220
5
        }
221
5
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE34deserialize_and_merge_vec_selectedEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
213
5
                                            const size_t num_rows) const override {
214
5
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
215
5
        const auto* data = col.get_data().data();
216
10
        for (size_t i = 0; i != num_rows; ++i) {
217
5
            if (places[i]) {
218
5
                this->data(places[i] + offset).merge(data[i]);
219
5
            }
220
5
        }
221
5
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE34deserialize_and_merge_vec_selectedEPKPcmSA_PKNS_7IColumnERNS_5ArenaEm
Line
Count
Source
213
5
                                            const size_t num_rows) const override {
214
5
        const auto& col = assert_cast<const ColumnBitmap&>(*column);
215
5
        const auto* data = col.get_data().data();
216
10
        for (size_t i = 0; i != num_rows; ++i) {
217
5
            if (places[i]) {
218
5
                this->data(places[i] + offset).merge(data[i]);
219
5
            }
220
5
        }
221
5
    }
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
521
                                         IColumn& to) const override {
225
521
        auto& col = assert_cast<ColumnBitmap&>(to);
226
521
        size_t old_size = col.size();
227
521
        col.resize(old_size + 1);
228
521
        col.get_data()[old_size] = std::move(this->data(place).value);
229
521
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
224
13
                                         IColumn& to) const override {
225
13
        auto& col = assert_cast<ColumnBitmap&>(to);
226
13
        size_t old_size = col.size();
227
13
        col.resize(old_size + 1);
228
13
        col.get_data()[old_size] = std::move(this->data(place).value);
229
13
    }
_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
12
                                         IColumn& to) const override {
225
12
        auto& col = assert_cast<ColumnBitmap&>(to);
226
12
        size_t old_size = col.size();
227
12
        col.resize(old_size + 1);
228
12
        col.get_data()[old_size] = std::move(this->data(place).value);
229
12
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
224
13
                                         IColumn& to) const override {
225
13
        auto& col = assert_cast<ColumnBitmap&>(to);
226
13
        size_t old_size = col.size();
227
13
        col.resize(old_size + 1);
228
13
        col.get_data()[old_size] = std::move(this->data(place).value);
229
13
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
224
64
                                         IColumn& to) const override {
225
64
        auto& col = assert_cast<ColumnBitmap&>(to);
226
64
        size_t old_size = col.size();
227
64
        col.resize(old_size + 1);
228
64
        col.get_data()[old_size] = std::move(this->data(place).value);
229
64
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE31serialize_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_13PrimitiveTypeE3EEEEEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
224
11
                                         IColumn& to) const override {
225
11
        auto& col = assert_cast<ColumnBitmap&>(to);
226
11
        size_t old_size = col.size();
227
11
        col.resize(old_size + 1);
228
11
        col.get_data()[old_size] = std::move(this->data(place).value);
229
11
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
224
11
                                         IColumn& to) const override {
225
11
        auto& col = assert_cast<ColumnBitmap&>(to);
226
11
        size_t old_size = col.size();
227
11
        col.resize(old_size + 1);
228
11
        col.get_data()[old_size] = std::move(this->data(place).value);
229
11
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
224
11
                                         IColumn& to) const override {
225
11
        auto& col = assert_cast<ColumnBitmap&>(to);
226
11
        size_t old_size = col.size();
227
11
        col.resize(old_size + 1);
228
11
        col.get_data()[old_size] = std::move(this->data(place).value);
229
11
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE31serialize_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_25AggregateFunctionBitmapOpIS2_EEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
224
122
                                         IColumn& to) const override {
225
122
        auto& col = assert_cast<ColumnBitmap&>(to);
226
122
        size_t old_size = col.size();
227
122
        col.resize(old_size + 1);
228
122
        col.get_data()[old_size] = std::move(this->data(place).value);
229
122
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEEENS_25AggregateFunctionBitmapOpIS2_EEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
224
98
                                         IColumn& to) const override {
225
98
        auto& col = assert_cast<ColumnBitmap&>(to);
226
98
        size_t old_size = col.size();
227
98
        col.resize(old_size + 1);
228
98
        col.get_data()[old_size] = std::move(this->data(place).value);
229
98
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEEENS_25AggregateFunctionBitmapOpIS2_EEE31serialize_without_key_to_columnEPKcRNS_7IColumnE
Line
Count
Source
224
64
                                         IColumn& to) const override {
225
64
        auto& col = assert_cast<ColumnBitmap&>(to);
226
64
        size_t old_size = col.size();
227
64
        col.resize(old_size + 1);
228
64
        col.get_data()[old_size] = std::move(this->data(place).value);
229
64
    }
230
231
2.98k
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
232
2.98k
        return ColumnBitmap::create();
233
2.98k
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE23create_serialize_columnEv
Line
Count
Source
231
58
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
232
58
        return ColumnBitmap::create();
233
58
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE23create_serialize_columnEv
Line
Count
Source
231
565
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
232
565
        return ColumnBitmap::create();
233
565
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE23create_serialize_columnEv
Line
Count
Source
231
50
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
232
50
        return ColumnBitmap::create();
233
50
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE23create_serialize_columnEv
Line
Count
Source
231
51
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
232
51
        return ColumnBitmap::create();
233
51
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE23create_serialize_columnEv
Line
Count
Source
231
285
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
232
285
        return ColumnBitmap::create();
233
285
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE23create_serialize_columnEv
Line
Count
Source
231
30
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
232
30
        return ColumnBitmap::create();
233
30
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEEE23create_serialize_columnEv
Line
Count
Source
231
37
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
232
37
        return ColumnBitmap::create();
233
37
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEEE23create_serialize_columnEv
Line
Count
Source
231
37
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
232
37
        return ColumnBitmap::create();
233
37
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEEE23create_serialize_columnEv
Line
Count
Source
231
37
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
232
37
        return ColumnBitmap::create();
233
37
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE23create_serialize_columnEv
Line
Count
Source
231
25
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
232
25
        return ColumnBitmap::create();
233
25
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_25AggregateFunctionBitmapOpIS2_EEE23create_serialize_columnEv
Line
Count
Source
231
959
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
232
959
        return ColumnBitmap::create();
233
959
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEEENS_25AggregateFunctionBitmapOpIS2_EEE23create_serialize_columnEv
Line
Count
Source
231
585
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
232
585
        return ColumnBitmap::create();
233
585
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEEENS_25AggregateFunctionBitmapOpIS2_EEE23create_serialize_columnEv
Line
Count
Source
231
268
    [[nodiscard]] MutableColumnPtr create_serialize_column() const override {
232
268
        return ColumnBitmap::create();
233
268
    }
234
235
3.07k
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
236
3.07k
        return std::make_shared<DataTypeBitMap>();
237
3.07k
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE19get_serialized_typeEv
Line
Count
Source
235
53
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
236
53
        return std::make_shared<DataTypeBitMap>();
237
53
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEEE19get_serialized_typeEv
Line
Count
Source
235
607
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
236
607
        return std::make_shared<DataTypeBitMap>();
237
607
    }
_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
284
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
236
284
        return std::make_shared<DataTypeBitMap>();
237
284
    }
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
12
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
236
12
        return std::make_shared<DataTypeBitMap>();
237
12
    }
Unexecuted instantiation: _ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEEE19get_serialized_typeEv
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_30AggregateFunctionBitmapUnionOpEEENS_25AggregateFunctionBitmapOpIS2_EEE19get_serialized_typeEv
Line
Count
Source
235
1.06k
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
236
1.06k
        return std::make_shared<DataTypeBitMap>();
237
1.06k
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_34AggregateFunctionBitmapIntersectOpEEENS_25AggregateFunctionBitmapOpIS2_EEE19get_serialized_typeEv
Line
Count
Source
235
702
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
236
702
        return std::make_shared<DataTypeBitMap>();
237
702
    }
_ZNK5doris42AggregateFunctionBitmapSerializationHelperINS_27AggregateFunctionBitmapDataINS_33AggregateFunctionGroupBitmapXorOpEEENS_25AggregateFunctionBitmapOpIS2_EEE19get_serialized_typeEv
Line
Count
Source
235
289
    [[nodiscard]] DataTypePtr get_serialized_type() const override {
236
289
        return std::make_shared<DataTypeBitMap>();
237
289
    }
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
145
    String get_name() const override { return Op::name; }
_ZNK5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEE8get_nameB5cxx11Ev
Line
Count
Source
254
35
    String get_name() const override { return Op::name; }
_ZNK5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEE8get_nameB5cxx11Ev
Line
Count
Source
254
79
    String get_name() const override { return Op::name; }
_ZNK5doris25AggregateFunctionBitmapOpINS_33AggregateFunctionGroupBitmapXorOpEE8get_nameB5cxx11Ev
Line
Count
Source
254
31
    String get_name() const override { return Op::name; }
255
256
    AggregateFunctionBitmapOp(const DataTypes& argument_types_)
257
3.90k
            : AggregateFunctionBitmapSerializationHelper<AggregateFunctionBitmapData<Op>,
258
3.90k
                                                         AggregateFunctionBitmapOp<Op>>(
259
3.90k
                      argument_types_) {}
_ZN5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
257
2.63k
            : AggregateFunctionBitmapSerializationHelper<AggregateFunctionBitmapData<Op>,
258
2.63k
                                                         AggregateFunctionBitmapOp<Op>>(
259
2.63k
                      argument_types_) {}
_ZN5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
257
973
            : AggregateFunctionBitmapSerializationHelper<AggregateFunctionBitmapData<Op>,
258
973
                                                         AggregateFunctionBitmapOp<Op>>(
259
973
                      argument_types_) {}
_ZN5doris25AggregateFunctionBitmapOpINS_33AggregateFunctionGroupBitmapXorOpEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
257
297
            : AggregateFunctionBitmapSerializationHelper<AggregateFunctionBitmapData<Op>,
258
297
                                                         AggregateFunctionBitmapOp<Op>>(
259
297
                      argument_types_) {}
260
261
4.83k
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeBitMap>(); }
_ZNK5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEE15get_return_typeEv
Line
Count
Source
261
4.22k
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeBitMap>(); }
_ZNK5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEE15get_return_typeEv
Line
Count
Source
261
469
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeBitMap>(); }
_ZNK5doris25AggregateFunctionBitmapOpINS_33AggregateFunctionGroupBitmapXorOpEE15get_return_typeEv
Line
Count
Source
261
141
    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
95.4k
             Arena&) const override {
265
95.4k
        const auto& column =
266
95.4k
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
267
95.4k
        this->data(place).add(column.get_data()[row_num]);
268
95.4k
    }
_ZNK5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
264
89.4k
             Arena&) const override {
265
89.4k
        const auto& column =
266
89.4k
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
267
89.4k
        this->data(place).add(column.get_data()[row_num]);
268
89.4k
    }
_ZNK5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
264
5.69k
             Arena&) const override {
265
5.69k
        const auto& column =
266
5.69k
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
267
5.69k
        this->data(place).add(column.get_data()[row_num]);
268
5.69k
    }
_ZNK5doris25AggregateFunctionBitmapOpINS_33AggregateFunctionGroupBitmapXorOpEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
264
283
             Arena&) const override {
265
283
        const auto& column =
266
283
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
267
283
        this->data(place).add(column.get_data()[row_num]);
268
283
    }
269
270
    void add_many(AggregateDataPtr __restrict place, const IColumn** columns,
271
39.7k
                  std::vector<int>& rows, Arena&) const override {
272
        // now this only for bitmap_union function
273
39.7k
        if constexpr (std::is_same_v<Op, AggregateFunctionBitmapUnionOp>) {
274
39.7k
            const auto& column =
275
39.7k
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
276
39.7k
            std::vector<const BitmapValue*> values;
277
39.7k
            for (auto row : rows) {
278
37.4k
                values.push_back(&(column.get_data()[row]));
279
37.4k
            }
280
39.7k
            this->data(place).add_batch(values);
281
39.7k
        }
282
39.7k
    }
_ZNK5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEE8add_manyEPcPPKNS_7IColumnERSt6vectorIiSaIiEERNS_5ArenaE
Line
Count
Source
271
39.7k
                  std::vector<int>& rows, Arena&) const override {
272
        // now this only for bitmap_union function
273
39.7k
        if constexpr (std::is_same_v<Op, AggregateFunctionBitmapUnionOp>) {
274
39.7k
            const auto& column =
275
39.7k
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
276
39.7k
            std::vector<const BitmapValue*> values;
277
39.7k
            for (auto row : rows) {
278
37.4k
                values.push_back(&(column.get_data()[row]));
279
37.4k
            }
280
39.7k
            this->data(place).add_batch(values);
281
39.7k
        }
282
39.7k
    }
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.5k
            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.5k
            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
57.8k
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
317
57.8k
        auto& column = assert_cast<ColVecResult&, TypeCheckOnRelease::DISABLE>(to);
318
57.8k
        column.get_data().push_back(this->data(place).get());
319
57.8k
    }
_ZNK5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
316
56.2k
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
317
56.2k
        auto& column = assert_cast<ColVecResult&, TypeCheckOnRelease::DISABLE>(to);
318
56.2k
        column.get_data().push_back(this->data(place).get());
319
56.2k
    }
_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.8k
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
_ZNK5doris25AggregateFunctionBitmapOpINS_30AggregateFunctionBitmapUnionOpEE5resetEPc
Line
Count
Source
321
16.7k
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
_ZNK5doris25AggregateFunctionBitmapOpINS_34AggregateFunctionBitmapIntersectOpEE5resetEPc
Line
Count
Source
321
56
    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
883
            : AggregateFunctionBitmapSerializationHelper<
339
883
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
340
883
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
_ZN5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
338
40
            : AggregateFunctionBitmapSerializationHelper<
339
40
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
340
40
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
_ZN5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
338
460
            : AggregateFunctionBitmapSerializationHelper<
339
460
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
340
460
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
_ZN5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
338
17
            : AggregateFunctionBitmapSerializationHelper<
339
17
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
340
17
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
_ZN5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
338
20
            : AggregateFunctionBitmapSerializationHelper<
339
20
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
340
20
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
_ZN5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
338
287
            : AggregateFunctionBitmapSerializationHelper<
339
287
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
340
287
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
_ZN5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
338
6
            : AggregateFunctionBitmapSerializationHelper<
339
6
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
340
6
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
_ZN5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
338
14
            : AggregateFunctionBitmapSerializationHelper<
339
14
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
340
14
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
_ZN5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
338
14
            : AggregateFunctionBitmapSerializationHelper<
339
14
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
340
14
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
_ZN5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
338
19
            : AggregateFunctionBitmapSerializationHelper<
339
19
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
340
19
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
_ZN5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
338
6
            : AggregateFunctionBitmapSerializationHelper<
339
6
                      AggregateFunctionBitmapData<AggregateFunctionBitmapUnionOp>,
340
6
                      AggregateFunctionBitmapCount<arg_is_nullable, ColVecType>>(argument_types_) {}
341
342
139
    String get_name() const override {
343
139
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
344
65
            return "bitmap_union_count";
345
74
        } else {
346
74
            return "bitmap_union_int";
347
74
        }
348
139
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE8get_nameB5cxx11Ev
Line
Count
Source
342
11
    String get_name() const override {
343
11
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
344
11
            return "bitmap_union_count";
345
        } else {
346
            return "bitmap_union_int";
347
        }
348
11
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE8get_nameB5cxx11Ev
Line
Count
Source
342
54
    String get_name() const override {
343
54
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
344
54
            return "bitmap_union_count";
345
        } else {
346
            return "bitmap_union_int";
347
        }
348
54
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE8get_nameB5cxx11Ev
Line
Count
Source
342
6
    String get_name() const override {
343
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
344
            return "bitmap_union_count";
345
6
        } else {
346
6
            return "bitmap_union_int";
347
6
        }
348
6
    }
_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
26
    String get_name() const override {
343
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
344
            return "bitmap_union_count";
345
26
        } else {
346
26
            return "bitmap_union_int";
347
26
        }
348
26
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE8get_nameB5cxx11Ev
Line
Count
Source
342
6
    String get_name() const override {
343
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
344
            return "bitmap_union_count";
345
6
        } else {
346
6
            return "bitmap_union_int";
347
6
        }
348
6
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE8get_nameB5cxx11Ev
Line
Count
Source
342
5
    String get_name() const override {
343
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
344
            return "bitmap_union_count";
345
5
        } else {
346
5
            return "bitmap_union_int";
347
5
        }
348
5
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE8get_nameB5cxx11Ev
Line
Count
Source
342
5
    String get_name() const override {
343
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
344
            return "bitmap_union_count";
345
5
        } else {
346
5
            return "bitmap_union_int";
347
5
        }
348
5
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE8get_nameB5cxx11Ev
Line
Count
Source
342
5
    String get_name() const override {
343
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
344
            return "bitmap_union_count";
345
5
        } else {
346
5
            return "bitmap_union_int";
347
5
        }
348
5
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE8get_nameB5cxx11Ev
Line
Count
Source
342
5
    String get_name() const override {
343
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
344
            return "bitmap_union_count";
345
5
        } else {
346
5
            return "bitmap_union_int";
347
5
        }
348
5
    }
349
350
1.50k
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE15get_return_typeEv
Line
Count
Source
350
154
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE15get_return_typeEv
Line
Count
Source
350
816
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE15get_return_typeEv
Line
Count
Source
350
75
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE15get_return_typeEv
Line
Count
Source
350
94
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE15get_return_typeEv
Line
Count
Source
350
90
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE15get_return_typeEv
Line
Count
Source
350
42
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE15get_return_typeEv
Line
Count
Source
350
57
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE15get_return_typeEv
Line
Count
Source
350
57
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE15get_return_typeEv
Line
Count
Source
350
81
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE15get_return_typeEv
Line
Count
Source
350
35
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
351
352
    void add(AggregateDataPtr __restrict place, const IColumn** columns, ssize_t row_num,
353
13.6k
             Arena&) const override {
354
13.6k
        const IColumn* data_column = columns[0];
355
13.6k
        if constexpr (arg_is_nullable) {
356
6.63k
            const auto& nullable_column =
357
6.63k
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
358
6.63k
            if (nullable_column.is_null_at(row_num)) {
359
203
                return;
360
203
            }
361
6.43k
            data_column = &nullable_column.get_nested_column();
362
6.43k
        }
363
0
        const auto& value =
364
13.6k
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*data_column)
365
13.6k
                        .get_data()[row_num];
366
13.6k
        if constexpr (!std::is_same_v<ColVecType, ColumnBitmap>) {
367
            // Match bitmap_agg and to_bitmap before conversion to uint64_t.
368
12.8k
            if (value < 0) {
369
6.04k
                return;
370
6.04k
            }
371
12.8k
        }
372
6.75k
        this->data(place).add(value);
373
13.6k
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
353
64
             Arena&) const override {
354
64
        const IColumn* data_column = columns[0];
355
64
        if constexpr (arg_is_nullable) {
356
64
            const auto& nullable_column =
357
64
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
358
64
            if (nullable_column.is_null_at(row_num)) {
359
8
                return;
360
8
            }
361
56
            data_column = &nullable_column.get_nested_column();
362
56
        }
363
0
        const auto& value =
364
64
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*data_column)
365
64
                        .get_data()[row_num];
366
        if constexpr (!std::is_same_v<ColVecType, ColumnBitmap>) {
367
            // Match bitmap_agg and to_bitmap before conversion to uint64_t.
368
            if (value < 0) {
369
                return;
370
            }
371
        }
372
64
        this->data(place).add(value);
373
64
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
353
764
             Arena&) const override {
354
764
        const IColumn* data_column = columns[0];
355
        if constexpr (arg_is_nullable) {
356
            const auto& nullable_column =
357
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
358
            if (nullable_column.is_null_at(row_num)) {
359
                return;
360
            }
361
            data_column = &nullable_column.get_nested_column();
362
        }
363
764
        const auto& value =
364
764
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*data_column)
365
764
                        .get_data()[row_num];
366
        if constexpr (!std::is_same_v<ColVecType, ColumnBitmap>) {
367
            // Match bitmap_agg and to_bitmap before conversion to uint64_t.
368
            if (value < 0) {
369
                return;
370
            }
371
        }
372
764
        this->data(place).add(value);
373
764
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
353
1.61k
             Arena&) const override {
354
1.61k
        const IColumn* data_column = columns[0];
355
1.61k
        if constexpr (arg_is_nullable) {
356
1.61k
            const auto& nullable_column =
357
1.61k
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
358
1.61k
            if (nullable_column.is_null_at(row_num)) {
359
47
                return;
360
47
            }
361
1.57k
            data_column = &nullable_column.get_nested_column();
362
1.57k
        }
363
0
        const auto& value =
364
1.61k
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*data_column)
365
1.61k
                        .get_data()[row_num];
366
1.61k
        if constexpr (!std::is_same_v<ColVecType, ColumnBitmap>) {
367
            // Match bitmap_agg and to_bitmap before conversion to uint64_t.
368
1.61k
            if (value < 0) {
369
756
                return;
370
756
            }
371
1.61k
        }
372
863
        this->data(place).add(value);
373
1.61k
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
353
1.64k
             Arena&) const override {
354
1.64k
        const IColumn* data_column = columns[0];
355
1.64k
        if constexpr (arg_is_nullable) {
356
1.64k
            const auto& nullable_column =
357
1.64k
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
358
1.64k
            if (nullable_column.is_null_at(row_num)) {
359
49
                return;
360
49
            }
361
1.59k
            data_column = &nullable_column.get_nested_column();
362
1.59k
        }
363
0
        const auto& value =
364
1.64k
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*data_column)
365
1.64k
                        .get_data()[row_num];
366
1.64k
        if constexpr (!std::is_same_v<ColVecType, ColumnBitmap>) {
367
            // Match bitmap_agg and to_bitmap before conversion to uint64_t.
368
1.64k
            if (value < 0) {
369
756
                return;
370
756
            }
371
1.64k
        }
372
890
        this->data(place).add(value);
373
1.64k
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
353
1.75k
             Arena&) const override {
354
1.75k
        const IColumn* data_column = columns[0];
355
1.75k
        if constexpr (arg_is_nullable) {
356
1.75k
            const auto& nullable_column =
357
1.75k
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
358
1.75k
            if (nullable_column.is_null_at(row_num)) {
359
57
                return;
360
57
            }
361
1.69k
            data_column = &nullable_column.get_nested_column();
362
1.69k
        }
363
0
        const auto& value =
364
1.75k
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*data_column)
365
1.75k
                        .get_data()[row_num];
366
1.75k
        if constexpr (!std::is_same_v<ColVecType, ColumnBitmap>) {
367
            // Match bitmap_agg and to_bitmap before conversion to uint64_t.
368
1.75k
            if (value < 0) {
369
756
                return;
370
756
            }
371
1.75k
        }
372
998
        this->data(place).add(value);
373
1.75k
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
353
1.55k
             Arena&) const override {
354
1.55k
        const IColumn* data_column = columns[0];
355
1.55k
        if constexpr (arg_is_nullable) {
356
1.55k
            const auto& nullable_column =
357
1.55k
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
358
1.55k
            if (nullable_column.is_null_at(row_num)) {
359
42
                return;
360
42
            }
361
1.51k
            data_column = &nullable_column.get_nested_column();
362
1.51k
        }
363
0
        const auto& value =
364
1.55k
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*data_column)
365
1.55k
                        .get_data()[row_num];
366
1.55k
        if constexpr (!std::is_same_v<ColVecType, ColumnBitmap>) {
367
            // Match bitmap_agg and to_bitmap before conversion to uint64_t.
368
1.55k
            if (value < 0) {
369
756
                return;
370
756
            }
371
1.55k
        }
372
798
        this->data(place).add(value);
373
1.55k
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
353
1.56k
             Arena&) const override {
354
1.56k
        const IColumn* data_column = columns[0];
355
        if constexpr (arg_is_nullable) {
356
            const auto& nullable_column =
357
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
358
            if (nullable_column.is_null_at(row_num)) {
359
                return;
360
            }
361
            data_column = &nullable_column.get_nested_column();
362
        }
363
1.56k
        const auto& value =
364
1.56k
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*data_column)
365
1.56k
                        .get_data()[row_num];
366
1.56k
        if constexpr (!std::is_same_v<ColVecType, ColumnBitmap>) {
367
            // Match bitmap_agg and to_bitmap before conversion to uint64_t.
368
1.56k
            if (value < 0) {
369
756
                return;
370
756
            }
371
1.56k
        }
372
813
        this->data(place).add(value);
373
1.56k
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
353
1.56k
             Arena&) const override {
354
1.56k
        const IColumn* data_column = columns[0];
355
        if constexpr (arg_is_nullable) {
356
            const auto& nullable_column =
357
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
358
            if (nullable_column.is_null_at(row_num)) {
359
                return;
360
            }
361
            data_column = &nullable_column.get_nested_column();
362
        }
363
1.56k
        const auto& value =
364
1.56k
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*data_column)
365
1.56k
                        .get_data()[row_num];
366
1.56k
        if constexpr (!std::is_same_v<ColVecType, ColumnBitmap>) {
367
            // Match bitmap_agg and to_bitmap before conversion to uint64_t.
368
1.56k
            if (value < 0) {
369
756
                return;
370
756
            }
371
1.56k
        }
372
813
        this->data(place).add(value);
373
1.56k
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
353
1.57k
             Arena&) const override {
354
1.57k
        const IColumn* data_column = columns[0];
355
        if constexpr (arg_is_nullable) {
356
            const auto& nullable_column =
357
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
358
            if (nullable_column.is_null_at(row_num)) {
359
                return;
360
            }
361
            data_column = &nullable_column.get_nested_column();
362
        }
363
1.57k
        const auto& value =
364
1.57k
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*data_column)
365
1.57k
                        .get_data()[row_num];
366
1.57k
        if constexpr (!std::is_same_v<ColVecType, ColumnBitmap>) {
367
            // Match bitmap_agg and to_bitmap before conversion to uint64_t.
368
1.57k
            if (value < 0) {
369
756
                return;
370
756
            }
371
1.57k
        }
372
815
        this->data(place).add(value);
373
1.57k
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
353
1.52k
             Arena&) const override {
354
1.52k
        const IColumn* data_column = columns[0];
355
        if constexpr (arg_is_nullable) {
356
            const auto& nullable_column =
357
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
358
            if (nullable_column.is_null_at(row_num)) {
359
                return;
360
            }
361
            data_column = &nullable_column.get_nested_column();
362
        }
363
1.52k
        const auto& value =
364
1.52k
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*data_column)
365
1.52k
                        .get_data()[row_num];
366
1.52k
        if constexpr (!std::is_same_v<ColVecType, ColumnBitmap>) {
367
            // Match bitmap_agg and to_bitmap before conversion to uint64_t.
368
1.52k
            if (value < 0) {
369
756
                return;
370
756
            }
371
1.52k
        }
372
765
        this->data(place).add(value);
373
1.52k
    }
374
375
    void add_many(AggregateDataPtr __restrict place, const IColumn** columns,
376
166
                  std::vector<int>& rows, Arena&) const override {
377
        // now this only for bitmap_union_count function
378
166
        if constexpr (arg_is_nullable && std::is_same_v<ColVecType, ColumnBitmap>) {
379
30
            const auto& nullable_column =
380
30
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
381
30
            const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
382
30
                    nullable_column.get_nested_column());
383
30
            std::vector<const BitmapValue*> values;
384
46
            for (auto row : rows) {
385
46
                if (!nullable_column.is_null_at(row)) {
386
46
                    values.push_back(&(column.get_data()[row]));
387
46
                }
388
46
            }
389
30
            this->data(place).add_batch(values);
390
136
        } else if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
391
136
            const auto& column =
392
136
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
393
136
            std::vector<const BitmapValue*> values;
394
219
            for (auto row : rows) {
395
219
                values.push_back(&(column.get_data()[row]));
396
219
            }
397
136
            this->data(place).add_batch(values);
398
136
        }
399
166
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE8add_manyEPcPPKNS_7IColumnERSt6vectorIiSaIiEERNS_5ArenaE
Line
Count
Source
376
30
                  std::vector<int>& rows, Arena&) const override {
377
        // now this only for bitmap_union_count function
378
30
        if constexpr (arg_is_nullable && std::is_same_v<ColVecType, ColumnBitmap>) {
379
30
            const auto& nullable_column =
380
30
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
381
30
            const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
382
30
                    nullable_column.get_nested_column());
383
30
            std::vector<const BitmapValue*> values;
384
46
            for (auto row : rows) {
385
46
                if (!nullable_column.is_null_at(row)) {
386
46
                    values.push_back(&(column.get_data()[row]));
387
46
                }
388
46
            }
389
30
            this->data(place).add_batch(values);
390
        } else if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
391
            const auto& column =
392
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
393
            std::vector<const BitmapValue*> values;
394
            for (auto row : rows) {
395
                values.push_back(&(column.get_data()[row]));
396
            }
397
            this->data(place).add_batch(values);
398
        }
399
30
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE8add_manyEPcPPKNS_7IColumnERSt6vectorIiSaIiEERNS_5ArenaE
Line
Count
Source
376
136
                  std::vector<int>& rows, Arena&) const override {
377
        // now this only for bitmap_union_count function
378
        if constexpr (arg_is_nullable && std::is_same_v<ColVecType, ColumnBitmap>) {
379
            const auto& nullable_column =
380
                    assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]);
381
            const auto& column = assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(
382
                    nullable_column.get_nested_column());
383
            std::vector<const BitmapValue*> values;
384
            for (auto row : rows) {
385
                if (!nullable_column.is_null_at(row)) {
386
                    values.push_back(&(column.get_data()[row]));
387
                }
388
            }
389
            this->data(place).add_batch(values);
390
136
        } else if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
391
136
            const auto& column =
392
136
                    assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0]);
393
136
            std::vector<const BitmapValue*> values;
394
219
            for (auto row : rows) {
395
219
                values.push_back(&(column.get_data()[row]));
396
219
            }
397
136
            this->data(place).add_batch(values);
398
136
        }
399
136
    }
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
400
401
    void add_batch_single_place(size_t batch_size, AggregateDataPtr place, const IColumn** columns,
402
351
                                Arena& arena) const override {
403
351
        auto normal_add_lambda = [&]() {
404
11.2k
            for (size_t i = 0; i < batch_size; ++i) {
405
10.9k
                this->add(place, columns, i, arena);
406
10.9k
            }
407
341
        };
_ZZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
Line
Count
Source
403
18
        auto normal_add_lambda = [&]() {
404
55
            for (size_t i = 0; i < batch_size; ++i) {
405
37
                this->add(place, columns, i, arena);
406
37
            }
407
18
        };
_ZZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
Line
Count
Source
403
32
        auto normal_add_lambda = [&]() {
404
317
            for (size_t i = 0; i < batch_size; ++i) {
405
285
                this->add(place, columns, i, arena);
406
285
            }
407
32
        };
_ZZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
Line
Count
Source
403
40
        auto normal_add_lambda = [&]() {
404
1.38k
            for (size_t i = 0; i < batch_size; ++i) {
405
1.34k
                this->add(place, columns, i, arena);
406
1.34k
            }
407
40
        };
_ZZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
Line
Count
Source
403
41
        auto normal_add_lambda = [&]() {
404
1.39k
            for (size_t i = 0; i < batch_size; ++i) {
405
1.35k
                this->add(place, columns, i, arena);
406
1.35k
            }
407
41
        };
_ZZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
Line
Count
Source
403
41
        auto normal_add_lambda = [&]() {
404
1.38k
            for (size_t i = 0; i < batch_size; ++i) {
405
1.34k
                this->add(place, columns, i, arena);
406
1.34k
            }
407
41
        };
_ZZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
Line
Count
Source
403
36
        auto normal_add_lambda = [&]() {
404
1.36k
            for (size_t i = 0; i < batch_size; ++i) {
405
1.33k
                this->add(place, columns, i, arena);
406
1.33k
            }
407
36
        };
_ZZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
Line
Count
Source
403
34
        auto normal_add_lambda = [&]() {
404
1.34k
            for (size_t i = 0; i < batch_size; ++i) {
405
1.30k
                this->add(place, columns, i, arena);
406
1.30k
            }
407
34
        };
_ZZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
Line
Count
Source
403
34
        auto normal_add_lambda = [&]() {
404
1.34k
            for (size_t i = 0; i < batch_size; ++i) {
405
1.30k
                this->add(place, columns, i, arena);
406
1.30k
            }
407
34
        };
_ZZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
Line
Count
Source
403
35
        auto normal_add_lambda = [&]() {
404
1.34k
            for (size_t i = 0; i < batch_size; ++i) {
405
1.30k
                this->add(place, columns, i, arena);
406
1.30k
            }
407
35
        };
_ZZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlvE_clEv
Line
Count
Source
403
30
        auto normal_add_lambda = [&]() {
404
1.32k
            for (size_t i = 0; i < batch_size; ++i) {
405
1.29k
                this->add(place, columns, i, arena);
406
1.29k
            }
407
30
        };
408
409
        // now this only for bitmap_union_count function
410
351
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
411
            // if batch_size is small, the add_batch of fast union seems to be slower than normal add
412
60
            if (batch_size < BATCH_HALF_ROWS) {
413
50
                normal_add_lambda();
414
50
                return;
415
50
            }
416
10
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
417
10
                const auto& column =
418
10
                        assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(data_column);
419
10
                std::vector<const BitmapValue*> values;
420
40.4k
                for (size_t i = 0; i < batch_size; ++i) {
421
40.4k
                    if constexpr (arg_is_nullable) {
422
0
                        if ((*null_map)[i]) {
423
0
                            continue; // skip null value
424
0
                        }
425
0
                    }
426
0
                    values.push_back(&(column.get_data()[i]));
427
40.4k
                }
428
0
                this->data(place).add_batch(values);
429
0
            };
Unexecuted instantiation: _ZZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlRS7_PKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEE_clESC_SJ_
_ZZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaEENKUlRS7_PKNS_8PODArrayIhLm4096ENS_9AllocatorILb0ELb0ELb0ENS_22DefaultMemoryAllocatorELb1EEELm16ELm15EEEE_clESC_SJ_
Line
Count
Source
416
10
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
417
10
                const auto& column =
418
10
                        assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(data_column);
419
10
                std::vector<const BitmapValue*> values;
420
40.4k
                for (size_t i = 0; i < batch_size; ++i) {
421
                    if constexpr (arg_is_nullable) {
422
                        if ((*null_map)[i]) {
423
                            continue; // skip null value
424
                        }
425
                    }
426
40.4k
                    values.push_back(&(column.get_data()[i]));
427
40.4k
                }
428
10
                this->data(place).add_batch(values);
429
10
            };
430
431
10
            if constexpr (arg_is_nullable) {
432
0
                const auto& nullable_column =
433
0
                        assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(
434
0
                                *columns[0]);
435
0
                add_batch_lambda(nullable_column.get_nested_column(),
436
0
                                 &(nullable_column.get_null_map_data()));
437
10
            } else {
438
10
                add_batch_lambda(*columns[0], nullptr);
439
10
            }
440
291
        } else {
441
291
            normal_add_lambda();
442
291
        }
443
351
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
402
18
                                Arena& arena) const override {
403
18
        auto normal_add_lambda = [&]() {
404
18
            for (size_t i = 0; i < batch_size; ++i) {
405
18
                this->add(place, columns, i, arena);
406
18
            }
407
18
        };
408
409
        // now this only for bitmap_union_count function
410
18
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
411
            // if batch_size is small, the add_batch of fast union seems to be slower than normal add
412
18
            if (batch_size < BATCH_HALF_ROWS) {
413
18
                normal_add_lambda();
414
18
                return;
415
18
            }
416
0
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
417
0
                const auto& column =
418
0
                        assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(data_column);
419
0
                std::vector<const BitmapValue*> values;
420
0
                for (size_t i = 0; i < batch_size; ++i) {
421
0
                    if constexpr (arg_is_nullable) {
422
0
                        if ((*null_map)[i]) {
423
0
                            continue; // skip null value
424
0
                        }
425
0
                    }
426
0
                    values.push_back(&(column.get_data()[i]));
427
0
                }
428
0
                this->data(place).add_batch(values);
429
0
            };
430
431
0
            if constexpr (arg_is_nullable) {
432
0
                const auto& nullable_column =
433
0
                        assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(
434
0
                                *columns[0]);
435
0
                add_batch_lambda(nullable_column.get_nested_column(),
436
0
                                 &(nullable_column.get_null_map_data()));
437
            } else {
438
                add_batch_lambda(*columns[0], nullptr);
439
            }
440
        } else {
441
            normal_add_lambda();
442
        }
443
18
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
402
42
                                Arena& arena) const override {
403
42
        auto normal_add_lambda = [&]() {
404
42
            for (size_t i = 0; i < batch_size; ++i) {
405
42
                this->add(place, columns, i, arena);
406
42
            }
407
42
        };
408
409
        // now this only for bitmap_union_count function
410
42
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
411
            // if batch_size is small, the add_batch of fast union seems to be slower than normal add
412
42
            if (batch_size < BATCH_HALF_ROWS) {
413
32
                normal_add_lambda();
414
32
                return;
415
32
            }
416
10
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
417
10
                const auto& column =
418
10
                        assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(data_column);
419
10
                std::vector<const BitmapValue*> values;
420
10
                for (size_t i = 0; i < batch_size; ++i) {
421
10
                    if constexpr (arg_is_nullable) {
422
10
                        if ((*null_map)[i]) {
423
10
                            continue; // skip null value
424
10
                        }
425
10
                    }
426
10
                    values.push_back(&(column.get_data()[i]));
427
10
                }
428
10
                this->data(place).add_batch(values);
429
10
            };
430
431
            if constexpr (arg_is_nullable) {
432
                const auto& nullable_column =
433
                        assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(
434
                                *columns[0]);
435
                add_batch_lambda(nullable_column.get_nested_column(),
436
                                 &(nullable_column.get_null_map_data()));
437
10
            } else {
438
10
                add_batch_lambda(*columns[0], nullptr);
439
10
            }
440
        } else {
441
            normal_add_lambda();
442
        }
443
42
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
402
40
                                Arena& arena) const override {
403
40
        auto normal_add_lambda = [&]() {
404
40
            for (size_t i = 0; i < batch_size; ++i) {
405
40
                this->add(place, columns, i, arena);
406
40
            }
407
40
        };
408
409
        // now this only for bitmap_union_count function
410
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
411
            // if batch_size is small, the add_batch of fast union seems to be slower than normal add
412
            if (batch_size < BATCH_HALF_ROWS) {
413
                normal_add_lambda();
414
                return;
415
            }
416
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
417
                const auto& column =
418
                        assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(data_column);
419
                std::vector<const BitmapValue*> values;
420
                for (size_t i = 0; i < batch_size; ++i) {
421
                    if constexpr (arg_is_nullable) {
422
                        if ((*null_map)[i]) {
423
                            continue; // skip null value
424
                        }
425
                    }
426
                    values.push_back(&(column.get_data()[i]));
427
                }
428
                this->data(place).add_batch(values);
429
            };
430
431
            if constexpr (arg_is_nullable) {
432
                const auto& nullable_column =
433
                        assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(
434
                                *columns[0]);
435
                add_batch_lambda(nullable_column.get_nested_column(),
436
                                 &(nullable_column.get_null_map_data()));
437
            } else {
438
                add_batch_lambda(*columns[0], nullptr);
439
            }
440
40
        } else {
441
40
            normal_add_lambda();
442
40
        }
443
40
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
402
41
                                Arena& arena) const override {
403
41
        auto normal_add_lambda = [&]() {
404
41
            for (size_t i = 0; i < batch_size; ++i) {
405
41
                this->add(place, columns, i, arena);
406
41
            }
407
41
        };
408
409
        // now this only for bitmap_union_count function
410
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
411
            // if batch_size is small, the add_batch of fast union seems to be slower than normal add
412
            if (batch_size < BATCH_HALF_ROWS) {
413
                normal_add_lambda();
414
                return;
415
            }
416
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
417
                const auto& column =
418
                        assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(data_column);
419
                std::vector<const BitmapValue*> values;
420
                for (size_t i = 0; i < batch_size; ++i) {
421
                    if constexpr (arg_is_nullable) {
422
                        if ((*null_map)[i]) {
423
                            continue; // skip null value
424
                        }
425
                    }
426
                    values.push_back(&(column.get_data()[i]));
427
                }
428
                this->data(place).add_batch(values);
429
            };
430
431
            if constexpr (arg_is_nullable) {
432
                const auto& nullable_column =
433
                        assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(
434
                                *columns[0]);
435
                add_batch_lambda(nullable_column.get_nested_column(),
436
                                 &(nullable_column.get_null_map_data()));
437
            } else {
438
                add_batch_lambda(*columns[0], nullptr);
439
            }
440
41
        } else {
441
41
            normal_add_lambda();
442
41
        }
443
41
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
402
41
                                Arena& arena) const override {
403
41
        auto normal_add_lambda = [&]() {
404
41
            for (size_t i = 0; i < batch_size; ++i) {
405
41
                this->add(place, columns, i, arena);
406
41
            }
407
41
        };
408
409
        // now this only for bitmap_union_count function
410
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
411
            // if batch_size is small, the add_batch of fast union seems to be slower than normal add
412
            if (batch_size < BATCH_HALF_ROWS) {
413
                normal_add_lambda();
414
                return;
415
            }
416
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
417
                const auto& column =
418
                        assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(data_column);
419
                std::vector<const BitmapValue*> values;
420
                for (size_t i = 0; i < batch_size; ++i) {
421
                    if constexpr (arg_is_nullable) {
422
                        if ((*null_map)[i]) {
423
                            continue; // skip null value
424
                        }
425
                    }
426
                    values.push_back(&(column.get_data()[i]));
427
                }
428
                this->data(place).add_batch(values);
429
            };
430
431
            if constexpr (arg_is_nullable) {
432
                const auto& nullable_column =
433
                        assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(
434
                                *columns[0]);
435
                add_batch_lambda(nullable_column.get_nested_column(),
436
                                 &(nullable_column.get_null_map_data()));
437
            } else {
438
                add_batch_lambda(*columns[0], nullptr);
439
            }
440
41
        } else {
441
41
            normal_add_lambda();
442
41
        }
443
41
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
402
36
                                Arena& arena) const override {
403
36
        auto normal_add_lambda = [&]() {
404
36
            for (size_t i = 0; i < batch_size; ++i) {
405
36
                this->add(place, columns, i, arena);
406
36
            }
407
36
        };
408
409
        // now this only for bitmap_union_count function
410
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
411
            // if batch_size is small, the add_batch of fast union seems to be slower than normal add
412
            if (batch_size < BATCH_HALF_ROWS) {
413
                normal_add_lambda();
414
                return;
415
            }
416
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
417
                const auto& column =
418
                        assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(data_column);
419
                std::vector<const BitmapValue*> values;
420
                for (size_t i = 0; i < batch_size; ++i) {
421
                    if constexpr (arg_is_nullable) {
422
                        if ((*null_map)[i]) {
423
                            continue; // skip null value
424
                        }
425
                    }
426
                    values.push_back(&(column.get_data()[i]));
427
                }
428
                this->data(place).add_batch(values);
429
            };
430
431
            if constexpr (arg_is_nullable) {
432
                const auto& nullable_column =
433
                        assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(
434
                                *columns[0]);
435
                add_batch_lambda(nullable_column.get_nested_column(),
436
                                 &(nullable_column.get_null_map_data()));
437
            } else {
438
                add_batch_lambda(*columns[0], nullptr);
439
            }
440
36
        } else {
441
36
            normal_add_lambda();
442
36
        }
443
36
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
402
34
                                Arena& arena) const override {
403
34
        auto normal_add_lambda = [&]() {
404
34
            for (size_t i = 0; i < batch_size; ++i) {
405
34
                this->add(place, columns, i, arena);
406
34
            }
407
34
        };
408
409
        // now this only for bitmap_union_count function
410
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
411
            // if batch_size is small, the add_batch of fast union seems to be slower than normal add
412
            if (batch_size < BATCH_HALF_ROWS) {
413
                normal_add_lambda();
414
                return;
415
            }
416
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
417
                const auto& column =
418
                        assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(data_column);
419
                std::vector<const BitmapValue*> values;
420
                for (size_t i = 0; i < batch_size; ++i) {
421
                    if constexpr (arg_is_nullable) {
422
                        if ((*null_map)[i]) {
423
                            continue; // skip null value
424
                        }
425
                    }
426
                    values.push_back(&(column.get_data()[i]));
427
                }
428
                this->data(place).add_batch(values);
429
            };
430
431
            if constexpr (arg_is_nullable) {
432
                const auto& nullable_column =
433
                        assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(
434
                                *columns[0]);
435
                add_batch_lambda(nullable_column.get_nested_column(),
436
                                 &(nullable_column.get_null_map_data()));
437
            } else {
438
                add_batch_lambda(*columns[0], nullptr);
439
            }
440
34
        } else {
441
34
            normal_add_lambda();
442
34
        }
443
34
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
402
34
                                Arena& arena) const override {
403
34
        auto normal_add_lambda = [&]() {
404
34
            for (size_t i = 0; i < batch_size; ++i) {
405
34
                this->add(place, columns, i, arena);
406
34
            }
407
34
        };
408
409
        // now this only for bitmap_union_count function
410
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
411
            // if batch_size is small, the add_batch of fast union seems to be slower than normal add
412
            if (batch_size < BATCH_HALF_ROWS) {
413
                normal_add_lambda();
414
                return;
415
            }
416
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
417
                const auto& column =
418
                        assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(data_column);
419
                std::vector<const BitmapValue*> values;
420
                for (size_t i = 0; i < batch_size; ++i) {
421
                    if constexpr (arg_is_nullable) {
422
                        if ((*null_map)[i]) {
423
                            continue; // skip null value
424
                        }
425
                    }
426
                    values.push_back(&(column.get_data()[i]));
427
                }
428
                this->data(place).add_batch(values);
429
            };
430
431
            if constexpr (arg_is_nullable) {
432
                const auto& nullable_column =
433
                        assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(
434
                                *columns[0]);
435
                add_batch_lambda(nullable_column.get_nested_column(),
436
                                 &(nullable_column.get_null_map_data()));
437
            } else {
438
                add_batch_lambda(*columns[0], nullptr);
439
            }
440
34
        } else {
441
34
            normal_add_lambda();
442
34
        }
443
34
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
402
35
                                Arena& arena) const override {
403
35
        auto normal_add_lambda = [&]() {
404
35
            for (size_t i = 0; i < batch_size; ++i) {
405
35
                this->add(place, columns, i, arena);
406
35
            }
407
35
        };
408
409
        // now this only for bitmap_union_count function
410
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
411
            // if batch_size is small, the add_batch of fast union seems to be slower than normal add
412
            if (batch_size < BATCH_HALF_ROWS) {
413
                normal_add_lambda();
414
                return;
415
            }
416
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
417
                const auto& column =
418
                        assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(data_column);
419
                std::vector<const BitmapValue*> values;
420
                for (size_t i = 0; i < batch_size; ++i) {
421
                    if constexpr (arg_is_nullable) {
422
                        if ((*null_map)[i]) {
423
                            continue; // skip null value
424
                        }
425
                    }
426
                    values.push_back(&(column.get_data()[i]));
427
                }
428
                this->data(place).add_batch(values);
429
            };
430
431
            if constexpr (arg_is_nullable) {
432
                const auto& nullable_column =
433
                        assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(
434
                                *columns[0]);
435
                add_batch_lambda(nullable_column.get_nested_column(),
436
                                 &(nullable_column.get_null_map_data()));
437
            } else {
438
                add_batch_lambda(*columns[0], nullptr);
439
            }
440
35
        } else {
441
35
            normal_add_lambda();
442
35
        }
443
35
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE22add_batch_single_placeEmPcPPKNS_7IColumnERNS_5ArenaE
Line
Count
Source
402
30
                                Arena& arena) const override {
403
30
        auto normal_add_lambda = [&]() {
404
30
            for (size_t i = 0; i < batch_size; ++i) {
405
30
                this->add(place, columns, i, arena);
406
30
            }
407
30
        };
408
409
        // now this only for bitmap_union_count function
410
        if constexpr (std::is_same_v<ColVecType, ColumnBitmap>) {
411
            // if batch_size is small, the add_batch of fast union seems to be slower than normal add
412
            if (batch_size < BATCH_HALF_ROWS) {
413
                normal_add_lambda();
414
                return;
415
            }
416
            auto add_batch_lambda = [&](const IColumn& data_column, const NullMap* null_map) {
417
                const auto& column =
418
                        assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(data_column);
419
                std::vector<const BitmapValue*> values;
420
                for (size_t i = 0; i < batch_size; ++i) {
421
                    if constexpr (arg_is_nullable) {
422
                        if ((*null_map)[i]) {
423
                            continue; // skip null value
424
                        }
425
                    }
426
                    values.push_back(&(column.get_data()[i]));
427
                }
428
                this->data(place).add_batch(values);
429
            };
430
431
            if constexpr (arg_is_nullable) {
432
                const auto& nullable_column =
433
                        assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(
434
                                *columns[0]);
435
                add_batch_lambda(nullable_column.get_nested_column(),
436
                                 &(nullable_column.get_null_map_data()));
437
            } else {
438
                add_batch_lambda(*columns[0], nullptr);
439
            }
440
30
        } else {
441
30
            normal_add_lambda();
442
30
        }
443
30
    }
444
445
    void merge(AggregateDataPtr __restrict place, ConstAggregateDataPtr rhs,
446
0
               Arena&) const override {
447
0
        this->data(place).merge(this->data(rhs).get());
448
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
449
450
0
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
451
0
        this->data(place).write(buf);
452
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
453
454
    void deserialize(AggregateDataPtr __restrict place, BufferReadable& buf,
455
0
                     Arena&) const override {
456
0
        this->data(place).read(buf);
457
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
458
459
833
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
460
833
        auto& value_data = this->data(place).get();
461
833
        auto& column = assert_cast<ColVecResult&, TypeCheckOnRelease::DISABLE>(to);
462
833
        column.get_data().push_back(value_data.cardinality());
463
833
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
459
59
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
460
59
        auto& value_data = this->data(place).get();
461
59
        auto& column = assert_cast<ColVecResult&, TypeCheckOnRelease::DISABLE>(to);
462
59
        column.get_data().push_back(value_data.cardinality());
463
59
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
459
359
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
460
359
        auto& value_data = this->data(place).get();
461
359
        auto& column = assert_cast<ColVecResult&, TypeCheckOnRelease::DISABLE>(to);
462
359
        column.get_data().push_back(value_data.cardinality());
463
359
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
459
57
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
460
57
        auto& value_data = this->data(place).get();
461
57
        auto& column = assert_cast<ColVecResult&, TypeCheckOnRelease::DISABLE>(to);
462
57
        column.get_data().push_back(value_data.cardinality());
463
57
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
459
75
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
460
75
        auto& value_data = this->data(place).get();
461
75
        auto& column = assert_cast<ColVecResult&, TypeCheckOnRelease::DISABLE>(to);
462
75
        column.get_data().push_back(value_data.cardinality());
463
75
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
459
72
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
460
72
        auto& value_data = this->data(place).get();
461
72
        auto& column = assert_cast<ColVecResult&, TypeCheckOnRelease::DISABLE>(to);
462
72
        column.get_data().push_back(value_data.cardinality());
463
72
    }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
459
36
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
460
36
        auto& value_data = this->data(place).get();
461
36
        auto& column = assert_cast<ColVecResult&, TypeCheckOnRelease::DISABLE>(to);
462
36
        column.get_data().push_back(value_data.cardinality());
463
36
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
459
47
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
460
47
        auto& value_data = this->data(place).get();
461
47
        auto& column = assert_cast<ColVecResult&, TypeCheckOnRelease::DISABLE>(to);
462
47
        column.get_data().push_back(value_data.cardinality());
463
47
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
459
47
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
460
47
        auto& value_data = this->data(place).get();
461
47
        auto& column = assert_cast<ColVecResult&, TypeCheckOnRelease::DISABLE>(to);
462
47
        column.get_data().push_back(value_data.cardinality());
463
47
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
459
50
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
460
50
        auto& value_data = this->data(place).get();
461
50
        auto& column = assert_cast<ColVecResult&, TypeCheckOnRelease::DISABLE>(to);
462
50
        column.get_data().push_back(value_data.cardinality());
463
50
    }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
459
31
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
460
31
        auto& value_data = this->data(place).get();
461
31
        auto& column = assert_cast<ColVecResult&, TypeCheckOnRelease::DISABLE>(to);
462
31
        column.get_data().push_back(value_data.cardinality());
463
31
    }
464
465
109
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE5resetEPc
Line
Count
Source
465
4
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_17ColumnComplexTypeILNS_13PrimitiveTypeE22EEEE5resetEPc
Line
Count
Source
465
32
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE5resetEPc
Line
Count
Source
465
6
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE5resetEPc
Line
Count
Source
465
9
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE5resetEPc
Line
Count
Source
465
32
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
_ZNK5doris28AggregateFunctionBitmapCountILb1ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE5resetEPc
Line
Count
Source
465
6
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE3EEEE5resetEPc
Line
Count
Source
465
5
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE4EEEE5resetEPc
Line
Count
Source
465
5
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE5EEEE5resetEPc
Line
Count
Source
465
5
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
_ZNK5doris28AggregateFunctionBitmapCountILb0ENS_12ColumnVectorILNS_13PrimitiveTypeE6EEEE5resetEPc
Line
Count
Source
465
5
    void reset(AggregateDataPtr __restrict place) const override { this->data(place).reset(); }
466
};
467
468
AggregateFunctionPtr create_aggregate_function_bitmap_union(const std::string& name,
469
                                                            const DataTypes& argument_types,
470
                                                            const bool result_is_nullable);
471
472
} // namespace doris