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 | 1 | : IAggregateFunctionDataHelper(argument_types_) {} |
54 | | |
55 | 1 | String get_name() const override { return "row_number"; } |
56 | | |
57 | 12 | 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 | 10 | Arena&, UInt8*, UInt8*) const override { |
66 | 10 | ++data(place).count; |
67 | 10 | } |
68 | | |
69 | 1 | void reset(AggregateDataPtr place) const override { |
70 | 1 | WindowFunctionRowNumber::data(place).count = 0; |
71 | 1 | } |
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 | 1 | bool result_column_could_resize() const override { return true; } |
79 | | |
80 | | void insert_result_into_range(ConstAggregateDataPtr __restrict place, IColumn& to, |
81 | 10 | const size_t start, const size_t end) const override { |
82 | 10 | auto& column = assert_cast<ColumnInt64&, TypeCheckOnRelease::DISABLE>(to); |
83 | 20 | for (size_t i = start; i < end; ++i) { |
84 | 10 | column.get_data()[i] = (doris::WindowFunctionRowNumber::data(place).count); |
85 | 10 | } |
86 | 10 | } |
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 | 0 | : IAggregateFunctionDataHelper(argument_types_) {} |
103 | | |
104 | 0 | String get_name() const override { return "rank"; } |
105 | | |
106 | 0 | 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 | 0 | Arena&, UInt8*, UInt8*) const override { |
115 | 0 | int64_t peer_group_count = frame_end - frame_start; |
116 | 0 | if (WindowFunctionRank::data(place).peer_group_start != frame_start) { |
117 | 0 | WindowFunctionRank::data(place).peer_group_start = frame_start; |
118 | 0 | WindowFunctionRank::data(place).rank += WindowFunctionRank::data(place).count; |
119 | 0 | } |
120 | 0 | WindowFunctionRank::data(place).count = peer_group_count; |
121 | 0 | } |
122 | | |
123 | 0 | void reset(AggregateDataPtr place) const override { |
124 | 0 | WindowFunctionRank::data(place).rank = 0; |
125 | 0 | WindowFunctionRank::data(place).count = 1; |
126 | 0 | WindowFunctionRank::data(place).peer_group_start = -1; |
127 | 0 | } |
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 | 0 | bool result_column_could_resize() const override { return true; } |
135 | | |
136 | | void insert_result_into_range(ConstAggregateDataPtr __restrict place, IColumn& to, |
137 | 0 | const size_t start, const size_t end) const override { |
138 | 0 | auto& column = assert_cast<ColumnInt64&, TypeCheckOnRelease::DISABLE>(to); |
139 | 0 | for (size_t i = start; i < end; ++i) { |
140 | 0 | column.get_data()[i] = (doris::WindowFunctionRank::data(place).rank); |
141 | 0 | } |
142 | 0 | } |
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 | 0 | : IAggregateFunctionDataHelper(argument_types_) {} |
159 | | |
160 | 0 | String get_name() const override { return "dense_rank"; } |
161 | | |
162 | 0 | 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 | 0 | Arena&, UInt8*, UInt8*) const override { |
171 | 0 | if (WindowFunctionDenseRank::data(place).peer_group_start != frame_start) { |
172 | 0 | WindowFunctionDenseRank::data(place).peer_group_start = frame_start; |
173 | 0 | WindowFunctionDenseRank::data(place).rank++; |
174 | 0 | } |
175 | 0 | } |
176 | | |
177 | 0 | void reset(AggregateDataPtr place) const override { |
178 | 0 | WindowFunctionDenseRank::data(place).rank = 0; |
179 | 0 | WindowFunctionDenseRank::data(place).peer_group_start = -1; |
180 | 0 | } |
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 | 0 | bool result_column_could_resize() const override { return true; } |
188 | | |
189 | | void insert_result_into_range(ConstAggregateDataPtr __restrict place, IColumn& to, |
190 | 0 | const size_t start, const size_t end) const override { |
191 | 0 | auto& column = assert_cast<ColumnInt64&, TypeCheckOnRelease::DISABLE>(to); |
192 | 0 | for (size_t i = start; i < end; ++i) { |
193 | 0 | column.get_data()[i] = (doris::WindowFunctionDenseRank::data(place).rank); |
194 | 0 | } |
195 | 0 | } |
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 | 0 | static double _cal_percent(int64_t rank, int64_t total_rows) { |
213 | 0 | return total_rows <= 1 ? 0.0 : double(rank - 1) * 1.0 / double(total_rows - 1); |
214 | 0 | } |
215 | | |
216 | | public: |
217 | | WindowFunctionPercentRank(const DataTypes& argument_types_) |
218 | 2 | : IAggregateFunctionDataHelper(argument_types_) {} |
219 | | |
220 | 2 | String get_name() const override { return "percent_rank"; } |
221 | | |
222 | 0 | WindowSpillStrategy window_spill_strategy() const override { |
223 | 0 | return WindowSpillStrategy::PEER_GROUP; |
224 | 0 | } |
225 | | |
226 | 0 | WindowSpillPeerFunction window_spill_peer_function() const override { |
227 | 0 | return WindowSpillPeerFunction::PERCENT_RANK; |
228 | 0 | } |
229 | | |
230 | 4 | 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 | 0 | Arena&, UInt8*, UInt8*) const override { |
237 | 0 | int64_t peer_group_count = frame_end - frame_start; |
238 | 0 | if (WindowFunctionPercentRank::data(place).peer_group_start != frame_start) { |
239 | 0 | WindowFunctionPercentRank::data(place).peer_group_start = frame_start; |
240 | 0 | WindowFunctionPercentRank::data(place).rank += |
241 | 0 | 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 | 0 | WindowFunctionPercentRank::data(place).partition_size = partition_end - partition_start; |
245 | 0 | } |
246 | 0 | WindowFunctionPercentRank::data(place).count = peer_group_count; |
247 | 0 | } |
248 | | |
249 | 4 | void reset(AggregateDataPtr place) const override { |
250 | 4 | WindowFunctionPercentRank::data(place).rank = 0; |
251 | 4 | WindowFunctionPercentRank::data(place).count = 1; |
252 | 4 | WindowFunctionPercentRank::data(place).peer_group_start = -1; |
253 | 4 | WindowFunctionPercentRank::data(place).partition_size = 0; |
254 | 4 | } |
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 | 2 | bool result_column_could_resize() const override { return true; } |
263 | | |
264 | | void insert_result_into_range(ConstAggregateDataPtr __restrict place, IColumn& to, |
265 | 0 | const size_t start, const size_t end) const override { |
266 | 0 | auto& column = assert_cast<ColumnFloat64&, TypeCheckOnRelease::DISABLE>(to); |
267 | 0 | auto percent_rank = _cal_percent(data(place).rank, data(place).partition_size); |
268 | 0 | for (size_t i = start; i < end; ++i) { |
269 | 0 | column.get_data()[i] = percent_rank; |
270 | 0 | } |
271 | 0 | } |
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 | 0 | int64_t partition_end) { |
289 | 0 | if (data(place).denominator == 0) { |
290 | 0 | data(place).denominator = partition_end - partition_start; |
291 | 0 | } |
292 | 0 | } |
293 | | |
294 | | public: |
295 | | WindowFunctionCumeDist(const DataTypes& argument_types_) |
296 | 11 | : IAggregateFunctionDataHelper(argument_types_) {} |
297 | | |
298 | 11 | String get_name() const override { return "cume_dist"; } |
299 | | |
300 | 0 | WindowSpillStrategy window_spill_strategy() const override { |
301 | 0 | return WindowSpillStrategy::PEER_GROUP; |
302 | 0 | } |
303 | | |
304 | 0 | WindowSpillPeerFunction window_spill_peer_function() const override { |
305 | 0 | return WindowSpillPeerFunction::CUME_DIST; |
306 | 0 | } |
307 | | |
308 | 22 | 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 | 0 | Arena&, UInt8*, UInt8*) const override { |
315 | 0 | check_default(place, partition_start, partition_end); |
316 | 0 | int64_t peer_group_count = frame_end - frame_start; |
317 | 0 | if (WindowFunctionCumeDist::data(place).peer_group_start != frame_start) { |
318 | 0 | WindowFunctionCumeDist::data(place).peer_group_start = frame_start; |
319 | 0 | WindowFunctionCumeDist::data(place).numerator += peer_group_count; |
320 | 0 | } |
321 | 0 | } |
322 | | |
323 | 14 | void reset(AggregateDataPtr place) const override { |
324 | 14 | WindowFunctionCumeDist::data(place).numerator = 0; |
325 | 14 | WindowFunctionCumeDist::data(place).denominator = 0; |
326 | 14 | WindowFunctionCumeDist::data(place).peer_group_start = -1; |
327 | 14 | } |
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 | 11 | bool result_column_could_resize() const override { return true; } |
336 | | |
337 | | void insert_result_into_range(ConstAggregateDataPtr __restrict place, IColumn& to, |
338 | 0 | const size_t start, const size_t end) const override { |
339 | 0 | auto& column = assert_cast<ColumnFloat64&, TypeCheckOnRelease::DISABLE>(to); |
340 | 0 | auto cume_dist = (double)data(place).numerator * 1.0 / (double)data(place).denominator; |
341 | 0 | for (size_t i = start; i < end; ++i) { |
342 | 0 | column.get_data()[i] = cume_dist; |
343 | 0 | } |
344 | 0 | } |
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 | 41 | : IAggregateFunctionDataHelper(argument_types_) {} |
363 | | |
364 | 40 | String get_name() const override { return "ntile"; } |
365 | | |
366 | 1 | WindowSpillStrategy window_spill_strategy() const override { |
367 | 1 | return WindowSpillStrategy::NTILE; |
368 | 1 | } |
369 | | |
370 | 81 | 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 | 0 | 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 | 0 | int64_t row_index = ++WindowFunctionNTile::data(place).rows - 1; |
381 | 0 | int64_t bucket_num = columns[0]->get_int(0); |
382 | 0 | int64_t partition_size = partition_end - partition_start; |
383 | |
|
384 | 0 | int64_t small_bucket_size = partition_size / bucket_num; |
385 | 0 | int64_t big_bucket_num = partition_size % bucket_num; |
386 | 0 | int64_t first_small_bucket_row_index = big_bucket_num * (small_bucket_size + 1); |
387 | 0 | if (row_index >= first_small_bucket_row_index) { |
388 | | // small_bucket_size can't be zero |
389 | 0 | WindowFunctionNTile::data(place).bucket_index = |
390 | 0 | big_bucket_num + 1 + |
391 | 0 | (row_index - first_small_bucket_row_index) / small_bucket_size; |
392 | 0 | } else { |
393 | 0 | WindowFunctionNTile::data(place).bucket_index = row_index / (small_bucket_size + 1) + 1; |
394 | 0 | } |
395 | 0 | } |
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 | 40 | bool result_column_could_resize() const override { return true; } |
405 | | |
406 | | void insert_result_into_range(ConstAggregateDataPtr __restrict place, IColumn& to, |
407 | 0 | const size_t start, const size_t end) const override { |
408 | 0 | auto& column = assert_cast<ColumnInt64&, TypeCheckOnRelease::DISABLE>(to); |
409 | 0 | for (size_t i = start; i < end; ++i) { |
410 | 0 | column.get_data()[i] = WindowFunctionNTile::data(place).bucket_index; |
411 | 0 | } |
412 | 0 | } |
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 | 1 | 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 | 1 | void set_is_null() { this->_data_value.reset(); } |
Unexecuted instantiation: _ZN5doris13FirstLastDataILb1ELb1EE11set_is_nullEv |
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 | 0 | void reset() { |
429 | 0 | this->_data_value.reset(); |
430 | 0 | this->_has_value = false; |
431 | 0 | this->_frame_start_pose = 0; |
432 | 0 | this->_frame_total_rows = 0; |
433 | 0 | } Unexecuted instantiation: _ZN5doris12NthValueDataILb0ELb0EE5resetEv Unexecuted instantiation: _ZN5doris12NthValueDataILb0ELb1EE5resetEv Unexecuted instantiation: _ZN5doris12NthValueDataILb1ELb0EE5resetEv Unexecuted instantiation: _ZN5doris12NthValueDataILb1ELb1EE5resetEv |
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 | 1 | void reset() { |
445 | 1 | _data_value.reset(); |
446 | 1 | _is_inited = false; |
447 | 1 | _offset_value = 0; |
448 | 1 | } _ZN5doris11LeadLagDataILb0ELb0EE5resetEv Line | Count | Source | 444 | 1 | void reset() { | 445 | 1 | _data_value.reset(); | 446 | 1 | _is_inited = false; | 447 | 1 | _offset_value = 0; | 448 | 1 | } |
Unexecuted instantiation: _ZN5doris11LeadLagDataILb0ELb1EE5resetEv Unexecuted instantiation: _ZN5doris11LeadLagDataILb1ELb0EE5resetEv Unexecuted instantiation: _ZN5doris11LeadLagDataILb1ELb1EE5resetEv |
449 | | |
450 | 5 | void insert_result_into(IColumn& to) const { |
451 | 5 | if constexpr (result_is_nullable) { |
452 | 2 | if (!_data_value.has()) { |
453 | 0 | auto& col = assert_cast<ColumnNullable&, TypeCheckOnRelease::DISABLE>(to); |
454 | 0 | col.insert_default(); |
455 | 2 | } else { |
456 | 2 | auto& col = assert_cast<ColumnNullable&, TypeCheckOnRelease::DISABLE>(to); |
457 | 2 | col.get_null_map_data().push_back(0); |
458 | 2 | _data_value.insert_result_into(col.get_nested_column()); |
459 | 2 | } |
460 | 3 | } else { |
461 | 3 | _data_value.insert_result_into(to); |
462 | 3 | } |
463 | 5 | } _ZNK5doris11LeadLagDataILb0ELb0EE18insert_result_intoERNS_7IColumnE Line | Count | Source | 450 | 3 | 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 | 3 | } else { | 461 | 3 | _data_value.insert_result_into(to); | 462 | 3 | } | 463 | 3 | } |
Unexecuted instantiation: _ZNK5doris11LeadLagDataILb0ELb1EE18insert_result_intoERNS_7IColumnE _ZNK5doris11LeadLagDataILb1ELb0EE18insert_result_intoERNS_7IColumnE Line | Count | Source | 450 | 2 | void insert_result_into(IColumn& to) const { | 451 | 2 | if constexpr (result_is_nullable) { | 452 | 2 | if (!_data_value.has()) { | 453 | 0 | auto& col = assert_cast<ColumnNullable&, TypeCheckOnRelease::DISABLE>(to); | 454 | 0 | col.insert_default(); | 455 | 2 | } else { | 456 | 2 | auto& col = assert_cast<ColumnNullable&, TypeCheckOnRelease::DISABLE>(to); | 457 | 2 | col.get_null_map_data().push_back(0); | 458 | 2 | _data_value.insert_result_into(col.get_nested_column()); | 459 | 2 | } | 460 | | } else { | 461 | | _data_value.insert_result_into(to); | 462 | | } | 463 | 2 | } |
Unexecuted instantiation: _ZNK5doris11LeadLagDataILb1ELb1EE18insert_result_intoERNS_7IColumnE |
464 | | |
465 | 2 | void set_value(const IColumn** columns, size_t pos) { |
466 | 2 | if constexpr (arg_is_nullable) { |
467 | 0 | if (assert_cast<const ColumnNullable*, TypeCheckOnRelease::DISABLE>(columns[0]) |
468 | 0 | ->is_null_at(pos)) { |
469 | 0 | _data_value.reset(); |
470 | 0 | return; |
471 | 0 | } |
472 | 0 | const auto& nullable = |
473 | 0 | assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(*columns[0]); |
474 | 0 | _data_value.set(nullable.get_nested_column(), pos); |
475 | 2 | } else { |
476 | 2 | _data_value.set(*columns[0], pos); |
477 | 2 | } |
478 | 2 | } Unexecuted instantiation: _ZN5doris11LeadLagDataILb0ELb0EE9set_valueEPPKNS_7IColumnEm Unexecuted instantiation: _ZN5doris11LeadLagDataILb0ELb1EE9set_valueEPPKNS_7IColumnEm _ZN5doris11LeadLagDataILb1ELb0EE9set_valueEPPKNS_7IColumnEm Line | Count | Source | 465 | 2 | 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 | 2 | } else { | 476 | 2 | _data_value.set(*columns[0], pos); | 477 | 2 | } | 478 | 2 | } |
Unexecuted instantiation: _ZN5doris11LeadLagDataILb1ELb1EE9set_valueEPPKNS_7IColumnEm |
479 | | |
480 | 3 | void set_value_from_default(const IColumn* column, size_t pos) { |
481 | 3 | DCHECK_GE(pos, 0); |
482 | 3 | 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 | 3 | } else { |
491 | 3 | this->_data_value.set(*column, pos); |
492 | 3 | } |
493 | 3 | } _ZN5doris11LeadLagDataILb0ELb0EE22set_value_from_defaultEPKNS_7IColumnEm Line | Count | Source | 480 | 3 | void set_value_from_default(const IColumn* column, size_t pos) { | 481 | 3 | DCHECK_GE(pos, 0); | 482 | 3 | 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 | 3 | } else { | 491 | 3 | this->_data_value.set(*column, pos); | 492 | 3 | } | 493 | 3 | } |
Unexecuted instantiation: _ZN5doris11LeadLagDataILb0ELb1EE22set_value_from_defaultEPKNS_7IColumnEm Unexecuted instantiation: _ZN5doris11LeadLagDataILb1ELb0EE22set_value_from_defaultEPKNS_7IColumnEm Unexecuted instantiation: _ZN5doris11LeadLagDataILb1ELb1EE22set_value_from_defaultEPKNS_7IColumnEm |
494 | | |
495 | 3 | void set_offset_value(const IColumn* column) { |
496 | 3 | if (!_is_inited) { |
497 | 1 | const auto* column_number = |
498 | 1 | assert_cast<const ColumnInt64*, TypeCheckOnRelease::DISABLE>(column); |
499 | 1 | _offset_value = column_number->get_data()[0]; |
500 | 1 | _is_inited = true; |
501 | 1 | } |
502 | 3 | } _ZN5doris11LeadLagDataILb0ELb0EE16set_offset_valueEPKNS_7IColumnE Line | Count | Source | 495 | 3 | void set_offset_value(const IColumn* column) { | 496 | 3 | if (!_is_inited) { | 497 | 1 | const auto* column_number = | 498 | 1 | assert_cast<const ColumnInt64*, TypeCheckOnRelease::DISABLE>(column); | 499 | 1 | _offset_value = column_number->get_data()[0]; | 500 | 1 | _is_inited = true; | 501 | 1 | } | 502 | 3 | } |
Unexecuted instantiation: _ZN5doris11LeadLagDataILb0ELb1EE16set_offset_valueEPKNS_7IColumnE Unexecuted instantiation: _ZN5doris11LeadLagDataILb1ELb0EE16set_offset_valueEPKNS_7IColumnE Unexecuted instantiation: _ZN5doris11LeadLagDataILb1ELb1EE16set_offset_valueEPKNS_7IColumnE |
503 | | |
504 | 3 | int64_t get_offset_value() const { return _offset_value; }_ZNK5doris11LeadLagDataILb0ELb0EE16get_offset_valueEv Line | Count | Source | 504 | 3 | int64_t get_offset_value() const { return _offset_value; } |
Unexecuted instantiation: _ZNK5doris11LeadLagDataILb0ELb1EE16get_offset_valueEv Unexecuted instantiation: _ZNK5doris11LeadLagDataILb1ELb0EE16get_offset_valueEv Unexecuted instantiation: _ZNK5doris11LeadLagDataILb1ELb1EE16get_offset_valueEv |
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 | 4 | int64_t frame_end, const IColumn** columns) { |
516 | 4 | if (frame_end > partition_end) { //output default value, win end is under partition |
517 | 3 | 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 | 3 | auto pos = frame_end - 1 - this->get_offset_value(); |
521 | 3 | this->set_value_from_default(columns[2], pos); |
522 | 3 | return; |
523 | 3 | } |
524 | 1 | this->set_value(columns, frame_end - 1); |
525 | 1 | } _ZN5doris22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb0EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE Line | Count | Source | 515 | 3 | int64_t frame_end, const IColumn** columns) { | 516 | 3 | if (frame_end > partition_end) { //output default value, win end is under partition | 517 | 3 | 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 | 3 | auto pos = frame_end - 1 - this->get_offset_value(); | 521 | 3 | this->set_value_from_default(columns[2], pos); | 522 | 3 | return; | 523 | 3 | } | 524 | 0 | this->set_value(columns, frame_end - 1); | 525 | 0 | } |
Unexecuted instantiation: _ZN5doris22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb1EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE _ZN5doris22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb0EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE Line | Count | Source | 515 | 1 | int64_t frame_end, const IColumn** columns) { | 516 | 1 | if (frame_end > partition_end) { //output default value, win end is under partition | 517 | 0 | 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 | 0 | auto pos = frame_end - 1 - this->get_offset_value(); | 521 | 0 | this->set_value_from_default(columns[2], pos); | 522 | 0 | return; | 523 | 0 | } | 524 | 1 | this->set_value(columns, frame_end - 1); | 525 | 1 | } |
Unexecuted instantiation: _ZN5doris22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb1EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE |
526 | | |
527 | 4 | static const char* name() { return "lead"; }_ZN5doris22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb0EEELb0EE4nameEv Line | Count | Source | 527 | 4 | static const char* name() { return "lead"; } |
Unexecuted instantiation: _ZN5doris22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb1EEELb0EE4nameEv Unexecuted instantiation: _ZN5doris22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb0EEELb0EE4nameEv Unexecuted instantiation: _ZN5doris22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb1EEELb0EE4nameEv |
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 | 1 | int64_t frame_end, const IColumn** columns) { |
534 | | // window start is beyond partition |
535 | 1 | if (partition_start >= frame_end) { //[unbound preceding(0), offset preceding(-123)] |
536 | 0 | this->set_offset_value(columns[1]); |
537 | 0 | auto pos = frame_end - 1 + this->get_offset_value(); |
538 | 0 | this->set_value_from_default(columns[2], pos); |
539 | 0 | return; |
540 | 0 | } |
541 | 1 | this->set_value(columns, frame_end - 1); |
542 | 1 | } Unexecuted instantiation: _ZN5doris21WindowFunctionLagImplINS_11LeadLagDataILb0ELb0EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE Unexecuted instantiation: _ZN5doris21WindowFunctionLagImplINS_11LeadLagDataILb0ELb1EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE _ZN5doris21WindowFunctionLagImplINS_11LeadLagDataILb1ELb0EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE Line | Count | Source | 533 | 1 | int64_t frame_end, const IColumn** columns) { | 534 | | // window start is beyond partition | 535 | 1 | if (partition_start >= frame_end) { //[unbound preceding(0), offset preceding(-123)] | 536 | 0 | this->set_offset_value(columns[1]); | 537 | 0 | auto pos = frame_end - 1 + this->get_offset_value(); | 538 | 0 | this->set_value_from_default(columns[2], pos); | 539 | 0 | return; | 540 | 0 | } | 541 | 1 | this->set_value(columns, frame_end - 1); | 542 | 1 | } |
Unexecuted instantiation: _ZN5doris21WindowFunctionLagImplINS_11LeadLagDataILb1ELb1EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE |
543 | | |
544 | 0 | static const char* name() { return "lag"; }Unexecuted instantiation: _ZN5doris21WindowFunctionLagImplINS_11LeadLagDataILb0ELb0EEELb0EE4nameEv Unexecuted instantiation: _ZN5doris21WindowFunctionLagImplINS_11LeadLagDataILb0ELb1EEELb0EE4nameEv Unexecuted instantiation: _ZN5doris21WindowFunctionLagImplINS_11LeadLagDataILb1ELb0EEELb0EE4nameEv Unexecuted instantiation: _ZN5doris21WindowFunctionLagImplINS_11LeadLagDataILb1ELb1EEELb0EE4nameEv |
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 | 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 | if ((this->has_set_value()) && |
554 | 6 | (!arg_ignore_null || (arg_ignore_null && !this->is_null()))) { |
555 | 2 | return; |
556 | 2 | } |
557 | 6 | DCHECK_LE(frame_start, frame_end); |
558 | 4 | if (frame_start >= partition_end || frame_end <= partition_start) { |
559 | 0 | this->set_is_null(); |
560 | 0 | return; |
561 | 0 | } |
562 | 4 | frame_start = std::max<int64_t>(frame_start, partition_start); |
563 | | |
564 | 4 | if constexpr (arg_ignore_null) { |
565 | 0 | frame_end = std::min<int64_t>(frame_end, partition_end); |
566 | 0 | 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 | 0 | } |
576 | 4 | this->set_value(columns, frame_start); |
577 | 4 | } _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 | 1 | 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 | 1 | if ((this->has_set_value()) && | 554 | 1 | (!arg_ignore_null || (arg_ignore_null && !this->is_null()))) { | 555 | 0 | return; | 556 | 0 | } | 557 | 1 | DCHECK_LE(frame_start, frame_end); | 558 | 1 | if (frame_start >= partition_end || frame_end <= partition_start) { | 559 | 0 | this->set_is_null(); | 560 | 0 | return; | 561 | 0 | } | 562 | 1 | 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 | 1 | this->set_value(columns, frame_start); | 577 | 1 | } |
Unexecuted instantiation: _ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE Unexecuted instantiation: _ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb1EE22add_range_single_placeEllllPPKNS_7IColumnE Unexecuted instantiation: _ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb1EE22add_range_single_placeEllllPPKNS_7IColumnE Unexecuted instantiation: _ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb1EE22add_range_single_placeEllllPPKNS_7IColumnE Unexecuted instantiation: _ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb1EE22add_range_single_placeEllllPPKNS_7IColumnE |
578 | | |
579 | 6 | 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 Unexecuted instantiation: _ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb0EE4nameEv Unexecuted instantiation: _ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb0EE4nameEv Unexecuted instantiation: _ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb1EE4nameEv Unexecuted instantiation: _ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb1EE4nameEv Unexecuted instantiation: _ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb1EE4nameEv Unexecuted instantiation: _ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb1EE4nameEv |
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 | int64_t frame_end, const IColumn** columns) { |
586 | 1 | DCHECK_LE(frame_start, frame_end); |
587 | 1 | if ((frame_end <= partition_start) || |
588 | 1 | (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 | 1 | frame_end = std::min<int64_t>(frame_end, partition_end); |
599 | | |
600 | 1 | if constexpr (arg_ignore_null) { |
601 | 0 | frame_start = std::max<int64_t>(frame_start, partition_start); |
602 | 0 | 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 | 0 | } |
625 | | |
626 | 0 | this->set_value(columns, frame_end - 1); |
627 | 1 | } 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 | 1 | int64_t frame_end, const IColumn** columns) { | 586 | 1 | DCHECK_LE(frame_start, frame_end); | 587 | 1 | if ((frame_end <= partition_start) || | 588 | 1 | (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 | 1 | 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 | 1 | this->set_value(columns, frame_end - 1); | 627 | 1 | } |
Unexecuted instantiation: _ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE Unexecuted instantiation: _ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb1EE22add_range_single_placeEllllPPKNS_7IColumnE Unexecuted instantiation: _ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb1EE22add_range_single_placeEllllPPKNS_7IColumnE Unexecuted instantiation: _ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb1EE22add_range_single_placeEllllPPKNS_7IColumnE Unexecuted instantiation: _ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb1EE22add_range_single_placeEllllPPKNS_7IColumnE |
628 | | |
629 | 0 | static const char* name() { return "last_value"; }Unexecuted instantiation: _ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb0EE4nameEv Unexecuted instantiation: _ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb0EE4nameEv Unexecuted instantiation: _ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb0EE4nameEv Unexecuted instantiation: _ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb0EE4nameEv Unexecuted instantiation: _ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb1EE4nameEv Unexecuted instantiation: _ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb1EE4nameEv Unexecuted instantiation: _ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb1EE4nameEv Unexecuted instantiation: _ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb1EE4nameEv |
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 | 4 | int64_t frame_end, const IColumn** columns) { |
636 | 4 | DCHECK_LE(frame_start, frame_end); |
637 | 4 | int64_t real_frame_start = std::max<int64_t>(frame_start, partition_start); |
638 | 4 | int64_t real_frame_end = std::min<int64_t>(frame_end, partition_end); |
639 | 4 | this->_frame_start_pose = |
640 | 4 | this->_frame_total_rows ? this->_frame_start_pose : real_frame_start; |
641 | 4 | this->_frame_total_rows += real_frame_end - real_frame_start; |
642 | 4 | int64_t offset = assert_cast<const ColumnInt64&, TypeCheckOnRelease::DISABLE>(*columns[1]) |
643 | 4 | .get_data()[0]; |
644 | 4 | DCHECK_NE(offset, 0); |
645 | 4 | int64_t row_position = offset > 0 ? offset - 1 : this->_frame_total_rows + offset; |
646 | 4 | if (row_position < 0 || row_position >= this->_frame_total_rows) { |
647 | | // offset is beyond the frame, so set null |
648 | 1 | this->set_is_null(); |
649 | 1 | return; |
650 | 1 | } |
651 | 3 | this->set_value(columns, row_position + this->_frame_start_pose); |
652 | 3 | } 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 | 4 | int64_t frame_end, const IColumn** columns) { | 636 | 4 | DCHECK_LE(frame_start, frame_end); | 637 | 4 | int64_t real_frame_start = std::max<int64_t>(frame_start, partition_start); | 638 | 4 | int64_t real_frame_end = std::min<int64_t>(frame_end, partition_end); | 639 | 4 | this->_frame_start_pose = | 640 | 4 | this->_frame_total_rows ? this->_frame_start_pose : real_frame_start; | 641 | 4 | this->_frame_total_rows += real_frame_end - real_frame_start; | 642 | 4 | int64_t offset = assert_cast<const ColumnInt64&, TypeCheckOnRelease::DISABLE>(*columns[1]) | 643 | 4 | .get_data()[0]; | 644 | 4 | DCHECK_NE(offset, 0); | 645 | 4 | int64_t row_position = offset > 0 ? offset - 1 : this->_frame_total_rows + offset; | 646 | 4 | if (row_position < 0 || row_position >= this->_frame_total_rows) { | 647 | | // offset is beyond the frame, so set null | 648 | 1 | this->set_is_null(); | 649 | 1 | return; | 650 | 1 | } | 651 | 3 | this->set_value(columns, row_position + this->_frame_start_pose); | 652 | 3 | } |
Unexecuted instantiation: _ZN5doris26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb1EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE |
653 | | |
654 | 0 | static const char* name() { return "nth_value"; }Unexecuted instantiation: _ZN5doris26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb0EEELb0EE4nameEv Unexecuted instantiation: _ZN5doris26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb1EEELb0EE4nameEv Unexecuted instantiation: _ZN5doris26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb0EEELb0EE4nameEv Unexecuted instantiation: _ZN5doris26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb1EEELb0EE4nameEv |
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 | 8 | : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_), |
663 | 8 | _argument_type(argument_types_[0]) {}Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb0EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb1EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE _ZN5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb0EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE Line | Count | Source | 662 | 1 | : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_), | 663 | 1 | _argument_type(argument_types_[0]) {} |
Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb1EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE 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 | 1 | : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_), | 663 | 1 | _argument_type(argument_types_[0]) {} |
Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb1EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb1EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb1EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb1EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE _ZN5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb0EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE Line | Count | Source | 662 | 1 | : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_), | 663 | 1 | _argument_type(argument_types_[0]) {} |
Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb1EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE _ZN5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb0EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE Line | Count | Source | 662 | 1 | : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_), | 663 | 1 | _argument_type(argument_types_[0]) {} |
Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb1EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE 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 | 2 | : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_), | 663 | 2 | _argument_type(argument_types_[0]) {} |
Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb1EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE _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 | 1 | : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_), | 663 | 1 | _argument_type(argument_types_[0]) {} |
Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb1EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb1EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb1EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb1EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE |
664 | | |
665 | 10 | String get_name() const override { return Data::name(); }Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb0EEELb0EEEE8get_nameB5cxx11Ev Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb1EEELb0EEEE8get_nameB5cxx11Ev Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb0EEELb0EEEE8get_nameB5cxx11Ev Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb1EEELb0EEEE8get_nameB5cxx11Ev Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb0EEEE8get_nameB5cxx11Ev Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb0EEEE8get_nameB5cxx11Ev Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb0EEEE8get_nameB5cxx11Ev Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb0EEEE8get_nameB5cxx11Ev Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb1EEEE8get_nameB5cxx11Ev Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb1EEEE8get_nameB5cxx11Ev Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb1EEEE8get_nameB5cxx11Ev Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb1EEEE8get_nameB5cxx11Ev _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb0EEELb0EEEE8get_nameB5cxx11Ev Line | Count | Source | 665 | 4 | String get_name() const override { return Data::name(); } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb1EEELb0EEEE8get_nameB5cxx11Ev Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb0EEELb0EEEE8get_nameB5cxx11Ev Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb1EEELb0EEEE8get_nameB5cxx11Ev Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb0EEELb0EEEE8get_nameB5cxx11Ev Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb1EEELb0EEEE8get_nameB5cxx11Ev Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb0EEELb0EEEE8get_nameB5cxx11Ev Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb1EEELb0EEEE8get_nameB5cxx11Ev _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb0EEEE8get_nameB5cxx11Ev Line | Count | Source | 665 | 6 | String get_name() const override { return Data::name(); } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb0EEEE8get_nameB5cxx11Ev Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb0EEEE8get_nameB5cxx11Ev Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb0EEEE8get_nameB5cxx11Ev Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb1EEEE8get_nameB5cxx11Ev Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb1EEEE8get_nameB5cxx11Ev Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb1EEEE8get_nameB5cxx11Ev Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb1EEEE8get_nameB5cxx11Ev |
666 | | |
667 | 12 | DataTypePtr get_return_type() const override { |
668 | 12 | if constexpr (Data::result_nullable) { |
669 | 0 | return make_nullable(_argument_type); |
670 | 12 | } else { |
671 | 12 | return _argument_type; |
672 | 12 | } |
673 | 12 | } Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb0EEELb0EEEE15get_return_typeEv Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb1EEELb0EEEE15get_return_typeEv Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb0EEELb0EEEE15get_return_typeEv Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb1EEELb0EEEE15get_return_typeEv Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb0EEEE15get_return_typeEv Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb0EEEE15get_return_typeEv Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb0EEEE15get_return_typeEv Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb0EEEE15get_return_typeEv Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb1EEEE15get_return_typeEv Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb1EEEE15get_return_typeEv Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb1EEEE15get_return_typeEv Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb1EEEE15get_return_typeEv _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb0EEELb0EEEE15get_return_typeEv Line | Count | Source | 667 | 5 | DataTypePtr get_return_type() const override { | 668 | | if constexpr (Data::result_nullable) { | 669 | | return make_nullable(_argument_type); | 670 | 5 | } else { | 671 | 5 | return _argument_type; | 672 | 5 | } | 673 | 5 | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb1EEELb0EEEE15get_return_typeEv Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb0EEELb0EEEE15get_return_typeEv Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb1EEELb0EEEE15get_return_typeEv Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb0EEELb0EEEE15get_return_typeEv Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb1EEELb0EEEE15get_return_typeEv Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb0EEELb0EEEE15get_return_typeEv Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb1EEELb0EEEE15get_return_typeEv _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 Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb0EEEE15get_return_typeEv Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb0EEEE15get_return_typeEv Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb1EEEE15get_return_typeEv Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb1EEEE15get_return_typeEv Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb1EEEE15get_return_typeEv Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb1EEEE15get_return_typeEv |
674 | | |
675 | 8 | void check_input_columns_type(const IColumn** columns) const override { |
676 | 8 | IAggregateFunction::check_input_columns_type(columns); |
677 | 8 | const auto function_name = get_name(); |
678 | 8 | if (function_name == "lead" || function_name == "lag" || function_name == "nth_value") { |
679 | 3 | this->template check_argument_column_type<ColumnInt64>(columns[1]); |
680 | 3 | } |
681 | 8 | } Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb0EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb1EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb0EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb1EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb1EEEE24check_input_columns_typeEPPKNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb1EEEE24check_input_columns_typeEPPKNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb1EEEE24check_input_columns_typeEPPKNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb1EEEE24check_input_columns_typeEPPKNS_7IColumnE _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb0EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE Line | Count | Source | 675 | 3 | void check_input_columns_type(const IColumn** columns) const override { | 676 | 3 | IAggregateFunction::check_input_columns_type(columns); | 677 | 3 | const auto function_name = get_name(); | 678 | 3 | if (function_name == "lead" || function_name == "lag" || function_name == "nth_value") { | 679 | 3 | this->template check_argument_column_type<ColumnInt64>(columns[1]); | 680 | 3 | } | 681 | 3 | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb1EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb0EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb1EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb0EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb1EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb0EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb1EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE _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 Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb1EEEE24check_input_columns_typeEPPKNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb1EEEE24check_input_columns_typeEPPKNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb1EEEE24check_input_columns_typeEPPKNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb1EEEE24check_input_columns_typeEPPKNS_7IColumnE |
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 | 16 | Arena&, UInt8*, UInt8*) const override { |
686 | 16 | this->data(place).add_range_single_place(partition_start, partition_end, frame_start, |
687 | 16 | frame_end, columns); |
688 | 16 | } Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb0EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb1EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb0EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ Line | Count | Source | 685 | 1 | Arena&, UInt8*, UInt8*) const override { | 686 | 1 | this->data(place).add_range_single_place(partition_start, partition_end, frame_start, | 687 | 1 | frame_end, columns); | 688 | 1 | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb1EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ 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 | 1 | Arena&, UInt8*, UInt8*) const override { | 686 | 1 | this->data(place).add_range_single_place(partition_start, partition_end, frame_start, | 687 | 1 | frame_end, columns); | 688 | 1 | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb1EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb1EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb1EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb1EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb0EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ Line | Count | Source | 685 | 3 | Arena&, UInt8*, UInt8*) const override { | 686 | 3 | this->data(place).add_range_single_place(partition_start, partition_end, frame_start, | 687 | 3 | frame_end, columns); | 688 | 3 | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb1EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb0EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ Line | Count | Source | 685 | 1 | Arena&, UInt8*, UInt8*) const override { | 686 | 1 | this->data(place).add_range_single_place(partition_start, partition_end, frame_start, | 687 | 1 | frame_end, columns); | 688 | 1 | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb1EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ 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 | 4 | Arena&, UInt8*, UInt8*) const override { | 686 | 4 | this->data(place).add_range_single_place(partition_start, partition_end, frame_start, | 687 | 4 | frame_end, columns); | 688 | 4 | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb1EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ _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 | 1 | Arena&, UInt8*, UInt8*) const override { | 686 | 1 | this->data(place).add_range_single_place(partition_start, partition_end, frame_start, | 687 | 1 | frame_end, columns); | 688 | 1 | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb1EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb1EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb1EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb1EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_ |
689 | | |
690 | 4 | void reset(AggregateDataPtr place) const override { this->data(place).reset(); }Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb0EEELb0EEEE5resetEPc Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb1EEELb0EEEE5resetEPc Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb0EEELb0EEEE5resetEPc Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb1EEELb0EEEE5resetEPc Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb0EEEE5resetEPc Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb0EEEE5resetEPc Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb0EEEE5resetEPc Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb0EEEE5resetEPc Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb1EEEE5resetEPc Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb1EEEE5resetEPc Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb1EEEE5resetEPc Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb1EEEE5resetEPc _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb0EEELb0EEEE5resetEPc Line | Count | Source | 690 | 1 | void reset(AggregateDataPtr place) const override { this->data(place).reset(); } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb1EEELb0EEEE5resetEPc Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb0EEELb0EEEE5resetEPc Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb1EEELb0EEEE5resetEPc Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb0EEELb0EEEE5resetEPc Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb1EEELb0EEEE5resetEPc Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb0EEELb0EEEE5resetEPc Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb1EEELb0EEEE5resetEPc _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb0EEEE5resetEPc Line | Count | Source | 690 | 3 | void reset(AggregateDataPtr place) const override { this->data(place).reset(); } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb0EEEE5resetEPc Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb0EEEE5resetEPc Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb0EEEE5resetEPc Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb1EEEE5resetEPc Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb1EEEE5resetEPc Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb1EEEE5resetEPc Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb1EEEE5resetEPc |
691 | | |
692 | 16 | void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override { |
693 | 16 | this->data(place).insert_result_into(to); |
694 | 16 | } Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb0EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb1EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb0EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE Line | Count | Source | 692 | 1 | void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override { | 693 | 1 | this->data(place).insert_result_into(to); | 694 | 1 | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb1EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE 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 | 1 | void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override { | 693 | 1 | this->data(place).insert_result_into(to); | 694 | 1 | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb1EEEE18insert_result_intoEPKcRNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb1EEEE18insert_result_intoEPKcRNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb1EEEE18insert_result_intoEPKcRNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb1EEEE18insert_result_intoEPKcRNS_7IColumnE _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb0EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE Line | Count | Source | 692 | 3 | void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override { | 693 | 3 | this->data(place).insert_result_into(to); | 694 | 3 | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb1EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb0EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE Line | Count | Source | 692 | 1 | void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override { | 693 | 1 | this->data(place).insert_result_into(to); | 694 | 1 | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb1EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE 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 | 4 | void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override { | 693 | 4 | this->data(place).insert_result_into(to); | 694 | 4 | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb1EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE _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 | void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override { | 693 | 1 | this->data(place).insert_result_into(to); | 694 | 1 | } |
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb1EEEE18insert_result_intoEPKcRNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb1EEEE18insert_result_intoEPKcRNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb1EEEE18insert_result_intoEPKcRNS_7IColumnE Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb1EEEE18insert_result_intoEPKcRNS_7IColumnE |
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 |