be/src/exprs/aggregate/aggregate_function_window.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 | | // This file is copied from |
18 | | // https://github.com/ClickHouse/ClickHouse/blob/master/src/Processors/Transforms/WindowTransform.h |
19 | | // and modified by Doris |
20 | | |
21 | | #pragma once |
22 | | |
23 | | #include <glog/logging.h> |
24 | | |
25 | | #include <algorithm> |
26 | | #include <boost/iterator/iterator_facade.hpp> |
27 | | #include <cstdint> |
28 | | #include <memory> |
29 | | |
30 | | #include "core/assert_cast.h" |
31 | | #include "core/column/column.h" |
32 | | #include "core/column/column_nullable.h" |
33 | | #include "core/column/column_vector.h" |
34 | | #include "core/data_type/data_type_number.h" |
35 | | #include "core/string_ref.h" |
36 | | #include "core/types.h" |
37 | | #include "exprs/aggregate/aggregate_function.h" |
38 | | #include "exprs/aggregate/aggregate_function_reader_first_last.h" |
39 | | |
40 | | namespace doris { |
41 | | class Arena; |
42 | | class BufferReadable; |
43 | | class BufferWritable; |
44 | | |
45 | | struct RowNumberData { |
46 | | int64_t count = 0; |
47 | | }; |
48 | | |
49 | | class WindowFunctionRowNumber final |
50 | | : public IAggregateFunctionDataHelper<RowNumberData, WindowFunctionRowNumber> { |
51 | | public: |
52 | | WindowFunctionRowNumber(const DataTypes& argument_types_) |
53 | 285 | : IAggregateFunctionDataHelper(argument_types_) {} |
54 | | |
55 | 878 | String get_name() const override { return "row_number"; } |
56 | | |
57 | 42.5k | DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); } |
58 | | |
59 | 0 | void add(AggregateDataPtr place, const IColumn**, ssize_t, Arena&) const override { |
60 | 0 | ++data(place).count; |
61 | 0 | } |
62 | | |
63 | | void add_range_single_place(int64_t partition_start, int64_t partition_end, int64_t frame_start, |
64 | | int64_t frame_end, AggregateDataPtr place, const IColumn** columns, |
65 | 41.4k | Arena&, UInt8*, UInt8*) const override { |
66 | 41.4k | ++data(place).count; |
67 | 41.4k | } |
68 | | |
69 | 424 | void reset(AggregateDataPtr place) const override { |
70 | 424 | WindowFunctionRowNumber::data(place).count = 0; |
71 | 424 | } |
72 | | |
73 | 0 | void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override { |
74 | 0 | assert_cast<ColumnInt64&, TypeCheckOnRelease::DISABLE>(to).get_data().push_back( |
75 | 0 | doris::WindowFunctionRowNumber::data(place).count); |
76 | 0 | } |
77 | | |
78 | 877 | bool result_column_could_resize() const override { return true; } |
79 | | |
80 | | void insert_result_into_range(ConstAggregateDataPtr __restrict place, IColumn& to, |
81 | 41.4k | const size_t start, const size_t end) const override { |
82 | 41.4k | auto& column = assert_cast<ColumnInt64&, TypeCheckOnRelease::DISABLE>(to); |
83 | 82.8k | for (size_t i = start; i < end; ++i) { |
84 | 41.4k | column.get_data()[i] = (doris::WindowFunctionRowNumber::data(place).count); |
85 | 41.4k | } |
86 | 41.4k | } |
87 | | |
88 | 0 | void merge(AggregateDataPtr place, ConstAggregateDataPtr rhs, Arena&) const override {} |
89 | 0 | void serialize(ConstAggregateDataPtr place, BufferWritable& buf) const override {} |
90 | 0 | void deserialize(AggregateDataPtr place, BufferReadable& buf, Arena&) const override {} |
91 | | }; |
92 | | |
93 | | struct RankData { |
94 | | int64_t rank = 0; |
95 | | int64_t count = 1; |
96 | | int64_t peer_group_start = -1; |
97 | | }; |
98 | | |
99 | | class WindowFunctionRank final : public IAggregateFunctionDataHelper<RankData, WindowFunctionRank> { |
100 | | public: |
101 | | WindowFunctionRank(const DataTypes& argument_types_) |
102 | 223 | : IAggregateFunctionDataHelper(argument_types_) {} |
103 | | |
104 | 877 | String get_name() const override { return "rank"; } |
105 | | |
106 | 2.31k | DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); } |
107 | | |
108 | 0 | void add(AggregateDataPtr place, const IColumn**, ssize_t, Arena&) const override { |
109 | 0 | ++data(place).rank; |
110 | 0 | } |
111 | | |
112 | | void add_range_single_place(int64_t partition_start, int64_t partition_end, int64_t frame_start, |
113 | | int64_t frame_end, AggregateDataPtr place, const IColumn** columns, |
114 | 1.18k | Arena&, UInt8*, UInt8*) const override { |
115 | 1.18k | int64_t peer_group_count = frame_end - frame_start; |
116 | 1.18k | if (WindowFunctionRank::data(place).peer_group_start != frame_start) { |
117 | 1.18k | WindowFunctionRank::data(place).peer_group_start = frame_start; |
118 | 1.18k | WindowFunctionRank::data(place).rank += WindowFunctionRank::data(place).count; |
119 | 1.18k | } |
120 | 1.18k | WindowFunctionRank::data(place).count = peer_group_count; |
121 | 1.18k | } |
122 | | |
123 | 626 | void reset(AggregateDataPtr place) const override { |
124 | 626 | WindowFunctionRank::data(place).rank = 0; |
125 | 626 | WindowFunctionRank::data(place).count = 1; |
126 | 626 | WindowFunctionRank::data(place).peer_group_start = -1; |
127 | 626 | } |
128 | | |
129 | 0 | void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override { |
130 | 0 | assert_cast<ColumnInt64&, TypeCheckOnRelease::DISABLE>(to).get_data().push_back( |
131 | 0 | data(place).rank); |
132 | 0 | } |
133 | | |
134 | 877 | bool result_column_could_resize() const override { return true; } |
135 | | |
136 | | void insert_result_into_range(ConstAggregateDataPtr __restrict place, IColumn& to, |
137 | 1.21k | const size_t start, const size_t end) const override { |
138 | 1.21k | auto& column = assert_cast<ColumnInt64&, TypeCheckOnRelease::DISABLE>(to); |
139 | 24.4k | for (size_t i = start; i < end; ++i) { |
140 | 23.2k | column.get_data()[i] = (doris::WindowFunctionRank::data(place).rank); |
141 | 23.2k | } |
142 | 1.21k | } |
143 | | |
144 | 0 | void merge(AggregateDataPtr place, ConstAggregateDataPtr rhs, Arena&) const override {} |
145 | 0 | void serialize(ConstAggregateDataPtr place, BufferWritable& buf) const override {} |
146 | 0 | void deserialize(AggregateDataPtr place, BufferReadable& buf, Arena&) const override {} |
147 | | }; |
148 | | |
149 | | struct DenseRankData { |
150 | | int64_t rank = 0; |
151 | | int64_t peer_group_start = -1; |
152 | | }; |
153 | | |
154 | | class WindowFunctionDenseRank final |
155 | | : public IAggregateFunctionDataHelper<DenseRankData, WindowFunctionDenseRank> { |
156 | | public: |
157 | | WindowFunctionDenseRank(const DataTypes& argument_types_) |
158 | 59 | : IAggregateFunctionDataHelper(argument_types_) {} |
159 | | |
160 | 151 | String get_name() const override { return "dense_rank"; } |
161 | | |
162 | 10.4k | DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); } |
163 | | |
164 | 0 | void add(AggregateDataPtr place, const IColumn**, ssize_t, Arena&) const override { |
165 | 0 | ++data(place).rank; |
166 | 0 | } |
167 | | |
168 | | void add_range_single_place(int64_t partition_start, int64_t partition_end, int64_t frame_start, |
169 | | int64_t frame_end, AggregateDataPtr place, const IColumn** columns, |
170 | 10.1k | Arena&, UInt8*, UInt8*) const override { |
171 | 10.1k | if (WindowFunctionDenseRank::data(place).peer_group_start != frame_start) { |
172 | 10.1k | WindowFunctionDenseRank::data(place).peer_group_start = frame_start; |
173 | 10.1k | WindowFunctionDenseRank::data(place).rank++; |
174 | 10.1k | } |
175 | 10.1k | } |
176 | | |
177 | 92 | void reset(AggregateDataPtr place) const override { |
178 | 92 | WindowFunctionDenseRank::data(place).rank = 0; |
179 | 92 | WindowFunctionDenseRank::data(place).peer_group_start = -1; |
180 | 92 | } |
181 | | |
182 | 0 | void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override { |
183 | 0 | assert_cast<ColumnInt64&, TypeCheckOnRelease::DISABLE>(to).get_data().push_back( |
184 | 0 | data(place).rank); |
185 | 0 | } |
186 | | |
187 | 150 | bool result_column_could_resize() const override { return true; } |
188 | | |
189 | | void insert_result_into_range(ConstAggregateDataPtr __restrict place, IColumn& to, |
190 | 10.2k | const size_t start, const size_t end) const override { |
191 | 10.2k | auto& column = assert_cast<ColumnInt64&, TypeCheckOnRelease::DISABLE>(to); |
192 | 41.7k | for (size_t i = start; i < end; ++i) { |
193 | 31.5k | column.get_data()[i] = (doris::WindowFunctionDenseRank::data(place).rank); |
194 | 31.5k | } |
195 | 10.2k | } |
196 | | |
197 | 0 | void merge(AggregateDataPtr place, ConstAggregateDataPtr rhs, Arena&) const override {} |
198 | 0 | void serialize(ConstAggregateDataPtr place, BufferWritable& buf) const override {} |
199 | 0 | void deserialize(AggregateDataPtr place, BufferReadable& buf, Arena&) const override {} |
200 | | }; |
201 | | |
202 | | struct PercentRankData { |
203 | | int64_t rank = 0; |
204 | | int64_t count = 1; |
205 | | int64_t peer_group_start = -1; |
206 | | int64_t partition_size = 0; |
207 | | }; |
208 | | |
209 | | class WindowFunctionPercentRank final |
210 | | : public IAggregateFunctionDataHelper<PercentRankData, WindowFunctionPercentRank> { |
211 | | private: |
212 | 40.4k | static double _cal_percent(int64_t rank, int64_t total_rows) { |
213 | 40.4k | return total_rows <= 1 ? 0.0 : double(rank - 1) * 1.0 / double(total_rows - 1); |
214 | 40.4k | } |
215 | | |
216 | | public: |
217 | | WindowFunctionPercentRank(const DataTypes& argument_types_) |
218 | 64 | : IAggregateFunctionDataHelper(argument_types_) {} |
219 | | |
220 | 152 | String get_name() const override { return "percent_rank"; } |
221 | | |
222 | 62 | WindowSpillStrategy window_spill_strategy() const override { |
223 | 62 | return WindowSpillStrategy::PEER_GROUP; |
224 | 62 | } |
225 | | |
226 | 62 | WindowSpillPeerFunction window_spill_peer_function() const override { |
227 | 62 | return WindowSpillPeerFunction::PERCENT_RANK; |
228 | 62 | } |
229 | | |
230 | 40.5k | DataTypePtr get_return_type() const override { return std::make_shared<DataTypeFloat64>(); } |
231 | | |
232 | 0 | void add(AggregateDataPtr place, const IColumn**, ssize_t, Arena&) const override {} |
233 | | |
234 | | void add_range_single_place(int64_t partition_start, int64_t partition_end, int64_t frame_start, |
235 | | int64_t frame_end, AggregateDataPtr place, const IColumn** columns, |
236 | 40.1k | Arena&, UInt8*, UInt8*) const override { |
237 | 40.1k | int64_t peer_group_count = frame_end - frame_start; |
238 | 40.1k | if (WindowFunctionPercentRank::data(place).peer_group_start != frame_start) { |
239 | 40.1k | WindowFunctionPercentRank::data(place).peer_group_start = frame_start; |
240 | 40.1k | WindowFunctionPercentRank::data(place).rank += |
241 | 40.1k | WindowFunctionPercentRank::data(place).count; |
242 | | // some variables are partition related, but there is no chance to init them |
243 | | // when the new partition arrives, so we calculate them every time now. |
244 | 40.1k | WindowFunctionPercentRank::data(place).partition_size = partition_end - partition_start; |
245 | 40.1k | } |
246 | 40.1k | WindowFunctionPercentRank::data(place).count = peer_group_count; |
247 | 40.1k | } |
248 | | |
249 | 59.9k | void reset(AggregateDataPtr place) const override { |
250 | 59.9k | WindowFunctionPercentRank::data(place).rank = 0; |
251 | 59.9k | WindowFunctionPercentRank::data(place).count = 1; |
252 | 59.9k | WindowFunctionPercentRank::data(place).peer_group_start = -1; |
253 | 59.9k | WindowFunctionPercentRank::data(place).partition_size = 0; |
254 | 59.9k | } |
255 | | |
256 | 0 | void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override { |
257 | 0 | auto percent_rank = _cal_percent(data(place).rank, data(place).partition_size); |
258 | 0 | assert_cast<ColumnFloat64&, TypeCheckOnRelease::DISABLE>(to).get_data().push_back( |
259 | 0 | percent_rank); |
260 | 0 | } |
261 | | |
262 | 153 | bool result_column_could_resize() const override { return true; } |
263 | | |
264 | | void insert_result_into_range(ConstAggregateDataPtr __restrict place, IColumn& to, |
265 | 40.6k | const size_t start, const size_t end) const override { |
266 | 40.6k | auto& column = assert_cast<ColumnFloat64&, TypeCheckOnRelease::DISABLE>(to); |
267 | 40.6k | auto percent_rank = _cal_percent(data(place).rank, data(place).partition_size); |
268 | 118k | for (size_t i = start; i < end; ++i) { |
269 | 77.6k | column.get_data()[i] = percent_rank; |
270 | 77.6k | } |
271 | 40.6k | } |
272 | | |
273 | 0 | void merge(AggregateDataPtr place, ConstAggregateDataPtr rhs, Arena&) const override {} |
274 | 0 | void serialize(ConstAggregateDataPtr place, BufferWritable& buf) const override {} |
275 | 0 | void deserialize(AggregateDataPtr place, BufferReadable& buf, Arena&) const override {} |
276 | | }; |
277 | | |
278 | | struct CumeDistData { |
279 | | int64_t numerator = 0; |
280 | | int64_t denominator = 0; |
281 | | int64_t peer_group_start = -1; |
282 | | }; |
283 | | |
284 | | class WindowFunctionCumeDist final |
285 | | : public IAggregateFunctionDataHelper<CumeDistData, WindowFunctionCumeDist> { |
286 | | private: |
287 | | static void check_default(AggregateDataPtr place, int64_t partition_start, |
288 | 39.9k | int64_t partition_end) { |
289 | 39.9k | if (data(place).denominator == 0) { |
290 | 19.8k | data(place).denominator = partition_end - partition_start; |
291 | 19.8k | } |
292 | 39.9k | } |
293 | | |
294 | | public: |
295 | | WindowFunctionCumeDist(const DataTypes& argument_types_) |
296 | 68 | : IAggregateFunctionDataHelper(argument_types_) {} |
297 | | |
298 | 140 | String get_name() const override { return "cume_dist"; } |
299 | | |
300 | 57 | WindowSpillStrategy window_spill_strategy() const override { |
301 | 57 | return WindowSpillStrategy::PEER_GROUP; |
302 | 57 | } |
303 | | |
304 | 57 | WindowSpillPeerFunction window_spill_peer_function() const override { |
305 | 57 | return WindowSpillPeerFunction::CUME_DIST; |
306 | 57 | } |
307 | | |
308 | 40.3k | DataTypePtr get_return_type() const override { return std::make_shared<DataTypeFloat64>(); } |
309 | | |
310 | 0 | void add(AggregateDataPtr place, const IColumn**, ssize_t, Arena&) const override {} |
311 | | |
312 | | void add_range_single_place(int64_t partition_start, int64_t partition_end, int64_t frame_start, |
313 | | int64_t frame_end, AggregateDataPtr place, const IColumn** columns, |
314 | 39.9k | Arena&, UInt8*, UInt8*) const override { |
315 | 39.9k | check_default(place, partition_start, partition_end); |
316 | 39.9k | int64_t peer_group_count = frame_end - frame_start; |
317 | 39.9k | if (WindowFunctionCumeDist::data(place).peer_group_start != frame_start) { |
318 | 39.9k | WindowFunctionCumeDist::data(place).peer_group_start = frame_start; |
319 | 39.9k | WindowFunctionCumeDist::data(place).numerator += peer_group_count; |
320 | 39.9k | } |
321 | 39.9k | } |
322 | | |
323 | 59.6k | void reset(AggregateDataPtr place) const override { |
324 | 59.6k | WindowFunctionCumeDist::data(place).numerator = 0; |
325 | 59.6k | WindowFunctionCumeDist::data(place).denominator = 0; |
326 | 59.6k | WindowFunctionCumeDist::data(place).peer_group_start = -1; |
327 | 59.6k | } |
328 | | |
329 | 0 | void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override { |
330 | 0 | auto cume_dist = (double)data(place).numerator * 1.0 / (double)data(place).denominator; |
331 | 0 | assert_cast<ColumnFloat64&, TypeCheckOnRelease::DISABLE>(to).get_data().push_back( |
332 | 0 | cume_dist); |
333 | 0 | } |
334 | | |
335 | 140 | bool result_column_could_resize() const override { return true; } |
336 | | |
337 | | void insert_result_into_range(ConstAggregateDataPtr __restrict place, IColumn& to, |
338 | 40.5k | const size_t start, const size_t end) const override { |
339 | 40.5k | auto& column = assert_cast<ColumnFloat64&, TypeCheckOnRelease::DISABLE>(to); |
340 | 40.5k | auto cume_dist = (double)data(place).numerator * 1.0 / (double)data(place).denominator; |
341 | 118k | for (size_t i = start; i < end; ++i) { |
342 | 77.6k | column.get_data()[i] = cume_dist; |
343 | 77.6k | } |
344 | 40.5k | } |
345 | | |
346 | 0 | void merge(AggregateDataPtr place, ConstAggregateDataPtr rhs, Arena&) const override {} |
347 | 0 | void serialize(ConstAggregateDataPtr place, BufferWritable& buf) const override {} |
348 | 0 | void deserialize(AggregateDataPtr place, BufferReadable& buf, Arena&) const override {} |
349 | | }; |
350 | | |
351 | | struct NTileData { |
352 | | int64_t bucket_index = 0; |
353 | | int64_t rows = 0; |
354 | | }; |
355 | | |
356 | | class WindowFunctionNTile final |
357 | | : public IAggregateFunctionDataHelper<NTileData, WindowFunctionNTile>, |
358 | | UnaryExpression, |
359 | | NullableAggregateFunction { |
360 | | public: |
361 | | WindowFunctionNTile(const DataTypes& argument_types_) |
362 | 122 | : IAggregateFunctionDataHelper(argument_types_) {} |
363 | | |
364 | 290 | String get_name() const override { return "ntile"; } |
365 | | |
366 | 82 | WindowSpillStrategy window_spill_strategy() const override { |
367 | 82 | return WindowSpillStrategy::NTILE; |
368 | 82 | } |
369 | | |
370 | 22.8k | DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); } |
371 | | |
372 | 0 | void add(AggregateDataPtr place, const IColumn**, ssize_t, Arena&) const override {} |
373 | | |
374 | | void add_range_single_place(int64_t partition_start, int64_t partition_end, int64_t frame_start, |
375 | | int64_t frame_end, AggregateDataPtr place, const IColumn** columns, |
376 | 22.5k | Arena&, UInt8*, UInt8*) const override { |
377 | | // some variables are partition related, but there is no chance to init them |
378 | | // when the new partition arrives, so we calculate them every time now. |
379 | | // Partition = big_bucket_num * big_bucket_size + small_bucket_num * small_bucket_size |
380 | 22.5k | int64_t row_index = ++WindowFunctionNTile::data(place).rows - 1; |
381 | 22.5k | int64_t bucket_num = columns[0]->get_int(0); |
382 | 22.5k | int64_t partition_size = partition_end - partition_start; |
383 | | |
384 | 22.5k | int64_t small_bucket_size = partition_size / bucket_num; |
385 | 22.5k | int64_t big_bucket_num = partition_size % bucket_num; |
386 | 22.5k | int64_t first_small_bucket_row_index = big_bucket_num * (small_bucket_size + 1); |
387 | 22.5k | if (row_index >= first_small_bucket_row_index) { |
388 | | // small_bucket_size can't be zero |
389 | 15.6k | WindowFunctionNTile::data(place).bucket_index = |
390 | 15.6k | big_bucket_num + 1 + |
391 | 15.6k | (row_index - first_small_bucket_row_index) / small_bucket_size; |
392 | 15.6k | } else { |
393 | 6.87k | WindowFunctionNTile::data(place).bucket_index = row_index / (small_bucket_size + 1) + 1; |
394 | 6.87k | } |
395 | 22.5k | } |
396 | | |
397 | 2.09M | void reset(AggregateDataPtr place) const override { WindowFunctionNTile::data(place).rows = 0; } |
398 | | |
399 | 0 | void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override { |
400 | 0 | assert_cast<ColumnInt64&, TypeCheckOnRelease::DISABLE>(to).get_data().push_back( |
401 | 0 | WindowFunctionNTile::data(place).bucket_index); |
402 | 0 | } |
403 | | |
404 | 288 | bool result_column_could_resize() const override { return true; } |
405 | | |
406 | | void insert_result_into_range(ConstAggregateDataPtr __restrict place, IColumn& to, |
407 | 22.5k | const size_t start, const size_t end) const override { |
408 | 22.5k | auto& column = assert_cast<ColumnInt64&, TypeCheckOnRelease::DISABLE>(to); |
409 | 45.0k | for (size_t i = start; i < end; ++i) { |
410 | 22.4k | column.get_data()[i] = WindowFunctionNTile::data(place).bucket_index; |
411 | 22.4k | } |
412 | 22.5k | } |
413 | | |
414 | 0 | void merge(AggregateDataPtr place, ConstAggregateDataPtr rhs, Arena&) const override {} |
415 | 0 | void serialize(ConstAggregateDataPtr place, BufferWritable& buf) const override {} |
416 | 0 | void deserialize(AggregateDataPtr place, BufferReadable& buf, Arena&) const override {} |
417 | | }; |
418 | | |
419 | | template <bool result_is_nullable, bool arg_is_nullable> |
420 | | struct FirstLastData : public ReaderFirstAndLastData<result_is_nullable, arg_is_nullable> { |
421 | | public: |
422 | 405 | void set_is_null() { this->_data_value.reset(); }Unexecuted instantiation: _ZN5doris13FirstLastDataILb0ELb0EE11set_is_nullEv Unexecuted instantiation: _ZN5doris13FirstLastDataILb0ELb1EE11set_is_nullEv _ZN5doris13FirstLastDataILb1ELb0EE11set_is_nullEv Line | Count | Source | 422 | 227 | void set_is_null() { this->_data_value.reset(); } |
_ZN5doris13FirstLastDataILb1ELb1EE11set_is_nullEv Line | Count | Source | 422 | 178 | void set_is_null() { this->_data_value.reset(); } |
|
423 | | }; |
424 | | |
425 | | template <bool result_is_nullable, bool arg_is_nullable> |
426 | | struct NthValueData : public FirstLastData<result_is_nullable, arg_is_nullable> { |
427 | | public: |
428 | 284 | void reset() { |
429 | 284 | this->_data_value.reset(); |
430 | 284 | this->_has_value = false; |
431 | 284 | this->_frame_start_pose = 0; |
432 | 284 | this->_frame_total_rows = 0; |
433 | 284 | } Unexecuted instantiation: _ZN5doris12NthValueDataILb0ELb0EE5resetEv Unexecuted instantiation: _ZN5doris12NthValueDataILb0ELb1EE5resetEv _ZN5doris12NthValueDataILb1ELb0EE5resetEv Line | Count | Source | 428 | 54 | void reset() { | 429 | 54 | this->_data_value.reset(); | 430 | 54 | this->_has_value = false; | 431 | 54 | this->_frame_start_pose = 0; | 432 | 54 | this->_frame_total_rows = 0; | 433 | 54 | } |
_ZN5doris12NthValueDataILb1ELb1EE5resetEv Line | Count | Source | 428 | 230 | void reset() { | 429 | 230 | this->_data_value.reset(); | 430 | 230 | this->_has_value = false; | 431 | 230 | this->_frame_start_pose = 0; | 432 | 230 | this->_frame_total_rows = 0; | 433 | 230 | } |
|
434 | | |
435 | | int64_t _frame_start_pose = 0; |
436 | | int64_t _frame_total_rows = 0; |
437 | | }; |
438 | | |
439 | | template <bool result_is_nullable, bool arg_is_nullable> |
440 | | struct LeadLagData { |
441 | | public: |
442 | | static constexpr bool result_nullable = result_is_nullable; |
443 | | |
444 | 600 | void reset() { |
445 | 600 | _data_value.reset(); |
446 | 600 | _is_inited = false; |
447 | 600 | _offset_value = 0; |
448 | 600 | } _ZN5doris11LeadLagDataILb0ELb0EE5resetEv Line | Count | Source | 444 | 203 | void reset() { | 445 | 203 | _data_value.reset(); | 446 | 203 | _is_inited = false; | 447 | 203 | _offset_value = 0; | 448 | 203 | } |
Unexecuted instantiation: _ZN5doris11LeadLagDataILb0ELb1EE5resetEv _ZN5doris11LeadLagDataILb1ELb0EE5resetEv Line | Count | Source | 444 | 61 | void reset() { | 445 | 61 | _data_value.reset(); | 446 | 61 | _is_inited = false; | 447 | 61 | _offset_value = 0; | 448 | 61 | } |
_ZN5doris11LeadLagDataILb1ELb1EE5resetEv Line | Count | Source | 444 | 336 | void reset() { | 445 | 336 | _data_value.reset(); | 446 | 336 | _is_inited = false; | 447 | 336 | _offset_value = 0; | 448 | 336 | } |
|
449 | | |
450 | 16.3k | void insert_result_into(IColumn& to) const { |
451 | 16.3k | if constexpr (result_is_nullable) { |
452 | 14.3k | if (!_data_value.has()) { |
453 | 1.02k | auto& col = assert_cast<ColumnNullable&, TypeCheckOnRelease::DISABLE>(to); |
454 | 1.02k | col.insert_default(); |
455 | 13.3k | } else { |
456 | 13.3k | auto& col = assert_cast<ColumnNullable&, TypeCheckOnRelease::DISABLE>(to); |
457 | 13.3k | col.get_null_map_data().push_back(0); |
458 | 13.3k | _data_value.insert_result_into(col.get_nested_column()); |
459 | 13.3k | } |
460 | 14.3k | } else { |
461 | 1.98k | _data_value.insert_result_into(to); |
462 | 1.98k | } |
463 | 16.3k | } _ZNK5doris11LeadLagDataILb0ELb0EE18insert_result_intoERNS_7IColumnE Line | Count | Source | 450 | 1.98k | void insert_result_into(IColumn& to) const { | 451 | | if constexpr (result_is_nullable) { | 452 | | if (!_data_value.has()) { | 453 | | auto& col = assert_cast<ColumnNullable&, TypeCheckOnRelease::DISABLE>(to); | 454 | | col.insert_default(); | 455 | | } else { | 456 | | auto& col = assert_cast<ColumnNullable&, TypeCheckOnRelease::DISABLE>(to); | 457 | | col.get_null_map_data().push_back(0); | 458 | | _data_value.insert_result_into(col.get_nested_column()); | 459 | | } | 460 | 1.98k | } else { | 461 | 1.98k | _data_value.insert_result_into(to); | 462 | 1.98k | } | 463 | 1.98k | } |
Unexecuted instantiation: _ZNK5doris11LeadLagDataILb0ELb1EE18insert_result_intoERNS_7IColumnE _ZNK5doris11LeadLagDataILb1ELb0EE18insert_result_intoERNS_7IColumnE Line | Count | Source | 450 | 1.47k | void insert_result_into(IColumn& to) const { | 451 | 1.47k | if constexpr (result_is_nullable) { | 452 | 1.47k | if (!_data_value.has()) { | 453 | 106 | auto& col = assert_cast<ColumnNullable&, TypeCheckOnRelease::DISABLE>(to); | 454 | 106 | col.insert_default(); | 455 | 1.36k | } else { | 456 | 1.36k | auto& col = assert_cast<ColumnNullable&, TypeCheckOnRelease::DISABLE>(to); | 457 | 1.36k | col.get_null_map_data().push_back(0); | 458 | 1.36k | _data_value.insert_result_into(col.get_nested_column()); | 459 | 1.36k | } | 460 | | } else { | 461 | | _data_value.insert_result_into(to); | 462 | | } | 463 | 1.47k | } |
_ZNK5doris11LeadLagDataILb1ELb1EE18insert_result_intoERNS_7IColumnE Line | Count | Source | 450 | 12.8k | void insert_result_into(IColumn& to) const { | 451 | 12.8k | if constexpr (result_is_nullable) { | 452 | 12.8k | if (!_data_value.has()) { | 453 | 921 | auto& col = assert_cast<ColumnNullable&, TypeCheckOnRelease::DISABLE>(to); | 454 | 921 | col.insert_default(); | 455 | 11.9k | } else { | 456 | 11.9k | auto& col = assert_cast<ColumnNullable&, TypeCheckOnRelease::DISABLE>(to); | 457 | 11.9k | col.get_null_map_data().push_back(0); | 458 | 11.9k | _data_value.insert_result_into(col.get_nested_column()); | 459 | 11.9k | } | 460 | | } else { | 461 | | _data_value.insert_result_into(to); | 462 | | } | 463 | 12.8k | } |
|
464 | | |
465 | 13.4k | void set_value(const IColumn** columns, size_t pos) { |
466 | 13.4k | if constexpr (arg_is_nullable) { |
467 | 11.1k | if (assert_cast<const ColumnNullable*, TypeCheckOnRelease::DISABLE>(columns[0]) |
468 | 11.1k | ->is_null_at(pos)) { |
469 | 439 | _data_value.reset(); |
470 | 439 | return; |
471 | 439 | } |
472 | 10.7k | const auto& nullable = |
473 | 10.7k | assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]); |
474 | 10.7k | _data_value.set(nullable.get_nested_column(), pos); |
475 | 10.7k | } else { |
476 | 2.28k | _data_value.set(*columns[0], pos); |
477 | 2.28k | } |
478 | 13.4k | } _ZN5doris11LeadLagDataILb0ELb0EE9set_valueEPPKNS_7IColumnEm Line | Count | Source | 465 | 1.25k | void set_value(const IColumn** columns, size_t pos) { | 466 | | if constexpr (arg_is_nullable) { | 467 | | if (assert_cast<const ColumnNullable*, TypeCheckOnRelease::DISABLE>(columns[0]) | 468 | | ->is_null_at(pos)) { | 469 | | _data_value.reset(); | 470 | | return; | 471 | | } | 472 | | const auto& nullable = | 473 | | assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]); | 474 | | _data_value.set(nullable.get_nested_column(), pos); | 475 | 1.25k | } else { | 476 | 1.25k | _data_value.set(*columns[0], pos); | 477 | 1.25k | } | 478 | 1.25k | } |
Unexecuted instantiation: _ZN5doris11LeadLagDataILb0ELb1EE9set_valueEPPKNS_7IColumnEm _ZN5doris11LeadLagDataILb1ELb0EE9set_valueEPPKNS_7IColumnEm Line | Count | Source | 465 | 1.02k | void set_value(const IColumn** columns, size_t pos) { | 466 | | if constexpr (arg_is_nullable) { | 467 | | if (assert_cast<const ColumnNullable*, TypeCheckOnRelease::DISABLE>(columns[0]) | 468 | | ->is_null_at(pos)) { | 469 | | _data_value.reset(); | 470 | | return; | 471 | | } | 472 | | const auto& nullable = | 473 | | assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]); | 474 | | _data_value.set(nullable.get_nested_column(), pos); | 475 | 1.02k | } else { | 476 | 1.02k | _data_value.set(*columns[0], pos); | 477 | 1.02k | } | 478 | 1.02k | } |
_ZN5doris11LeadLagDataILb1ELb1EE9set_valueEPPKNS_7IColumnEm Line | Count | Source | 465 | 11.1k | void set_value(const IColumn** columns, size_t pos) { | 466 | 11.1k | if constexpr (arg_is_nullable) { | 467 | 11.1k | if (assert_cast<const ColumnNullable*, TypeCheckOnRelease::DISABLE>(columns[0]) | 468 | 11.1k | ->is_null_at(pos)) { | 469 | 439 | _data_value.reset(); | 470 | 439 | return; | 471 | 439 | } | 472 | 10.7k | const auto& nullable = | 473 | 10.7k | assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]); | 474 | 10.7k | _data_value.set(nullable.get_nested_column(), pos); | 475 | | } else { | 476 | | _data_value.set(*columns[0], pos); | 477 | | } | 478 | 11.1k | } |
|
479 | | |
480 | 2.89k | void set_value_from_default(const IColumn* column, size_t pos) { |
481 | 2.89k | DCHECK_GE(pos, 0); |
482 | 2.89k | if (is_column_nullable(*column)) { |
483 | 1.68k | const auto* nullable_column = |
484 | 1.68k | assert_cast<const ColumnNullable*, TypeCheckOnRelease::DISABLE>(column); |
485 | 1.68k | if (nullable_column->is_null_at(pos)) { |
486 | 588 | this->_data_value.reset(); |
487 | 1.09k | } else { |
488 | 1.09k | this->_data_value.set(nullable_column->get_nested_column(), pos); |
489 | 1.09k | } |
490 | 1.68k | } else { |
491 | 1.21k | this->_data_value.set(*column, pos); |
492 | 1.21k | } |
493 | 2.89k | } _ZN5doris11LeadLagDataILb0ELb0EE22set_value_from_defaultEPKNS_7IColumnEm Line | Count | Source | 480 | 728 | void set_value_from_default(const IColumn* column, size_t pos) { | 481 | 728 | DCHECK_GE(pos, 0); | 482 | 728 | if (is_column_nullable(*column)) { | 483 | 0 | const auto* nullable_column = | 484 | 0 | assert_cast<const ColumnNullable*, TypeCheckOnRelease::DISABLE>(column); | 485 | 0 | if (nullable_column->is_null_at(pos)) { | 486 | 0 | this->_data_value.reset(); | 487 | 0 | } else { | 488 | 0 | this->_data_value.set(nullable_column->get_nested_column(), pos); | 489 | 0 | } | 490 | 728 | } else { | 491 | 728 | this->_data_value.set(*column, pos); | 492 | 728 | } | 493 | 728 | } |
Unexecuted instantiation: _ZN5doris11LeadLagDataILb0ELb1EE22set_value_from_defaultEPKNS_7IColumnEm _ZN5doris11LeadLagDataILb1ELb0EE22set_value_from_defaultEPKNS_7IColumnEm Line | Count | Source | 480 | 448 | void set_value_from_default(const IColumn* column, size_t pos) { | 481 | 448 | DCHECK_GE(pos, 0); | 482 | 448 | if (is_column_nullable(*column)) { | 483 | 448 | const auto* nullable_column = | 484 | 448 | assert_cast<const ColumnNullable*, TypeCheckOnRelease::DISABLE>(column); | 485 | 448 | if (nullable_column->is_null_at(pos)) { | 486 | 106 | this->_data_value.reset(); | 487 | 342 | } else { | 488 | 342 | this->_data_value.set(nullable_column->get_nested_column(), pos); | 489 | 342 | } | 490 | 448 | } else { | 491 | 0 | this->_data_value.set(*column, pos); | 492 | 0 | } | 493 | 448 | } |
_ZN5doris11LeadLagDataILb1ELb1EE22set_value_from_defaultEPKNS_7IColumnEm Line | Count | Source | 480 | 1.72k | void set_value_from_default(const IColumn* column, size_t pos) { | 481 | 1.72k | DCHECK_GE(pos, 0); | 482 | 1.72k | if (is_column_nullable(*column)) { | 483 | 1.23k | const auto* nullable_column = | 484 | 1.23k | assert_cast<const ColumnNullable*, TypeCheckOnRelease::DISABLE>(column); | 485 | 1.23k | if (nullable_column->is_null_at(pos)) { | 486 | 482 | this->_data_value.reset(); | 487 | 751 | } else { | 488 | 751 | this->_data_value.set(nullable_column->get_nested_column(), pos); | 489 | 751 | } | 490 | 1.23k | } else { | 491 | 488 | this->_data_value.set(*column, pos); | 492 | 488 | } | 493 | 1.72k | } |
|
494 | | |
495 | 2.89k | void set_offset_value(const IColumn* column) { |
496 | 2.89k | if (!_is_inited) { |
497 | 1.08k | const auto* column_number = |
498 | 1.08k | assert_cast<const ColumnInt64*, TypeCheckOnRelease::DISABLE>(column); |
499 | 1.08k | _offset_value = column_number->get_data()[0]; |
500 | 1.08k | _is_inited = true; |
501 | 1.08k | } |
502 | 2.89k | } _ZN5doris11LeadLagDataILb0ELb0EE16set_offset_valueEPKNS_7IColumnE Line | Count | Source | 495 | 728 | void set_offset_value(const IColumn* column) { | 496 | 728 | if (!_is_inited) { | 497 | 387 | const auto* column_number = | 498 | 387 | assert_cast<const ColumnInt64*, TypeCheckOnRelease::DISABLE>(column); | 499 | 387 | _offset_value = column_number->get_data()[0]; | 500 | 387 | _is_inited = true; | 501 | 387 | } | 502 | 728 | } |
Unexecuted instantiation: _ZN5doris11LeadLagDataILb0ELb1EE16set_offset_valueEPKNS_7IColumnE _ZN5doris11LeadLagDataILb1ELb0EE16set_offset_valueEPKNS_7IColumnE Line | Count | Source | 495 | 448 | void set_offset_value(const IColumn* column) { | 496 | 448 | if (!_is_inited) { | 497 | 122 | const auto* column_number = | 498 | 122 | assert_cast<const ColumnInt64*, TypeCheckOnRelease::DISABLE>(column); | 499 | 122 | _offset_value = column_number->get_data()[0]; | 500 | 122 | _is_inited = true; | 501 | 122 | } | 502 | 448 | } |
_ZN5doris11LeadLagDataILb1ELb1EE16set_offset_valueEPKNS_7IColumnE Line | Count | Source | 495 | 1.72k | void set_offset_value(const IColumn* column) { | 496 | 1.72k | if (!_is_inited) { | 497 | 573 | const auto* column_number = | 498 | 573 | assert_cast<const ColumnInt64*, TypeCheckOnRelease::DISABLE>(column); | 499 | 573 | _offset_value = column_number->get_data()[0]; | 500 | 573 | _is_inited = true; | 501 | 573 | } | 502 | 1.72k | } |
|
503 | | |
504 | 2.89k | int64_t get_offset_value() const { return _offset_value; }_ZNK5doris11LeadLagDataILb0ELb0EE16get_offset_valueEv Line | Count | Source | 504 | 728 | int64_t get_offset_value() const { return _offset_value; } |
Unexecuted instantiation: _ZNK5doris11LeadLagDataILb0ELb1EE16get_offset_valueEv _ZNK5doris11LeadLagDataILb1ELb0EE16get_offset_valueEv Line | Count | Source | 504 | 448 | int64_t get_offset_value() const { return _offset_value; } |
_ZNK5doris11LeadLagDataILb1ELb1EE16get_offset_valueEv Line | Count | Source | 504 | 1.72k | int64_t get_offset_value() const { return _offset_value; } |
|
505 | | |
506 | | private: |
507 | | SingleValueDataColumn _data_value; |
508 | | bool _is_inited = false; |
509 | | int64_t _offset_value = 0; |
510 | | }; |
511 | | |
512 | | template <typename Data, bool = false> |
513 | | struct WindowFunctionLeadImpl : Data { |
514 | | void add_range_single_place(int64_t partition_start, int64_t partition_end, int64_t frame_start, |
515 | 7.79k | int64_t frame_end, const IColumn** columns) { |
516 | 7.79k | if (frame_end > partition_end) { //output default value, win end is under partition |
517 | 1.33k | this->set_offset_value(columns[1]); |
518 | | // eg: lead(column, 10, default_value), column size maybe 3 rows |
519 | | // offset value 10 is from second argument, pos: 11 is calculated as frame_end |
520 | 1.33k | auto pos = frame_end - 1 - this->get_offset_value(); |
521 | 1.33k | this->set_value_from_default(columns[2], pos); |
522 | 1.33k | return; |
523 | 1.33k | } |
524 | 6.46k | this->set_value(columns, frame_end - 1); |
525 | 6.46k | } _ZN5doris22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb0EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE Line | Count | Source | 515 | 606 | int64_t frame_end, const IColumn** columns) { | 516 | 606 | if (frame_end > partition_end) { //output default value, win end is under partition | 517 | 223 | this->set_offset_value(columns[1]); | 518 | | // eg: lead(column, 10, default_value), column size maybe 3 rows | 519 | | // offset value 10 is from second argument, pos: 11 is calculated as frame_end | 520 | 223 | auto pos = frame_end - 1 - this->get_offset_value(); | 521 | 223 | this->set_value_from_default(columns[2], pos); | 522 | 223 | return; | 523 | 223 | } | 524 | 383 | this->set_value(columns, frame_end - 1); | 525 | 383 | } |
Unexecuted instantiation: _ZN5doris22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb1EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE _ZN5doris22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb0EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE Line | Count | Source | 515 | 737 | int64_t frame_end, const IColumn** columns) { | 516 | 737 | if (frame_end > partition_end) { //output default value, win end is under partition | 517 | 224 | this->set_offset_value(columns[1]); | 518 | | // eg: lead(column, 10, default_value), column size maybe 3 rows | 519 | | // offset value 10 is from second argument, pos: 11 is calculated as frame_end | 520 | 224 | auto pos = frame_end - 1 - this->get_offset_value(); | 521 | 224 | this->set_value_from_default(columns[2], pos); | 522 | 224 | return; | 523 | 224 | } | 524 | 513 | this->set_value(columns, frame_end - 1); | 525 | 513 | } |
_ZN5doris22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb1EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE Line | Count | Source | 515 | 6.44k | int64_t frame_end, const IColumn** columns) { | 516 | 6.44k | if (frame_end > partition_end) { //output default value, win end is under partition | 517 | 883 | this->set_offset_value(columns[1]); | 518 | | // eg: lead(column, 10, default_value), column size maybe 3 rows | 519 | | // offset value 10 is from second argument, pos: 11 is calculated as frame_end | 520 | 883 | auto pos = frame_end - 1 - this->get_offset_value(); | 521 | 883 | this->set_value_from_default(columns[2], pos); | 522 | 883 | return; | 523 | 883 | } | 524 | 5.56k | this->set_value(columns, frame_end - 1); | 525 | 5.56k | } |
|
526 | | |
527 | 8.48k | static const char* name() { return "lead"; }_ZN5doris22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb0EEELb0EE4nameEv Line | Count | Source | 527 | 690 | static const char* name() { return "lead"; } |
Unexecuted instantiation: _ZN5doris22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb1EEELb0EE4nameEv _ZN5doris22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb0EEELb0EE4nameEv Line | Count | Source | 527 | 817 | static const char* name() { return "lead"; } |
_ZN5doris22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb1EEELb0EE4nameEv Line | Count | Source | 527 | 6.98k | static const char* name() { return "lead"; } |
|
528 | | }; |
529 | | |
530 | | template <typename Data, bool = false> |
531 | | struct WindowFunctionLagImpl : Data { |
532 | | void add_range_single_place(int64_t partition_start, int64_t partition_end, int64_t frame_start, |
533 | 8.55k | int64_t frame_end, const IColumn** columns) { |
534 | | // window start is beyond partition |
535 | 8.55k | if (partition_start >= frame_end) { //[unbound preceding(0), offset preceding(-123)] |
536 | 1.56k | this->set_offset_value(columns[1]); |
537 | 1.56k | auto pos = frame_end - 1 + this->get_offset_value(); |
538 | 1.56k | this->set_value_from_default(columns[2], pos); |
539 | 1.56k | return; |
540 | 1.56k | } |
541 | 6.98k | this->set_value(columns, frame_end - 1); |
542 | 6.98k | } _ZN5doris21WindowFunctionLagImplINS_11LeadLagDataILb0ELb0EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE Line | Count | Source | 533 | 1.37k | int64_t frame_end, const IColumn** columns) { | 534 | | // window start is beyond partition | 535 | 1.37k | if (partition_start >= frame_end) { //[unbound preceding(0), offset preceding(-123)] | 536 | 505 | this->set_offset_value(columns[1]); | 537 | 505 | auto pos = frame_end - 1 + this->get_offset_value(); | 538 | 505 | this->set_value_from_default(columns[2], pos); | 539 | 505 | return; | 540 | 505 | } | 541 | 873 | this->set_value(columns, frame_end - 1); | 542 | 873 | } |
Unexecuted instantiation: _ZN5doris21WindowFunctionLagImplINS_11LeadLagDataILb0ELb1EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE _ZN5doris21WindowFunctionLagImplINS_11LeadLagDataILb1ELb0EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE Line | Count | Source | 533 | 737 | int64_t frame_end, const IColumn** columns) { | 534 | | // window start is beyond partition | 535 | 737 | if (partition_start >= frame_end) { //[unbound preceding(0), offset preceding(-123)] | 536 | 224 | this->set_offset_value(columns[1]); | 537 | 224 | auto pos = frame_end - 1 + this->get_offset_value(); | 538 | 224 | this->set_value_from_default(columns[2], pos); | 539 | 224 | return; | 540 | 224 | } | 541 | 513 | this->set_value(columns, frame_end - 1); | 542 | 513 | } |
_ZN5doris21WindowFunctionLagImplINS_11LeadLagDataILb1ELb1EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE Line | Count | Source | 533 | 6.43k | int64_t frame_end, const IColumn** columns) { | 534 | | // window start is beyond partition | 535 | 6.43k | if (partition_start >= frame_end) { //[unbound preceding(0), offset preceding(-123)] | 536 | 839 | this->set_offset_value(columns[1]); | 537 | 839 | auto pos = frame_end - 1 + this->get_offset_value(); | 538 | 839 | this->set_value_from_default(columns[2], pos); | 539 | 839 | return; | 540 | 839 | } | 541 | 5.59k | this->set_value(columns, frame_end - 1); | 542 | 5.59k | } |
|
543 | | |
544 | 9.61k | static const char* name() { return "lag"; }_ZN5doris21WindowFunctionLagImplINS_11LeadLagDataILb0ELb0EEELb0EE4nameEv Line | Count | Source | 544 | 1.87k | static const char* name() { return "lag"; } |
Unexecuted instantiation: _ZN5doris21WindowFunctionLagImplINS_11LeadLagDataILb0ELb1EEELb0EE4nameEv _ZN5doris21WindowFunctionLagImplINS_11LeadLagDataILb1ELb0EEELb0EE4nameEv Line | Count | Source | 544 | 817 | static const char* name() { return "lag"; } |
_ZN5doris21WindowFunctionLagImplINS_11LeadLagDataILb1ELb1EEELb0EE4nameEv Line | Count | Source | 544 | 6.92k | static const char* name() { return "lag"; } |
|
545 | | }; |
546 | | |
547 | | template <typename Data, bool arg_ignore_null = false> |
548 | | struct WindowFunctionFirstImpl : Data { |
549 | | void add_range_single_place(int64_t partition_start, int64_t partition_end, int64_t frame_start, |
550 | 6.14k | int64_t frame_end, const IColumn** columns) { |
551 | | // case 1: (has_set_value() = true && arg_ignore_null = false) |
552 | | // case 2: (has_set_value() = true && arg_ignore_null = true && is_null() = false) |
553 | 6.14k | if ((this->has_set_value()) && |
554 | 6.14k | (!arg_ignore_null || (arg_ignore_null && !this->is_null()))) { |
555 | 5.23k | return; |
556 | 5.23k | } |
557 | 6.14k | DCHECK_LE(frame_start, frame_end); |
558 | 904 | if (frame_start >= partition_end || frame_end <= partition_start) { |
559 | 26 | this->set_is_null(); |
560 | 26 | return; |
561 | 26 | } |
562 | 878 | frame_start = std::max<int64_t>(frame_start, partition_start); |
563 | | |
564 | 878 | if constexpr (arg_ignore_null) { |
565 | 66 | frame_end = std::min<int64_t>(frame_end, partition_end); |
566 | 66 | if (is_column_nullable(*columns[0])) { |
567 | 44 | const auto& arg_nullable = |
568 | 44 | assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>( |
569 | 44 | *columns[0]); |
570 | | // the valid range is: [frame_start, frame_end) |
571 | 83 | while (frame_start < frame_end - 1 && arg_nullable.is_null_at(frame_start)) { |
572 | 39 | frame_start++; |
573 | 39 | } |
574 | 44 | } |
575 | 66 | } |
576 | 878 | this->set_value(columns, frame_start); |
577 | 878 | } _ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE Line | Count | Source | 550 | 5 | int64_t frame_end, const IColumn** columns) { | 551 | | // case 1: (has_set_value() = true && arg_ignore_null = false) | 552 | | // case 2: (has_set_value() = true && arg_ignore_null = true && is_null() = false) | 553 | 5 | if ((this->has_set_value()) && | 554 | 5 | (!arg_ignore_null || (arg_ignore_null && !this->is_null()))) { | 555 | 2 | return; | 556 | 2 | } | 557 | 5 | DCHECK_LE(frame_start, frame_end); | 558 | 3 | if (frame_start >= partition_end || frame_end <= partition_start) { | 559 | 0 | this->set_is_null(); | 560 | 0 | return; | 561 | 0 | } | 562 | 3 | frame_start = std::max<int64_t>(frame_start, partition_start); | 563 | | | 564 | | if constexpr (arg_ignore_null) { | 565 | | frame_end = std::min<int64_t>(frame_end, partition_end); | 566 | | if (is_column_nullable(*columns[0])) { | 567 | | const auto& arg_nullable = | 568 | | assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>( | 569 | | *columns[0]); | 570 | | // the valid range is: [frame_start, frame_end) | 571 | | while (frame_start < frame_end - 1 && arg_nullable.is_null_at(frame_start)) { | 572 | | frame_start++; | 573 | | } | 574 | | } | 575 | | } | 576 | 3 | this->set_value(columns, frame_start); | 577 | 3 | } |
Unexecuted instantiation: _ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE _ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE Line | Count | Source | 550 | 720 | int64_t frame_end, const IColumn** columns) { | 551 | | // case 1: (has_set_value() = true && arg_ignore_null = false) | 552 | | // case 2: (has_set_value() = true && arg_ignore_null = true && is_null() = false) | 553 | 720 | if ((this->has_set_value()) && | 554 | 720 | (!arg_ignore_null || (arg_ignore_null && !this->is_null()))) { | 555 | 398 | return; | 556 | 398 | } | 557 | 720 | DCHECK_LE(frame_start, frame_end); | 558 | 322 | if (frame_start >= partition_end || frame_end <= partition_start) { | 559 | 4 | this->set_is_null(); | 560 | 4 | return; | 561 | 4 | } | 562 | 318 | frame_start = std::max<int64_t>(frame_start, partition_start); | 563 | | | 564 | | if constexpr (arg_ignore_null) { | 565 | | frame_end = std::min<int64_t>(frame_end, partition_end); | 566 | | if (is_column_nullable(*columns[0])) { | 567 | | const auto& arg_nullable = | 568 | | assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>( | 569 | | *columns[0]); | 570 | | // the valid range is: [frame_start, frame_end) | 571 | | while (frame_start < frame_end - 1 && arg_nullable.is_null_at(frame_start)) { | 572 | | frame_start++; | 573 | | } | 574 | | } | 575 | | } | 576 | 318 | this->set_value(columns, frame_start); | 577 | 318 | } |
_ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE Line | Count | Source | 550 | 5.33k | int64_t frame_end, const IColumn** columns) { | 551 | | // case 1: (has_set_value() = true && arg_ignore_null = false) | 552 | | // case 2: (has_set_value() = true && arg_ignore_null = true && is_null() = false) | 553 | 5.33k | if ((this->has_set_value()) && | 554 | 5.33k | (!arg_ignore_null || (arg_ignore_null && !this->is_null()))) { | 555 | 4.82k | return; | 556 | 4.82k | } | 557 | 5.33k | DCHECK_LE(frame_start, frame_end); | 558 | 507 | if (frame_start >= partition_end || frame_end <= partition_start) { | 559 | 16 | this->set_is_null(); | 560 | 16 | return; | 561 | 16 | } | 562 | 491 | frame_start = std::max<int64_t>(frame_start, partition_start); | 563 | | | 564 | | if constexpr (arg_ignore_null) { | 565 | | frame_end = std::min<int64_t>(frame_end, partition_end); | 566 | | if (is_column_nullable(*columns[0])) { | 567 | | const auto& arg_nullable = | 568 | | assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>( | 569 | | *columns[0]); | 570 | | // the valid range is: [frame_start, frame_end) | 571 | | while (frame_start < frame_end - 1 && arg_nullable.is_null_at(frame_start)) { | 572 | | frame_start++; | 573 | | } | 574 | | } | 575 | | } | 576 | 491 | this->set_value(columns, frame_start); | 577 | 491 | } |
Unexecuted instantiation: _ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb1EE22add_range_single_placeEllllPPKNS_7IColumnE Unexecuted instantiation: _ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb1EE22add_range_single_placeEllllPPKNS_7IColumnE _ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb1EE22add_range_single_placeEllllPPKNS_7IColumnE Line | Count | Source | 550 | 22 | int64_t frame_end, const IColumn** columns) { | 551 | | // case 1: (has_set_value() = true && arg_ignore_null = false) | 552 | | // case 2: (has_set_value() = true && arg_ignore_null = true && is_null() = false) | 553 | 22 | if ((this->has_set_value()) && | 554 | 22 | (!arg_ignore_null || (arg_ignore_null && !this->is_null()))) { | 555 | 0 | return; | 556 | 0 | } | 557 | 22 | DCHECK_LE(frame_start, frame_end); | 558 | 22 | if (frame_start >= partition_end || frame_end <= partition_start) { | 559 | 0 | this->set_is_null(); | 560 | 0 | return; | 561 | 0 | } | 562 | 22 | frame_start = std::max<int64_t>(frame_start, partition_start); | 563 | | | 564 | 22 | if constexpr (arg_ignore_null) { | 565 | 22 | frame_end = std::min<int64_t>(frame_end, partition_end); | 566 | 22 | if (is_column_nullable(*columns[0])) { | 567 | 0 | const auto& arg_nullable = | 568 | 0 | assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>( | 569 | 0 | *columns[0]); | 570 | | // the valid range is: [frame_start, frame_end) | 571 | 0 | while (frame_start < frame_end - 1 && arg_nullable.is_null_at(frame_start)) { | 572 | 0 | frame_start++; | 573 | 0 | } | 574 | 0 | } | 575 | 22 | } | 576 | 22 | this->set_value(columns, frame_start); | 577 | 22 | } |
_ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb1EE22add_range_single_placeEllllPPKNS_7IColumnE Line | Count | Source | 550 | 64 | int64_t frame_end, const IColumn** columns) { | 551 | | // case 1: (has_set_value() = true && arg_ignore_null = false) | 552 | | // case 2: (has_set_value() = true && arg_ignore_null = true && is_null() = false) | 553 | 64 | if ((this->has_set_value()) && | 554 | 64 | (!arg_ignore_null || (arg_ignore_null && !this->is_null()))) { | 555 | 14 | return; | 556 | 14 | } | 557 | 64 | DCHECK_LE(frame_start, frame_end); | 558 | 50 | if (frame_start >= partition_end || frame_end <= partition_start) { | 559 | 6 | this->set_is_null(); | 560 | 6 | return; | 561 | 6 | } | 562 | 44 | frame_start = std::max<int64_t>(frame_start, partition_start); | 563 | | | 564 | 44 | if constexpr (arg_ignore_null) { | 565 | 44 | frame_end = std::min<int64_t>(frame_end, partition_end); | 566 | 44 | if (is_column_nullable(*columns[0])) { | 567 | 44 | const auto& arg_nullable = | 568 | 44 | assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>( | 569 | 44 | *columns[0]); | 570 | | // the valid range is: [frame_start, frame_end) | 571 | 83 | while (frame_start < frame_end - 1 && arg_nullable.is_null_at(frame_start)) { | 572 | 39 | frame_start++; | 573 | 39 | } | 574 | 44 | } | 575 | 44 | } | 576 | 44 | this->set_value(columns, frame_start); | 577 | 44 | } |
|
578 | | |
579 | 7.25k | static const char* name() { return "first_value"; }_ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb0EE4nameEv Line | Count | Source | 579 | 6 | static const char* name() { return "first_value"; } |
Unexecuted instantiation: _ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb0EE4nameEv _ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb0EE4nameEv Line | Count | Source | 579 | 1.31k | static const char* name() { return "first_value"; } |
_ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb0EE4nameEv Line | Count | Source | 579 | 5.79k | static const char* name() { return "first_value"; } |
Unexecuted instantiation: _ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb1EE4nameEv Unexecuted instantiation: _ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb1EE4nameEv _ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb1EE4nameEv Line | Count | Source | 579 | 43 | static const char* name() { return "first_value"; } |
_ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb1EE4nameEv Line | Count | Source | 579 | 91 | static const char* name() { return "first_value"; } |
|
580 | | }; |
581 | | |
582 | | template <typename Data, bool arg_ignore_null = false> |
583 | | struct WindowFunctionLastImpl : Data { |
584 | | void add_range_single_place(int64_t partition_start, int64_t partition_end, int64_t frame_start, |
585 | 1.28k | int64_t frame_end, const IColumn** columns) { |
586 | 1.28k | DCHECK_LE(frame_start, frame_end); |
587 | 1.28k | if ((frame_end <= partition_start) || |
588 | 1.28k | (frame_start >= partition_end)) { //beyond or under partition, set null |
589 | 257 | if ((this->has_set_value()) && |
590 | 257 | (!arg_ignore_null || (arg_ignore_null && !this->is_null()))) { |
591 | | // have set value, do nothing, because like rows unbouned preceding and M following |
592 | | // it's caculated as the cumulative mode, so it's could reuse the previous |
593 | 228 | } else { |
594 | 228 | this->set_is_null(); |
595 | 228 | } |
596 | 257 | return; |
597 | 257 | } |
598 | 1.02k | frame_end = std::min<int64_t>(frame_end, partition_end); |
599 | | |
600 | 1.02k | if constexpr (arg_ignore_null) { |
601 | 97 | frame_start = std::max<int64_t>(frame_start, partition_start); |
602 | 97 | if (is_column_nullable(*columns[0])) { |
603 | 79 | const auto& arg_nullable = |
604 | 79 | assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>( |
605 | 79 | *columns[0]); |
606 | | // wants find a not null value in [frame_start, frame_end) |
607 | | // iff has find: set_value and return directly |
608 | | // iff not find: the while loop is finished |
609 | | // case 1: iff has_set_value, means the previous window have value, could reuse it, so return directly |
610 | | // case 2: iff not has_set_value, means there is none value, set it's to NULL |
611 | 150 | while (frame_start < frame_end) { |
612 | 123 | if (arg_nullable.is_null_at(frame_end - 1)) { |
613 | 71 | frame_end--; |
614 | 71 | } else { |
615 | 52 | this->set_value(columns, frame_end - 1); |
616 | 52 | return; |
617 | 52 | } |
618 | 123 | } |
619 | 27 | if (!this->has_set_value()) { |
620 | 12 | this->set_is_null(); |
621 | 12 | } |
622 | 27 | return; |
623 | 79 | } |
624 | 97 | } |
625 | | |
626 | 18 | this->set_value(columns, frame_end - 1); |
627 | 1.02k | } Unexecuted instantiation: _ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE Unexecuted instantiation: _ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE _ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE Line | Count | Source | 585 | 438 | int64_t frame_end, const IColumn** columns) { | 586 | 438 | DCHECK_LE(frame_start, frame_end); | 587 | 438 | if ((frame_end <= partition_start) || | 588 | 438 | (frame_start >= partition_end)) { //beyond or under partition, set null | 589 | 216 | if ((this->has_set_value()) && | 590 | 216 | (!arg_ignore_null || (arg_ignore_null && !this->is_null()))) { | 591 | | // have set value, do nothing, because like rows unbouned preceding and M following | 592 | | // it's caculated as the cumulative mode, so it's could reuse the previous | 593 | 204 | } else { | 594 | 204 | this->set_is_null(); | 595 | 204 | } | 596 | 216 | return; | 597 | 216 | } | 598 | 222 | frame_end = std::min<int64_t>(frame_end, partition_end); | 599 | | | 600 | | if constexpr (arg_ignore_null) { | 601 | | frame_start = std::max<int64_t>(frame_start, partition_start); | 602 | | if (is_column_nullable(*columns[0])) { | 603 | | const auto& arg_nullable = | 604 | | assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>( | 605 | | *columns[0]); | 606 | | // wants find a not null value in [frame_start, frame_end) | 607 | | // iff has find: set_value and return directly | 608 | | // iff not find: the while loop is finished | 609 | | // case 1: iff has_set_value, means the previous window have value, could reuse it, so return directly | 610 | | // case 2: iff not has_set_value, means there is none value, set it's to NULL | 611 | | while (frame_start < frame_end) { | 612 | | if (arg_nullable.is_null_at(frame_end - 1)) { | 613 | | frame_end--; | 614 | | } else { | 615 | | this->set_value(columns, frame_end - 1); | 616 | | return; | 617 | | } | 618 | | } | 619 | | if (!this->has_set_value()) { | 620 | | this->set_is_null(); | 621 | | } | 622 | | return; | 623 | | } | 624 | | } | 625 | | | 626 | 222 | this->set_value(columns, frame_end - 1); | 627 | 222 | } |
_ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE Line | Count | Source | 585 | 749 | int64_t frame_end, const IColumn** columns) { | 586 | 749 | DCHECK_LE(frame_start, frame_end); | 587 | 749 | if ((frame_end <= partition_start) || | 588 | 749 | (frame_start >= partition_end)) { //beyond or under partition, set null | 589 | 41 | if ((this->has_set_value()) && | 590 | 41 | (!arg_ignore_null || (arg_ignore_null && !this->is_null()))) { | 591 | | // have set value, do nothing, because like rows unbouned preceding and M following | 592 | | // it's caculated as the cumulative mode, so it's could reuse the previous | 593 | 24 | } else { | 594 | 24 | this->set_is_null(); | 595 | 24 | } | 596 | 41 | return; | 597 | 41 | } | 598 | 708 | frame_end = std::min<int64_t>(frame_end, partition_end); | 599 | | | 600 | | if constexpr (arg_ignore_null) { | 601 | | frame_start = std::max<int64_t>(frame_start, partition_start); | 602 | | if (is_column_nullable(*columns[0])) { | 603 | | const auto& arg_nullable = | 604 | | assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>( | 605 | | *columns[0]); | 606 | | // wants find a not null value in [frame_start, frame_end) | 607 | | // iff has find: set_value and return directly | 608 | | // iff not find: the while loop is finished | 609 | | // case 1: iff has_set_value, means the previous window have value, could reuse it, so return directly | 610 | | // case 2: iff not has_set_value, means there is none value, set it's to NULL | 611 | | while (frame_start < frame_end) { | 612 | | if (arg_nullable.is_null_at(frame_end - 1)) { | 613 | | frame_end--; | 614 | | } else { | 615 | | this->set_value(columns, frame_end - 1); | 616 | | return; | 617 | | } | 618 | | } | 619 | | if (!this->has_set_value()) { | 620 | | this->set_is_null(); | 621 | | } | 622 | | return; | 623 | | } | 624 | | } | 625 | | | 626 | 708 | this->set_value(columns, frame_end - 1); | 627 | 708 | } |
Unexecuted instantiation: _ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb1EE22add_range_single_placeEllllPPKNS_7IColumnE Unexecuted instantiation: _ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb1EE22add_range_single_placeEllllPPKNS_7IColumnE _ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb1EE22add_range_single_placeEllllPPKNS_7IColumnE Line | Count | Source | 585 | 18 | int64_t frame_end, const IColumn** columns) { | 586 | 18 | DCHECK_LE(frame_start, frame_end); | 587 | 18 | if ((frame_end <= partition_start) || | 588 | 18 | (frame_start >= partition_end)) { //beyond or under partition, set null | 589 | 0 | if ((this->has_set_value()) && | 590 | 0 | (!arg_ignore_null || (arg_ignore_null && !this->is_null()))) { | 591 | | // have set value, do nothing, because like rows unbouned preceding and M following | 592 | | // it's caculated as the cumulative mode, so it's could reuse the previous | 593 | 0 | } else { | 594 | 0 | this->set_is_null(); | 595 | 0 | } | 596 | 0 | return; | 597 | 0 | } | 598 | 18 | frame_end = std::min<int64_t>(frame_end, partition_end); | 599 | | | 600 | 18 | if constexpr (arg_ignore_null) { | 601 | 18 | frame_start = std::max<int64_t>(frame_start, partition_start); | 602 | 18 | if (is_column_nullable(*columns[0])) { | 603 | 0 | const auto& arg_nullable = | 604 | 0 | assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>( | 605 | 0 | *columns[0]); | 606 | | // wants find a not null value in [frame_start, frame_end) | 607 | | // iff has find: set_value and return directly | 608 | | // iff not find: the while loop is finished | 609 | | // case 1: iff has_set_value, means the previous window have value, could reuse it, so return directly | 610 | | // case 2: iff not has_set_value, means there is none value, set it's to NULL | 611 | 0 | while (frame_start < frame_end) { | 612 | 0 | if (arg_nullable.is_null_at(frame_end - 1)) { | 613 | 0 | frame_end--; | 614 | 0 | } else { | 615 | 0 | this->set_value(columns, frame_end - 1); | 616 | 0 | return; | 617 | 0 | } | 618 | 0 | } | 619 | 0 | if (!this->has_set_value()) { | 620 | 0 | this->set_is_null(); | 621 | 0 | } | 622 | 0 | return; | 623 | 0 | } | 624 | 18 | } | 625 | | | 626 | 18 | this->set_value(columns, frame_end - 1); | 627 | 18 | } |
_ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb1EE22add_range_single_placeEllllPPKNS_7IColumnE Line | Count | Source | 585 | 79 | int64_t frame_end, const IColumn** columns) { | 586 | 79 | DCHECK_LE(frame_start, frame_end); | 587 | 79 | if ((frame_end <= partition_start) || | 588 | 79 | (frame_start >= partition_end)) { //beyond or under partition, set null | 589 | 0 | if ((this->has_set_value()) && | 590 | 0 | (!arg_ignore_null || (arg_ignore_null && !this->is_null()))) { | 591 | | // have set value, do nothing, because like rows unbouned preceding and M following | 592 | | // it's caculated as the cumulative mode, so it's could reuse the previous | 593 | 0 | } else { | 594 | 0 | this->set_is_null(); | 595 | 0 | } | 596 | 0 | return; | 597 | 0 | } | 598 | 79 | frame_end = std::min<int64_t>(frame_end, partition_end); | 599 | | | 600 | 79 | if constexpr (arg_ignore_null) { | 601 | 79 | frame_start = std::max<int64_t>(frame_start, partition_start); | 602 | 79 | if (is_column_nullable(*columns[0])) { | 603 | 79 | const auto& arg_nullable = | 604 | 79 | assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>( | 605 | 79 | *columns[0]); | 606 | | // wants find a not null value in [frame_start, frame_end) | 607 | | // iff has find: set_value and return directly | 608 | | // iff not find: the while loop is finished | 609 | | // case 1: iff has_set_value, means the previous window have value, could reuse it, so return directly | 610 | | // case 2: iff not has_set_value, means there is none value, set it's to NULL | 611 | 150 | while (frame_start < frame_end) { | 612 | 123 | if (arg_nullable.is_null_at(frame_end - 1)) { | 613 | 71 | frame_end--; | 614 | 71 | } else { | 615 | 52 | this->set_value(columns, frame_end - 1); | 616 | 52 | return; | 617 | 52 | } | 618 | 123 | } | 619 | 27 | if (!this->has_set_value()) { | 620 | 12 | this->set_is_null(); | 621 | 12 | } | 622 | 27 | return; | 623 | 79 | } | 624 | 79 | } | 625 | | | 626 | 0 | this->set_value(columns, frame_end - 1); | 627 | 79 | } |
|
628 | | |
629 | 1.79k | static const char* name() { return "last_value"; }Unexecuted instantiation: _ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb0EE4nameEv Unexecuted instantiation: _ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb0EE4nameEv _ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb0EE4nameEv Line | Count | Source | 629 | 607 | static const char* name() { return "last_value"; } |
_ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb0EE4nameEv Line | Count | Source | 629 | 1.04k | static const char* name() { return "last_value"; } |
Unexecuted instantiation: _ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb1EE4nameEv Unexecuted instantiation: _ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb1EE4nameEv _ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb1EE4nameEv Line | Count | Source | 629 | 36 | static const char* name() { return "last_value"; } |
_ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb1EE4nameEv Line | Count | Source | 629 | 104 | static const char* name() { return "last_value"; } |
|
630 | | }; |
631 | | |
632 | | template <typename Data, bool = false> |
633 | | struct WindowFunctionNthValueImpl : Data { |
634 | | void add_range_single_place(int64_t partition_start, int64_t partition_end, int64_t frame_start, |
635 | 341 | int64_t frame_end, const IColumn** columns) { |
636 | 341 | DCHECK_LE(frame_start, frame_end); |
637 | 341 | int64_t real_frame_start = std::max<int64_t>(frame_start, partition_start); |
638 | 341 | int64_t real_frame_end = std::min<int64_t>(frame_end, partition_end); |
639 | 341 | this->_frame_start_pose = |
640 | 341 | this->_frame_total_rows ? this->_frame_start_pose : real_frame_start; |
641 | 341 | this->_frame_total_rows += real_frame_end - real_frame_start; |
642 | 341 | int64_t offset = assert_cast<const ColumnInt64&, TypeCheckOnRelease::DISABLE>(*columns[1]) |
643 | 341 | .get_data()[0]; |
644 | 341 | DCHECK_NE(offset, 0); |
645 | 341 | int64_t row_position = offset > 0 ? offset - 1 : this->_frame_total_rows + offset; |
646 | 341 | if (row_position < 0 || row_position >= this->_frame_total_rows) { |
647 | | // offset is beyond the frame, so set null |
648 | 139 | this->set_is_null(); |
649 | 139 | return; |
650 | 139 | } |
651 | 202 | this->set_value(columns, row_position + this->_frame_start_pose); |
652 | 202 | } Unexecuted instantiation: _ZN5doris26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb0EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE Unexecuted instantiation: _ZN5doris26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb1EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE _ZN5doris26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb0EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE Line | Count | Source | 635 | 58 | int64_t frame_end, const IColumn** columns) { | 636 | 58 | DCHECK_LE(frame_start, frame_end); | 637 | 58 | int64_t real_frame_start = std::max<int64_t>(frame_start, partition_start); | 638 | 58 | int64_t real_frame_end = std::min<int64_t>(frame_end, partition_end); | 639 | 58 | this->_frame_start_pose = | 640 | 58 | this->_frame_total_rows ? this->_frame_start_pose : real_frame_start; | 641 | 58 | this->_frame_total_rows += real_frame_end - real_frame_start; | 642 | 58 | int64_t offset = assert_cast<const ColumnInt64&, TypeCheckOnRelease::DISABLE>(*columns[1]) | 643 | 58 | .get_data()[0]; | 644 | 58 | DCHECK_NE(offset, 0); | 645 | 58 | int64_t row_position = offset > 0 ? offset - 1 : this->_frame_total_rows + offset; | 646 | 58 | if (row_position < 0 || row_position >= this->_frame_total_rows) { | 647 | | // offset is beyond the frame, so set null | 648 | 19 | this->set_is_null(); | 649 | 19 | return; | 650 | 19 | } | 651 | 39 | this->set_value(columns, row_position + this->_frame_start_pose); | 652 | 39 | } |
_ZN5doris26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb1EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE Line | Count | Source | 635 | 283 | int64_t frame_end, const IColumn** columns) { | 636 | 283 | DCHECK_LE(frame_start, frame_end); | 637 | 283 | int64_t real_frame_start = std::max<int64_t>(frame_start, partition_start); | 638 | 283 | int64_t real_frame_end = std::min<int64_t>(frame_end, partition_end); | 639 | 283 | this->_frame_start_pose = | 640 | 283 | this->_frame_total_rows ? this->_frame_start_pose : real_frame_start; | 641 | 283 | this->_frame_total_rows += real_frame_end - real_frame_start; | 642 | 283 | int64_t offset = assert_cast<const ColumnInt64&, TypeCheckOnRelease::DISABLE>(*columns[1]) | 643 | 283 | .get_data()[0]; | 644 | 283 | DCHECK_NE(offset, 0); | 645 | 283 | int64_t row_position = offset > 0 ? offset - 1 : this->_frame_total_rows + offset; | 646 | 283 | if (row_position < 0 || row_position >= this->_frame_total_rows) { | 647 | | // offset is beyond the frame, so set null | 648 | 120 | this->set_is_null(); | 649 | 120 | return; | 650 | 120 | } | 651 | 163 | this->set_value(columns, row_position + this->_frame_start_pose); | 652 | 163 | } |
|
653 | | |
654 | 526 | static const char* name() { return "nth_value"; }Unexecuted instantiation: _ZN5doris26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb0EEELb0EE4nameEv Unexecuted instantiation: _ZN5doris26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb1EEELb0EE4nameEv _ZN5doris26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb0EEELb0EE4nameEv Line | Count | Source | 654 | 108 | static const char* name() { return "nth_value"; } |
_ZN5doris26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb1EEELb0EE4nameEv Line | Count | Source | 654 | 418 | static const char* name() { return "nth_value"; } |
|
655 | | }; |
656 | | |
657 | | template <typename Data> |
658 | | class WindowFunctionData final |
659 | | : public IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>> { |
660 | | public: |
661 | | WindowFunctionData(const DataTypes& argument_types_) |
662 | 1.46k | : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_), |
663 | 1.46k | _argument_type(argument_types_[0]) {}_ZN5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb0EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE Line | Count | Source | 662 | 153 | : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_), | 663 | 153 | _argument_type(argument_types_[0]) {} |
Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb1EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE _ZN5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb0EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE Line | Count | Source | 662 | 78 | : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_), | 663 | 78 | _argument_type(argument_types_[0]) {} |
_ZN5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb1EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE Line | Count | Source | 662 | 248 | : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_), | 663 | 248 | _argument_type(argument_types_[0]) {} |
Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE _ZN5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE Line | Count | Source | 662 | 42 | : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_), | 663 | 42 | _argument_type(argument_types_[0]) {} |
_ZN5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE Line | Count | Source | 662 | 76 | : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_), | 663 | 76 | _argument_type(argument_types_[0]) {} |
Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb1EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb1EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE _ZN5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb1EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE Line | Count | Source | 662 | 18 | : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_), | 663 | 18 | _argument_type(argument_types_[0]) {} |
_ZN5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb1EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE Line | Count | Source | 662 | 24 | : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_), | 663 | 24 | _argument_type(argument_types_[0]) {} |
_ZN5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb0EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE Line | Count | Source | 662 | 66 | : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_), | 663 | 66 | _argument_type(argument_types_[0]) {} |
Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb1EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE _ZN5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb0EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE Line | Count | Source | 662 | 78 | : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_), | 663 | 78 | _argument_type(argument_types_[0]) {} |
_ZN5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb1EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE Line | Count | Source | 662 | 261 | : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_), | 663 | 261 | _argument_type(argument_types_[0]) {} |
Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb0EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb1EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE _ZN5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb0EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE Line | Count | Source | 662 | 56 | : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_), | 663 | 56 | _argument_type(argument_types_[0]) {} |
_ZN5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb1EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE Line | Count | Source | 662 | 62 | : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_), | 663 | 62 | _argument_type(argument_types_[0]) {} |
_ZN5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE Line | Count | Source | 662 | 1 | : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_), | 663 | 1 | _argument_type(argument_types_[0]) {} |
Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE _ZN5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE Line | Count | Source | 662 | 138 | : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_), | 663 | 138 | _argument_type(argument_types_[0]) {} |
_ZN5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE Line | Count | Source | 662 | 115 | : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_), | 663 | 115 | _argument_type(argument_types_[0]) {} |
Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb1EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb1EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE _ZN5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb1EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE Line | Count | Source | 662 | 19 | : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_), | 663 | 19 | _argument_type(argument_types_[0]) {} |
_ZN5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb1EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE Line | Count | Source | 662 | 25 | : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_), | 663 | 25 | _argument_type(argument_types_[0]) {} |
|
664 | | |
665 | 27.6k | String get_name() const override { return Data::name(); }_ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb0EEELb0EEEE8get_nameB5cxx11Ev Line | Count | Source | 665 | 1.87k | String get_name() const override { return Data::name(); } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb1EEELb0EEEE8get_nameB5cxx11Ev _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb0EEELb0EEEE8get_nameB5cxx11Ev Line | Count | Source | 665 | 817 | String get_name() const override { return Data::name(); } |
_ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb1EEELb0EEEE8get_nameB5cxx11Ev Line | Count | Source | 665 | 6.92k | String get_name() const override { return Data::name(); } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb0EEEE8get_nameB5cxx11Ev Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb0EEEE8get_nameB5cxx11Ev _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb0EEEE8get_nameB5cxx11Ev Line | Count | Source | 665 | 607 | String get_name() const override { return Data::name(); } |
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb0EEEE8get_nameB5cxx11Ev Line | Count | Source | 665 | 1.04k | String get_name() const override { return Data::name(); } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb1EEEE8get_nameB5cxx11Ev Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb1EEEE8get_nameB5cxx11Ev _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb1EEEE8get_nameB5cxx11Ev Line | Count | Source | 665 | 36 | String get_name() const override { return Data::name(); } |
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb1EEEE8get_nameB5cxx11Ev Line | Count | Source | 665 | 104 | String get_name() const override { return Data::name(); } |
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb0EEELb0EEEE8get_nameB5cxx11Ev Line | Count | Source | 665 | 690 | String get_name() const override { return Data::name(); } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb1EEELb0EEEE8get_nameB5cxx11Ev _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb0EEELb0EEEE8get_nameB5cxx11Ev Line | Count | Source | 665 | 817 | String get_name() const override { return Data::name(); } |
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb1EEELb0EEEE8get_nameB5cxx11Ev Line | Count | Source | 665 | 6.98k | String get_name() const override { return Data::name(); } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb0EEELb0EEEE8get_nameB5cxx11Ev Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb1EEELb0EEEE8get_nameB5cxx11Ev _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb0EEELb0EEEE8get_nameB5cxx11Ev Line | Count | Source | 665 | 108 | String get_name() const override { return Data::name(); } |
_ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb1EEELb0EEEE8get_nameB5cxx11Ev Line | Count | Source | 665 | 418 | String get_name() const override { return Data::name(); } |
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb0EEEE8get_nameB5cxx11Ev Line | Count | Source | 665 | 6 | String get_name() const override { return Data::name(); } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb0EEEE8get_nameB5cxx11Ev _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb0EEEE8get_nameB5cxx11Ev Line | Count | Source | 665 | 1.31k | String get_name() const override { return Data::name(); } |
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb0EEEE8get_nameB5cxx11Ev Line | Count | Source | 665 | 5.80k | String get_name() const override { return Data::name(); } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb1EEEE8get_nameB5cxx11Ev Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb1EEEE8get_nameB5cxx11Ev _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb1EEEE8get_nameB5cxx11Ev Line | Count | Source | 665 | 43 | String get_name() const override { return Data::name(); } |
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb1EEEE8get_nameB5cxx11Ev Line | Count | Source | 665 | 91 | String get_name() const override { return Data::name(); } |
|
666 | | |
667 | 29.1k | DataTypePtr get_return_type() const override { |
668 | 29.1k | if constexpr (Data::result_nullable) { |
669 | 26.3k | return make_nullable(_argument_type); |
670 | 26.3k | } else { |
671 | 2.79k | return _argument_type; |
672 | 2.79k | } |
673 | 29.1k | } _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb0EEELb0EEEE15get_return_typeEv Line | Count | Source | 667 | 2.02k | DataTypePtr get_return_type() const override { | 668 | | if constexpr (Data::result_nullable) { | 669 | | return make_nullable(_argument_type); | 670 | 2.02k | } else { | 671 | 2.02k | return _argument_type; | 672 | 2.02k | } | 673 | 2.02k | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb1EEELb0EEEE15get_return_typeEv _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb0EEELb0EEEE15get_return_typeEv Line | Count | Source | 667 | 894 | DataTypePtr get_return_type() const override { | 668 | 894 | if constexpr (Data::result_nullable) { | 669 | 894 | return make_nullable(_argument_type); | 670 | | } else { | 671 | | return _argument_type; | 672 | | } | 673 | 894 | } |
_ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb1EEELb0EEEE15get_return_typeEv Line | Count | Source | 667 | 7.17k | DataTypePtr get_return_type() const override { | 668 | 7.17k | if constexpr (Data::result_nullable) { | 669 | 7.17k | return make_nullable(_argument_type); | 670 | | } else { | 671 | | return _argument_type; | 672 | | } | 673 | 7.17k | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb0EEEE15get_return_typeEv Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb0EEEE15get_return_typeEv _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb0EEEE15get_return_typeEv Line | Count | Source | 667 | 648 | DataTypePtr get_return_type() const override { | 668 | 648 | if constexpr (Data::result_nullable) { | 669 | 648 | return make_nullable(_argument_type); | 670 | | } else { | 671 | | return _argument_type; | 672 | | } | 673 | 648 | } |
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb0EEEE15get_return_typeEv Line | Count | Source | 667 | 1.14k | DataTypePtr get_return_type() const override { | 668 | 1.14k | if constexpr (Data::result_nullable) { | 669 | 1.14k | return make_nullable(_argument_type); | 670 | | } else { | 671 | | return _argument_type; | 672 | | } | 673 | 1.14k | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb1EEEE15get_return_typeEv Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb1EEEE15get_return_typeEv _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb1EEEE15get_return_typeEv Line | Count | Source | 667 | 54 | DataTypePtr get_return_type() const override { | 668 | 54 | if constexpr (Data::result_nullable) { | 669 | 54 | return make_nullable(_argument_type); | 670 | | } else { | 671 | | return _argument_type; | 672 | | } | 673 | 54 | } |
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb1EEEE15get_return_typeEv Line | Count | Source | 667 | 133 | DataTypePtr get_return_type() const override { | 668 | 133 | if constexpr (Data::result_nullable) { | 669 | 133 | return make_nullable(_argument_type); | 670 | | } else { | 671 | | return _argument_type; | 672 | | } | 673 | 133 | } |
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb0EEELb0EEEE15get_return_typeEv Line | Count | Source | 667 | 756 | DataTypePtr get_return_type() const override { | 668 | | if constexpr (Data::result_nullable) { | 669 | | return make_nullable(_argument_type); | 670 | 756 | } else { | 671 | 756 | return _argument_type; | 672 | 756 | } | 673 | 756 | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb1EEELb0EEEE15get_return_typeEv _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb0EEELb0EEEE15get_return_typeEv Line | Count | Source | 667 | 894 | DataTypePtr get_return_type() const override { | 668 | 894 | if constexpr (Data::result_nullable) { | 669 | 894 | return make_nullable(_argument_type); | 670 | | } else { | 671 | | return _argument_type; | 672 | | } | 673 | 894 | } |
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb1EEELb0EEEE15get_return_typeEv Line | Count | Source | 667 | 7.24k | DataTypePtr get_return_type() const override { | 668 | 7.24k | if constexpr (Data::result_nullable) { | 669 | 7.24k | return make_nullable(_argument_type); | 670 | | } else { | 671 | | return _argument_type; | 672 | | } | 673 | 7.24k | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb0EEELb0EEEE15get_return_typeEv Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb1EEELb0EEEE15get_return_typeEv _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb0EEELb0EEEE15get_return_typeEv Line | Count | Source | 667 | 162 | DataTypePtr get_return_type() const override { | 668 | 162 | if constexpr (Data::result_nullable) { | 669 | 162 | return make_nullable(_argument_type); | 670 | | } else { | 671 | | return _argument_type; | 672 | | } | 673 | 162 | } |
_ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb1EEELb0EEEE15get_return_typeEv Line | Count | Source | 667 | 480 | DataTypePtr get_return_type() const override { | 668 | 480 | if constexpr (Data::result_nullable) { | 669 | 480 | return make_nullable(_argument_type); | 670 | | } else { | 671 | | return _argument_type; | 672 | | } | 673 | 480 | } |
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb0EEEE15get_return_typeEv Line | Count | Source | 667 | 7 | DataTypePtr get_return_type() const override { | 668 | | if constexpr (Data::result_nullable) { | 669 | | return make_nullable(_argument_type); | 670 | 7 | } else { | 671 | 7 | return _argument_type; | 672 | 7 | } | 673 | 7 | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb0EEEE15get_return_typeEv _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb0EEEE15get_return_typeEv Line | Count | Source | 667 | 1.45k | DataTypePtr get_return_type() const override { | 668 | 1.45k | if constexpr (Data::result_nullable) { | 669 | 1.45k | return make_nullable(_argument_type); | 670 | | } else { | 671 | | return _argument_type; | 672 | | } | 673 | 1.45k | } |
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb0EEEE15get_return_typeEv Line | Count | Source | 667 | 5.89k | DataTypePtr get_return_type() const override { | 668 | 5.89k | if constexpr (Data::result_nullable) { | 669 | 5.89k | return make_nullable(_argument_type); | 670 | | } else { | 671 | | return _argument_type; | 672 | | } | 673 | 5.89k | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb1EEEE15get_return_typeEv Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb1EEEE15get_return_typeEv _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb1EEEE15get_return_typeEv Line | Count | Source | 667 | 62 | DataTypePtr get_return_type() const override { | 668 | 62 | if constexpr (Data::result_nullable) { | 669 | 62 | return make_nullable(_argument_type); | 670 | | } else { | 671 | | return _argument_type; | 672 | | } | 673 | 62 | } |
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb1EEEE15get_return_typeEv Line | Count | Source | 667 | 141 | DataTypePtr get_return_type() const override { | 668 | 141 | if constexpr (Data::result_nullable) { | 669 | 141 | return make_nullable(_argument_type); | 670 | | } else { | 671 | | return _argument_type; | 672 | | } | 673 | 141 | } |
|
674 | | |
675 | 24.1k | void check_input_columns_type(const IColumn** columns) const override { |
676 | 24.1k | IAggregateFunction::check_input_columns_type(columns); |
677 | 24.1k | const auto function_name = get_name(); |
678 | 24.1k | if (function_name == "lead" || function_name == "lag" || function_name == "nth_value") { |
679 | 16.6k | this->template check_argument_column_type<ColumnInt64>(columns[1]); |
680 | 16.6k | } |
681 | 24.1k | } _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb0EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE Line | Count | Source | 675 | 1.37k | void check_input_columns_type(const IColumn** columns) const override { | 676 | 1.37k | IAggregateFunction::check_input_columns_type(columns); | 677 | 1.37k | const auto function_name = get_name(); | 678 | 1.37k | if (function_name == "lead" || function_name == "lag" || function_name == "nth_value") { | 679 | 1.37k | this->template check_argument_column_type<ColumnInt64>(columns[1]); | 680 | 1.37k | } | 681 | 1.37k | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb1EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb0EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE Line | Count | Source | 675 | 736 | void check_input_columns_type(const IColumn** columns) const override { | 676 | 736 | IAggregateFunction::check_input_columns_type(columns); | 677 | 736 | const auto function_name = get_name(); | 678 | 736 | if (function_name == "lead" || function_name == "lag" || function_name == "nth_value") { | 679 | 736 | this->template check_argument_column_type<ColumnInt64>(columns[1]); | 680 | 736 | } | 681 | 736 | } |
_ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb1EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE Line | Count | Source | 675 | 6.43k | void check_input_columns_type(const IColumn** columns) const override { | 676 | 6.43k | IAggregateFunction::check_input_columns_type(columns); | 677 | 6.43k | const auto function_name = get_name(); | 678 | 6.43k | if (function_name == "lead" || function_name == "lag" || function_name == "nth_value") { | 679 | 6.43k | this->template check_argument_column_type<ColumnInt64>(columns[1]); | 680 | 6.43k | } | 681 | 6.43k | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE Line | Count | Source | 675 | 438 | void check_input_columns_type(const IColumn** columns) const override { | 676 | 438 | IAggregateFunction::check_input_columns_type(columns); | 677 | 438 | const auto function_name = get_name(); | 678 | 438 | if (function_name == "lead" || function_name == "lag" || function_name == "nth_value") { | 679 | 0 | this->template check_argument_column_type<ColumnInt64>(columns[1]); | 680 | 0 | } | 681 | 438 | } |
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE Line | Count | Source | 675 | 749 | void check_input_columns_type(const IColumn** columns) const override { | 676 | 749 | IAggregateFunction::check_input_columns_type(columns); | 677 | 749 | const auto function_name = get_name(); | 678 | 749 | if (function_name == "lead" || function_name == "lag" || function_name == "nth_value") { | 679 | 0 | this->template check_argument_column_type<ColumnInt64>(columns[1]); | 680 | 0 | } | 681 | 749 | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb1EEEE24check_input_columns_typeEPPKNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb1EEEE24check_input_columns_typeEPPKNS_7IColumnE _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb1EEEE24check_input_columns_typeEPPKNS_7IColumnE Line | Count | Source | 675 | 18 | void check_input_columns_type(const IColumn** columns) const override { | 676 | 18 | IAggregateFunction::check_input_columns_type(columns); | 677 | 18 | const auto function_name = get_name(); | 678 | 18 | if (function_name == "lead" || function_name == "lag" || function_name == "nth_value") { | 679 | 0 | this->template check_argument_column_type<ColumnInt64>(columns[1]); | 680 | 0 | } | 681 | 18 | } |
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb1EEEE24check_input_columns_typeEPPKNS_7IColumnE Line | Count | Source | 675 | 79 | void check_input_columns_type(const IColumn** columns) const override { | 676 | 79 | IAggregateFunction::check_input_columns_type(columns); | 677 | 79 | const auto function_name = get_name(); | 678 | 79 | if (function_name == "lead" || function_name == "lag" || function_name == "nth_value") { | 679 | 0 | this->template check_argument_column_type<ColumnInt64>(columns[1]); | 680 | 0 | } | 681 | 79 | } |
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb0EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE Line | Count | Source | 675 | 606 | void check_input_columns_type(const IColumn** columns) const override { | 676 | 606 | IAggregateFunction::check_input_columns_type(columns); | 677 | 606 | const auto function_name = get_name(); | 678 | 606 | if (function_name == "lead" || function_name == "lag" || function_name == "nth_value") { | 679 | 606 | this->template check_argument_column_type<ColumnInt64>(columns[1]); | 680 | 606 | } | 681 | 606 | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb1EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb0EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE Line | Count | Source | 675 | 736 | void check_input_columns_type(const IColumn** columns) const override { | 676 | 736 | IAggregateFunction::check_input_columns_type(columns); | 677 | 736 | const auto function_name = get_name(); | 678 | 736 | if (function_name == "lead" || function_name == "lag" || function_name == "nth_value") { | 679 | 736 | this->template check_argument_column_type<ColumnInt64>(columns[1]); | 680 | 736 | } | 681 | 736 | } |
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb1EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE Line | Count | Source | 675 | 6.44k | void check_input_columns_type(const IColumn** columns) const override { | 676 | 6.44k | IAggregateFunction::check_input_columns_type(columns); | 677 | 6.44k | const auto function_name = get_name(); | 678 | 6.44k | if (function_name == "lead" || function_name == "lag" || function_name == "nth_value") { | 679 | 6.44k | this->template check_argument_column_type<ColumnInt64>(columns[1]); | 680 | 6.44k | } | 681 | 6.44k | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb0EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb1EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb0EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE Line | Count | Source | 675 | 54 | void check_input_columns_type(const IColumn** columns) const override { | 676 | 54 | IAggregateFunction::check_input_columns_type(columns); | 677 | 54 | const auto function_name = get_name(); | 678 | 54 | if (function_name == "lead" || function_name == "lag" || function_name == "nth_value") { | 679 | 54 | this->template check_argument_column_type<ColumnInt64>(columns[1]); | 680 | 54 | } | 681 | 54 | } |
_ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb1EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE Line | Count | Source | 675 | 283 | void check_input_columns_type(const IColumn** columns) const override { | 676 | 283 | IAggregateFunction::check_input_columns_type(columns); | 677 | 283 | const auto function_name = get_name(); | 678 | 283 | if (function_name == "lead" || function_name == "lag" || function_name == "nth_value") { | 679 | 283 | this->template check_argument_column_type<ColumnInt64>(columns[1]); | 680 | 283 | } | 681 | 283 | } |
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE Line | Count | Source | 675 | 5 | void check_input_columns_type(const IColumn** columns) const override { | 676 | 5 | IAggregateFunction::check_input_columns_type(columns); | 677 | 5 | const auto function_name = get_name(); | 678 | 5 | if (function_name == "lead" || function_name == "lag" || function_name == "nth_value") { | 679 | 0 | this->template check_argument_column_type<ColumnInt64>(columns[1]); | 680 | 0 | } | 681 | 5 | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE Line | Count | Source | 675 | 719 | void check_input_columns_type(const IColumn** columns) const override { | 676 | 719 | IAggregateFunction::check_input_columns_type(columns); | 677 | 719 | const auto function_name = get_name(); | 678 | 719 | if (function_name == "lead" || function_name == "lag" || function_name == "nth_value") { | 679 | 0 | this->template check_argument_column_type<ColumnInt64>(columns[1]); | 680 | 0 | } | 681 | 719 | } |
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE Line | Count | Source | 675 | 5.33k | void check_input_columns_type(const IColumn** columns) const override { | 676 | 5.33k | IAggregateFunction::check_input_columns_type(columns); | 677 | 5.33k | const auto function_name = get_name(); | 678 | 5.34k | if (function_name == "lead" || function_name == "lag" || function_name == "nth_value") { | 679 | 0 | this->template check_argument_column_type<ColumnInt64>(columns[1]); | 680 | 0 | } | 681 | 5.33k | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb1EEEE24check_input_columns_typeEPPKNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb1EEEE24check_input_columns_typeEPPKNS_7IColumnE _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb1EEEE24check_input_columns_typeEPPKNS_7IColumnE Line | Count | Source | 675 | 22 | void check_input_columns_type(const IColumn** columns) const override { | 676 | 22 | IAggregateFunction::check_input_columns_type(columns); | 677 | 22 | const auto function_name = get_name(); | 678 | 22 | if (function_name == "lead" || function_name == "lag" || function_name == "nth_value") { | 679 | 0 | this->template check_argument_column_type<ColumnInt64>(columns[1]); | 680 | 0 | } | 681 | 22 | } |
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb1EEEE24check_input_columns_typeEPPKNS_7IColumnE Line | Count | Source | 675 | 64 | void check_input_columns_type(const IColumn** columns) const override { | 676 | 64 | IAggregateFunction::check_input_columns_type(columns); | 677 | 64 | const auto function_name = get_name(); | 678 | 64 | if (function_name == "lead" || function_name == "lag" || function_name == "nth_value") { | 679 | 0 | this->template check_argument_column_type<ColumnInt64>(columns[1]); | 680 | 0 | } | 681 | 64 | } |
|
682 | | |
683 | | void add_range_single_place(int64_t partition_start, int64_t partition_end, int64_t frame_start, |
684 | | int64_t frame_end, AggregateDataPtr place, const IColumn** columns, |
685 | 24.1k | Arena&, UInt8*, UInt8*) const override { |
686 | 24.1k | this->data(place).add_range_single_place(partition_start, partition_end, frame_start, |
687 | 24.1k | frame_end, columns); |
688 | 24.1k | } _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb0EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ Line | Count | Source | 685 | 1.37k | Arena&, UInt8*, UInt8*) const override { | 686 | 1.37k | this->data(place).add_range_single_place(partition_start, partition_end, frame_start, | 687 | 1.37k | frame_end, columns); | 688 | 1.37k | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb1EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb0EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ Line | Count | Source | 685 | 737 | Arena&, UInt8*, UInt8*) const override { | 686 | 737 | this->data(place).add_range_single_place(partition_start, partition_end, frame_start, | 687 | 737 | frame_end, columns); | 688 | 737 | } |
_ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb1EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ Line | Count | Source | 685 | 6.43k | Arena&, UInt8*, UInt8*) const override { | 686 | 6.43k | this->data(place).add_range_single_place(partition_start, partition_end, frame_start, | 687 | 6.43k | frame_end, columns); | 688 | 6.43k | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ Line | Count | Source | 685 | 439 | Arena&, UInt8*, UInt8*) const override { | 686 | 439 | this->data(place).add_range_single_place(partition_start, partition_end, frame_start, | 687 | 439 | frame_end, columns); | 688 | 439 | } |
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ Line | Count | Source | 685 | 749 | Arena&, UInt8*, UInt8*) const override { | 686 | 749 | this->data(place).add_range_single_place(partition_start, partition_end, frame_start, | 687 | 749 | frame_end, columns); | 688 | 749 | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb1EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb1EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb1EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ Line | Count | Source | 685 | 18 | Arena&, UInt8*, UInt8*) const override { | 686 | 18 | this->data(place).add_range_single_place(partition_start, partition_end, frame_start, | 687 | 18 | frame_end, columns); | 688 | 18 | } |
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb1EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ Line | Count | Source | 685 | 79 | Arena&, UInt8*, UInt8*) const override { | 686 | 79 | this->data(place).add_range_single_place(partition_start, partition_end, frame_start, | 687 | 79 | frame_end, columns); | 688 | 79 | } |
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb0EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ Line | Count | Source | 685 | 606 | Arena&, UInt8*, UInt8*) const override { | 686 | 606 | this->data(place).add_range_single_place(partition_start, partition_end, frame_start, | 687 | 606 | frame_end, columns); | 688 | 606 | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb1EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb0EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ Line | Count | Source | 685 | 737 | Arena&, UInt8*, UInt8*) const override { | 686 | 737 | this->data(place).add_range_single_place(partition_start, partition_end, frame_start, | 687 | 737 | frame_end, columns); | 688 | 737 | } |
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb1EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ Line | Count | Source | 685 | 6.44k | Arena&, UInt8*, UInt8*) const override { | 686 | 6.44k | this->data(place).add_range_single_place(partition_start, partition_end, frame_start, | 687 | 6.44k | frame_end, columns); | 688 | 6.44k | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb0EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb1EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb0EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ Line | Count | Source | 685 | 58 | Arena&, UInt8*, UInt8*) const override { | 686 | 58 | this->data(place).add_range_single_place(partition_start, partition_end, frame_start, | 687 | 58 | frame_end, columns); | 688 | 58 | } |
_ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb1EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ Line | Count | Source | 685 | 283 | Arena&, UInt8*, UInt8*) const override { | 686 | 283 | this->data(place).add_range_single_place(partition_start, partition_end, frame_start, | 687 | 283 | frame_end, columns); | 688 | 283 | } |
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ Line | Count | Source | 685 | 5 | Arena&, UInt8*, UInt8*) const override { | 686 | 5 | this->data(place).add_range_single_place(partition_start, partition_end, frame_start, | 687 | 5 | frame_end, columns); | 688 | 5 | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ Line | Count | Source | 685 | 720 | Arena&, UInt8*, UInt8*) const override { | 686 | 720 | this->data(place).add_range_single_place(partition_start, partition_end, frame_start, | 687 | 720 | frame_end, columns); | 688 | 720 | } |
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ Line | Count | Source | 685 | 5.34k | Arena&, UInt8*, UInt8*) const override { | 686 | 5.34k | this->data(place).add_range_single_place(partition_start, partition_end, frame_start, | 687 | 5.34k | frame_end, columns); | 688 | 5.34k | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb1EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb1EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb1EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ Line | Count | Source | 685 | 22 | Arena&, UInt8*, UInt8*) const override { | 686 | 22 | this->data(place).add_range_single_place(partition_start, partition_end, frame_start, | 687 | 22 | frame_end, columns); | 688 | 22 | } |
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb1EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ Line | Count | Source | 685 | 64 | Arena&, UInt8*, UInt8*) const override { | 686 | 64 | this->data(place).add_range_single_place(partition_start, partition_end, frame_start, | 687 | 64 | frame_end, columns); | 688 | 64 | } |
|
689 | | |
690 | 2.58k | void reset(AggregateDataPtr place) const override { this->data(place).reset(); }_ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb0EEELb0EEEE5resetEPc Line | Count | Source | 690 | 152 | void reset(AggregateDataPtr place) const override { this->data(place).reset(); } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb1EEELb0EEEE5resetEPc Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb0EEELb0EEEE5resetEPc _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb1EEELb0EEEE5resetEPc Line | Count | Source | 690 | 39 | void reset(AggregateDataPtr place) const override { this->data(place).reset(); } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb0EEEE5resetEPc Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb0EEEE5resetEPc _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb0EEEE5resetEPc Line | Count | Source | 690 | 359 | void reset(AggregateDataPtr place) const override { this->data(place).reset(); } |
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb0EEEE5resetEPc Line | Count | Source | 690 | 440 | void reset(AggregateDataPtr place) const override { this->data(place).reset(); } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb1EEEE5resetEPc Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb1EEEE5resetEPc _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb1EEEE5resetEPc Line | Count | Source | 690 | 18 | void reset(AggregateDataPtr place) const override { this->data(place).reset(); } |
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb1EEEE5resetEPc Line | Count | Source | 690 | 49 | void reset(AggregateDataPtr place) const override { this->data(place).reset(); } |
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb0EEELb0EEEE5resetEPc Line | Count | Source | 690 | 51 | void reset(AggregateDataPtr place) const override { this->data(place).reset(); } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb1EEELb0EEEE5resetEPc _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb0EEELb0EEEE5resetEPc Line | Count | Source | 690 | 61 | void reset(AggregateDataPtr place) const override { this->data(place).reset(); } |
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb1EEELb0EEEE5resetEPc Line | Count | Source | 690 | 297 | void reset(AggregateDataPtr place) const override { this->data(place).reset(); } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb0EEELb0EEEE5resetEPc Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb1EEELb0EEEE5resetEPc _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb0EEELb0EEEE5resetEPc Line | Count | Source | 690 | 54 | void reset(AggregateDataPtr place) const override { this->data(place).reset(); } |
_ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb1EEELb0EEEE5resetEPc Line | Count | Source | 690 | 230 | void reset(AggregateDataPtr place) const override { this->data(place).reset(); } |
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb0EEEE5resetEPc Line | Count | Source | 690 | 3 | void reset(AggregateDataPtr place) const override { this->data(place).reset(); } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb0EEEE5resetEPc _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb0EEEE5resetEPc Line | Count | Source | 690 | 294 | void reset(AggregateDataPtr place) const override { this->data(place).reset(); } |
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb0EEEE5resetEPc Line | Count | Source | 690 | 467 | void reset(AggregateDataPtr place) const override { this->data(place).reset(); } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb1EEEE5resetEPc Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb1EEEE5resetEPc _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb1EEEE5resetEPc Line | Count | Source | 690 | 22 | void reset(AggregateDataPtr place) const override { this->data(place).reset(); } |
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb1EEEE5resetEPc Line | Count | Source | 690 | 49 | void reset(AggregateDataPtr place) const override { this->data(place).reset(); } |
|
691 | | |
692 | 26.8k | void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override { |
693 | 26.8k | this->data(place).insert_result_into(to); |
694 | 26.8k | } _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb0EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE Line | Count | Source | 692 | 1.37k | void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override { | 693 | 1.37k | this->data(place).insert_result_into(to); | 694 | 1.37k | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb1EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb0EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE Line | Count | Source | 692 | 737 | void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override { | 693 | 737 | this->data(place).insert_result_into(to); | 694 | 737 | } |
_ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb1EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE Line | Count | Source | 692 | 6.43k | void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override { | 693 | 6.43k | this->data(place).insert_result_into(to); | 694 | 6.43k | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE Line | Count | Source | 692 | 628 | void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override { | 693 | 628 | this->data(place).insert_result_into(to); | 694 | 628 | } |
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE Line | Count | Source | 692 | 1.07k | void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override { | 693 | 1.07k | this->data(place).insert_result_into(to); | 694 | 1.07k | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb1EEEE18insert_result_intoEPKcRNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb1EEEE18insert_result_intoEPKcRNS_7IColumnE _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb1EEEE18insert_result_intoEPKcRNS_7IColumnE Line | Count | Source | 692 | 180 | void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override { | 693 | 180 | this->data(place).insert_result_into(to); | 694 | 180 | } |
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb1EEEE18insert_result_intoEPKcRNS_7IColumnE Line | Count | Source | 692 | 233 | void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override { | 693 | 233 | this->data(place).insert_result_into(to); | 694 | 233 | } |
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb0EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE Line | Count | Source | 692 | 606 | void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override { | 693 | 606 | this->data(place).insert_result_into(to); | 694 | 606 | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb1EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb0EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE Line | Count | Source | 692 | 737 | void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override { | 693 | 737 | this->data(place).insert_result_into(to); | 694 | 737 | } |
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb1EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE Line | Count | Source | 692 | 6.44k | void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override { | 693 | 6.44k | this->data(place).insert_result_into(to); | 694 | 6.44k | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb0EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb1EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb0EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE Line | Count | Source | 692 | 544 | void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override { | 693 | 544 | this->data(place).insert_result_into(to); | 694 | 544 | } |
_ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb1EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE Line | Count | Source | 692 | 688 | void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override { | 693 | 688 | this->data(place).insert_result_into(to); | 694 | 688 | } |
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE Line | Count | Source | 692 | 5 | void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override { | 693 | 5 | this->data(place).insert_result_into(to); | 694 | 5 | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE Line | Count | Source | 692 | 1.05k | void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override { | 693 | 1.05k | this->data(place).insert_result_into(to); | 694 | 1.05k | } |
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE Line | Count | Source | 692 | 5.60k | void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override { | 693 | 5.60k | this->data(place).insert_result_into(to); | 694 | 5.60k | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb1EEEE18insert_result_intoEPKcRNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb1EEEE18insert_result_intoEPKcRNS_7IColumnE _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb1EEEE18insert_result_intoEPKcRNS_7IColumnE Line | Count | Source | 692 | 185 | void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override { | 693 | 185 | this->data(place).insert_result_into(to); | 694 | 185 | } |
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb1EEEE18insert_result_intoEPKcRNS_7IColumnE Line | Count | Source | 692 | 264 | void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override { | 693 | 264 | this->data(place).insert_result_into(to); | 694 | 264 | } |
|
695 | | |
696 | | void add(AggregateDataPtr place, const IColumn** columns, ssize_t row_num, |
697 | 0 | Arena&) const override { |
698 | 0 | throw doris::Exception(Status::FatalError("WindowFunctionLeadLagData do not support add")); |
699 | 0 | } Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb0EEELb0EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb1EEELb0EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb0EEELb0EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb1EEELb0EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb0EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb0EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb0EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb0EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb1EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb1EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb1EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb1EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb0EEELb0EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb1EEELb0EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb0EEELb0EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb1EEELb0EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb0EEELb0EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb1EEELb0EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb0EEELb0EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb1EEELb0EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb0EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb0EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb0EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb0EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb1EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb1EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb1EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb1EEEE3addEPcPPKNS_7IColumnElRNS_5ArenaE |
700 | 0 | void merge(AggregateDataPtr place, ConstAggregateDataPtr rhs, Arena&) const override { |
701 | 0 | throw doris::Exception( |
702 | 0 | Status::FatalError("WindowFunctionLeadLagData do not support merge")); |
703 | 0 | } Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb0EEELb0EEEE5mergeEPcPKcRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb1EEELb0EEEE5mergeEPcPKcRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb0EEELb0EEEE5mergeEPcPKcRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb1EEELb0EEEE5mergeEPcPKcRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb0EEEE5mergeEPcPKcRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb0EEEE5mergeEPcPKcRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb0EEEE5mergeEPcPKcRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb0EEEE5mergeEPcPKcRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb1EEEE5mergeEPcPKcRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb1EEEE5mergeEPcPKcRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb1EEEE5mergeEPcPKcRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb1EEEE5mergeEPcPKcRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb0EEELb0EEEE5mergeEPcPKcRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb1EEELb0EEEE5mergeEPcPKcRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb0EEELb0EEEE5mergeEPcPKcRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb1EEELb0EEEE5mergeEPcPKcRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb0EEELb0EEEE5mergeEPcPKcRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb1EEELb0EEEE5mergeEPcPKcRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb0EEELb0EEEE5mergeEPcPKcRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb1EEELb0EEEE5mergeEPcPKcRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb0EEEE5mergeEPcPKcRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb0EEEE5mergeEPcPKcRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb0EEEE5mergeEPcPKcRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb0EEEE5mergeEPcPKcRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb1EEEE5mergeEPcPKcRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb1EEEE5mergeEPcPKcRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb1EEEE5mergeEPcPKcRNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb1EEEE5mergeEPcPKcRNS_5ArenaE |
704 | 0 | void serialize(ConstAggregateDataPtr place, BufferWritable& buf) const override { |
705 | 0 | throw doris::Exception( |
706 | 0 | Status::FatalError("WindowFunctionLeadLagData do not support serialize")); |
707 | 0 | } Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb0EEELb0EEEE9serializeEPKcRNS_14BufferWritableE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb1EEELb0EEEE9serializeEPKcRNS_14BufferWritableE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb0EEELb0EEEE9serializeEPKcRNS_14BufferWritableE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb1EEELb0EEEE9serializeEPKcRNS_14BufferWritableE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb0EEEE9serializeEPKcRNS_14BufferWritableE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb0EEEE9serializeEPKcRNS_14BufferWritableE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb0EEEE9serializeEPKcRNS_14BufferWritableE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb0EEEE9serializeEPKcRNS_14BufferWritableE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb1EEEE9serializeEPKcRNS_14BufferWritableE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb1EEEE9serializeEPKcRNS_14BufferWritableE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb1EEEE9serializeEPKcRNS_14BufferWritableE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb1EEEE9serializeEPKcRNS_14BufferWritableE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb0EEELb0EEEE9serializeEPKcRNS_14BufferWritableE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb1EEELb0EEEE9serializeEPKcRNS_14BufferWritableE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb0EEELb0EEEE9serializeEPKcRNS_14BufferWritableE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb1EEELb0EEEE9serializeEPKcRNS_14BufferWritableE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb0EEELb0EEEE9serializeEPKcRNS_14BufferWritableE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb1EEELb0EEEE9serializeEPKcRNS_14BufferWritableE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb0EEELb0EEEE9serializeEPKcRNS_14BufferWritableE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb1EEELb0EEEE9serializeEPKcRNS_14BufferWritableE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb0EEEE9serializeEPKcRNS_14BufferWritableE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb0EEEE9serializeEPKcRNS_14BufferWritableE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb0EEEE9serializeEPKcRNS_14BufferWritableE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb0EEEE9serializeEPKcRNS_14BufferWritableE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb1EEEE9serializeEPKcRNS_14BufferWritableE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb1EEEE9serializeEPKcRNS_14BufferWritableE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb1EEEE9serializeEPKcRNS_14BufferWritableE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb1EEEE9serializeEPKcRNS_14BufferWritableE |
708 | 0 | void deserialize(AggregateDataPtr place, BufferReadable& buf, Arena&) const override { |
709 | 0 | throw doris::Exception( |
710 | 0 | Status::FatalError("WindowFunctionLeadLagData do not support deserialize")); |
711 | 0 | } Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb0EEELb0EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb1EEELb0EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb0EEELb0EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb1EEELb0EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb0EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb0EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb0EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb0EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb1EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb1EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb1EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb1EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb0EEELb0EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb1EEELb0EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb0EEELb0EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb1EEELb0EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb0EEELb0EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb1EEELb0EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb0EEELb0EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb1EEELb0EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb0EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb0EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb0EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb0EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb1EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb1EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb1EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb1EEEE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE |
712 | | |
713 | | private: |
714 | | DataTypePtr _argument_type; |
715 | | }; |
716 | | |
717 | | } // namespace doris |