Coverage Report

Created: 2026-10-27 18:44

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
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