Coverage Report

Created: 2026-09-15 18:55

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
198
            : IAggregateFunctionDataHelper(argument_types_) {}
54
55
726
    String get_name() const override { return "row_number"; }
56
57
22.9k
    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
22.0k
                                Arena&, UInt8*, UInt8*) const override {
66
22.0k
        ++data(place).count;
67
22.0k
    }
68
69
233
    void reset(AggregateDataPtr place) const override {
70
233
        WindowFunctionRowNumber::data(place).count = 0;
71
233
    }
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
726
    bool result_column_could_resize() const override { return true; }
79
80
    void insert_result_into_range(ConstAggregateDataPtr __restrict place, IColumn& to,
81
22.0k
                                  const size_t start, const size_t end) const override {
82
22.0k
        auto& column = assert_cast<ColumnInt64&, TypeCheckOnRelease::DISABLE>(to);
83
44.0k
        for (size_t i = start; i < end; ++i) {
84
22.0k
            column.get_data()[i] = (doris::WindowFunctionRowNumber::data(place).count);
85
22.0k
        }
86
22.0k
    }
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
175
            : IAggregateFunctionDataHelper(argument_types_) {}
103
104
662
    String get_name() const override { return "rank"; }
105
106
1.93k
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
107
108
0
    void add(AggregateDataPtr place, const IColumn**, ssize_t, Arena&) const override {
109
0
        ++data(place).rank;
110
0
    }
111
112
    void add_range_single_place(int64_t partition_start, int64_t partition_end, int64_t frame_start,
113
                                int64_t frame_end, AggregateDataPtr place, const IColumn** columns,
114
1.06k
                                Arena&, UInt8*, UInt8*) const override {
115
1.06k
        int64_t peer_group_count = frame_end - frame_start;
116
1.06k
        if (WindowFunctionRank::data(place).peer_group_start != frame_start) {
117
1.06k
            WindowFunctionRank::data(place).peer_group_start = frame_start;
118
1.06k
            WindowFunctionRank::data(place).rank += WindowFunctionRank::data(place).count;
119
1.06k
        }
120
1.06k
        WindowFunctionRank::data(place).count = peer_group_count;
121
1.06k
    }
122
123
561
    void reset(AggregateDataPtr place) const override {
124
561
        WindowFunctionRank::data(place).rank = 0;
125
561
        WindowFunctionRank::data(place).count = 1;
126
561
        WindowFunctionRank::data(place).peer_group_start = -1;
127
561
    }
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
663
    bool result_column_could_resize() const override { return true; }
135
136
    void insert_result_into_range(ConstAggregateDataPtr __restrict place, IColumn& to,
137
1.09k
                                  const size_t start, const size_t end) const override {
138
1.09k
        auto& column = assert_cast<ColumnInt64&, TypeCheckOnRelease::DISABLE>(to);
139
23.8k
        for (size_t i = start; i < end; ++i) {
140
22.7k
            column.get_data()[i] = (doris::WindowFunctionRank::data(place).rank);
141
22.7k
        }
142
1.09k
    }
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
15
            : IAggregateFunctionDataHelper(argument_types_) {}
159
160
57
    String get_name() const override { return "dense_rank"; }
161
162
176
    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
75
                                Arena&, UInt8*, UInt8*) const override {
171
75
        if (WindowFunctionDenseRank::data(place).peer_group_start != frame_start) {
172
75
            WindowFunctionDenseRank::data(place).peer_group_start = frame_start;
173
75
            WindowFunctionDenseRank::data(place).rank++;
174
75
        }
175
75
    }
176
177
41
    void reset(AggregateDataPtr place) const override {
178
41
        WindowFunctionDenseRank::data(place).rank = 0;
179
41
        WindowFunctionDenseRank::data(place).peer_group_start = -1;
180
41
    }
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
57
    bool result_column_could_resize() const override { return true; }
188
189
    void insert_result_into_range(ConstAggregateDataPtr __restrict place, IColumn& to,
190
104
                                  const size_t start, const size_t end) const override {
191
104
        auto& column = assert_cast<ColumnInt64&, TypeCheckOnRelease::DISABLE>(to);
192
21.2k
        for (size_t i = start; i < end; ++i) {
193
21.1k
            column.get_data()[i] = (doris::WindowFunctionDenseRank::data(place).rank);
194
21.1k
        }
195
104
    }
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
47
    static double _cal_percent(int64_t rank, int64_t total_rows) {
213
47
        return total_rows <= 1 ? 0.0 : double(rank - 1) * 1.0 / double(total_rows - 1);
214
47
    }
215
216
public:
217
    WindowFunctionPercentRank(const DataTypes& argument_types_)
218
6
            : IAggregateFunctionDataHelper(argument_types_) {}
219
220
41
    String get_name() const override { return "percent_rank"; }
221
222
94
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeFloat64>(); }
223
224
0
    void add(AggregateDataPtr place, const IColumn**, ssize_t, Arena&) const override {}
225
226
    void add_range_single_place(int64_t partition_start, int64_t partition_end, int64_t frame_start,
227
                                int64_t frame_end, AggregateDataPtr place, const IColumn** columns,
228
47
                                Arena&, UInt8*, UInt8*) const override {
229
47
        int64_t peer_group_count = frame_end - frame_start;
230
47
        if (WindowFunctionPercentRank::data(place).peer_group_start != frame_start) {
231
47
            WindowFunctionPercentRank::data(place).peer_group_start = frame_start;
232
47
            WindowFunctionPercentRank::data(place).rank +=
233
47
                    WindowFunctionPercentRank::data(place).count;
234
            // some variables are partition related, but there is no chance to init them
235
            // when the new partition arrives, so we calculate them every time now.
236
47
            WindowFunctionPercentRank::data(place).partition_size = partition_end - partition_start;
237
47
        }
238
47
        WindowFunctionPercentRank::data(place).count = peer_group_count;
239
47
    }
240
241
21
    void reset(AggregateDataPtr place) const override {
242
21
        WindowFunctionPercentRank::data(place).rank = 0;
243
21
        WindowFunctionPercentRank::data(place).count = 1;
244
21
        WindowFunctionPercentRank::data(place).peer_group_start = -1;
245
21
        WindowFunctionPercentRank::data(place).partition_size = 0;
246
21
    }
247
248
0
    void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override {
249
0
        auto percent_rank = _cal_percent(data(place).rank, data(place).partition_size);
250
0
        assert_cast<ColumnFloat64&, TypeCheckOnRelease::DISABLE>(to).get_data().push_back(
251
0
                percent_rank);
252
0
    }
253
254
41
    bool result_column_could_resize() const override { return true; }
255
256
    void insert_result_into_range(ConstAggregateDataPtr __restrict place, IColumn& to,
257
47
                                  const size_t start, const size_t end) const override {
258
47
        auto& column = assert_cast<ColumnFloat64&, TypeCheckOnRelease::DISABLE>(to);
259
47
        auto percent_rank = _cal_percent(data(place).rank, data(place).partition_size);
260
116
        for (size_t i = start; i < end; ++i) {
261
69
            column.get_data()[i] = percent_rank;
262
69
        }
263
47
    }
264
265
0
    void merge(AggregateDataPtr place, ConstAggregateDataPtr rhs, Arena&) const override {}
266
0
    void serialize(ConstAggregateDataPtr place, BufferWritable& buf) const override {}
267
0
    void deserialize(AggregateDataPtr place, BufferReadable& buf, Arena&) const override {}
268
};
269
270
struct CumeDistData {
271
    int64_t numerator = 0;
272
    int64_t denominator = 0;
273
    int64_t peer_group_start = -1;
274
};
275
276
class WindowFunctionCumeDist final
277
        : public IAggregateFunctionDataHelper<CumeDistData, WindowFunctionCumeDist> {
278
private:
279
    static void check_default(AggregateDataPtr place, int64_t partition_start,
280
47
                              int64_t partition_end) {
281
47
        if (data(place).denominator == 0) {
282
21
            data(place).denominator = partition_end - partition_start;
283
21
        }
284
47
    }
285
286
public:
287
    WindowFunctionCumeDist(const DataTypes& argument_types_)
288
6
            : IAggregateFunctionDataHelper(argument_types_) {}
289
290
41
    String get_name() const override { return "cume_dist"; }
291
292
94
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeFloat64>(); }
293
294
0
    void add(AggregateDataPtr place, const IColumn**, ssize_t, Arena&) const override {}
295
296
    void add_range_single_place(int64_t partition_start, int64_t partition_end, int64_t frame_start,
297
                                int64_t frame_end, AggregateDataPtr place, const IColumn** columns,
298
47
                                Arena&, UInt8*, UInt8*) const override {
299
47
        check_default(place, partition_start, partition_end);
300
47
        int64_t peer_group_count = frame_end - frame_start;
301
47
        if (WindowFunctionCumeDist::data(place).peer_group_start != frame_start) {
302
47
            WindowFunctionCumeDist::data(place).peer_group_start = frame_start;
303
47
            WindowFunctionCumeDist::data(place).numerator += peer_group_count;
304
47
        }
305
47
    }
306
307
21
    void reset(AggregateDataPtr place) const override {
308
21
        WindowFunctionCumeDist::data(place).numerator = 0;
309
21
        WindowFunctionCumeDist::data(place).denominator = 0;
310
21
        WindowFunctionCumeDist::data(place).peer_group_start = -1;
311
21
    }
312
313
0
    void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override {
314
0
        auto cume_dist = (double)data(place).numerator * 1.0 / (double)data(place).denominator;
315
0
        assert_cast<ColumnFloat64&, TypeCheckOnRelease::DISABLE>(to).get_data().push_back(
316
0
                cume_dist);
317
0
    }
318
319
41
    bool result_column_could_resize() const override { return true; }
320
321
    void insert_result_into_range(ConstAggregateDataPtr __restrict place, IColumn& to,
322
47
                                  const size_t start, const size_t end) const override {
323
47
        auto& column = assert_cast<ColumnFloat64&, TypeCheckOnRelease::DISABLE>(to);
324
47
        auto cume_dist = (double)data(place).numerator * 1.0 / (double)data(place).denominator;
325
116
        for (size_t i = start; i < end; ++i) {
326
69
            column.get_data()[i] = cume_dist;
327
69
        }
328
47
    }
329
330
0
    void merge(AggregateDataPtr place, ConstAggregateDataPtr rhs, Arena&) const override {}
331
0
    void serialize(ConstAggregateDataPtr place, BufferWritable& buf) const override {}
332
0
    void deserialize(AggregateDataPtr place, BufferReadable& buf, Arena&) const override {}
333
};
334
335
struct NTileData {
336
    int64_t bucket_index = 0;
337
    int64_t rows = 0;
338
};
339
340
class WindowFunctionNTile final
341
        : public IAggregateFunctionDataHelper<NTileData, WindowFunctionNTile>,
342
          UnaryExpression,
343
          NullableAggregateFunction {
344
public:
345
    WindowFunctionNTile(const DataTypes& argument_types_)
346
9
            : IAggregateFunctionDataHelper(argument_types_) {}
347
348
40
    String get_name() const override { return "ntile"; }
349
350
146
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeInt64>(); }
351
352
0
    void add(AggregateDataPtr place, const IColumn**, ssize_t, Arena&) const override {}
353
354
    void add_range_single_place(int64_t partition_start, int64_t partition_end, int64_t frame_start,
355
                                int64_t frame_end, AggregateDataPtr place, const IColumn** columns,
356
96
                                Arena&, UInt8*, UInt8*) const override {
357
        // some variables are partition related, but there is no chance to init them
358
        // when the new partition arrives, so we calculate them every time now.
359
        // Partition = big_bucket_num * big_bucket_size + small_bucket_num * small_bucket_size
360
96
        int64_t row_index = ++WindowFunctionNTile::data(place).rows - 1;
361
96
        int64_t bucket_num = columns[0]->get_int(0);
362
96
        int64_t partition_size = partition_end - partition_start;
363
364
96
        int64_t small_bucket_size = partition_size / bucket_num;
365
96
        int64_t big_bucket_num = partition_size % bucket_num;
366
96
        int64_t first_small_bucket_row_index = big_bucket_num * (small_bucket_size + 1);
367
96
        if (row_index >= first_small_bucket_row_index) {
368
            // small_bucket_size can't be zero
369
50
            WindowFunctionNTile::data(place).bucket_index =
370
50
                    big_bucket_num + 1 +
371
50
                    (row_index - first_small_bucket_row_index) / small_bucket_size;
372
50
        } else {
373
46
            WindowFunctionNTile::data(place).bucket_index = row_index / (small_bucket_size + 1) + 1;
374
46
        }
375
96
    }
376
377
25
    void reset(AggregateDataPtr place) const override { WindowFunctionNTile::data(place).rows = 0; }
378
379
0
    void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override {
380
0
        assert_cast<ColumnInt64&, TypeCheckOnRelease::DISABLE>(to).get_data().push_back(
381
0
                WindowFunctionNTile::data(place).bucket_index);
382
0
    }
383
384
41
    bool result_column_could_resize() const override { return true; }
385
386
    void insert_result_into_range(ConstAggregateDataPtr __restrict place, IColumn& to,
387
96
                                  const size_t start, const size_t end) const override {
388
96
        auto& column = assert_cast<ColumnInt64&, TypeCheckOnRelease::DISABLE>(to);
389
192
        for (size_t i = start; i < end; ++i) {
390
96
            column.get_data()[i] = WindowFunctionNTile::data(place).bucket_index;
391
96
        }
392
96
    }
393
394
0
    void merge(AggregateDataPtr place, ConstAggregateDataPtr rhs, Arena&) const override {}
395
0
    void serialize(ConstAggregateDataPtr place, BufferWritable& buf) const override {}
396
0
    void deserialize(AggregateDataPtr place, BufferReadable& buf, Arena&) const override {}
397
};
398
399
template <bool result_is_nullable, bool arg_is_nullable>
400
struct FirstLastData
401
        : public ReaderFirstAndLastData<void, result_is_nullable, arg_is_nullable, false> {
402
public:
403
166
    void set_is_null() { this->_data_value.reset(); }
Unexecuted instantiation: _ZN5doris13FirstLastDataILb0ELb0EE11set_is_nullEv
Unexecuted instantiation: _ZN5doris13FirstLastDataILb0ELb1EE11set_is_nullEv
_ZN5doris13FirstLastDataILb1ELb0EE11set_is_nullEv
Line
Count
Source
403
9
    void set_is_null() { this->_data_value.reset(); }
_ZN5doris13FirstLastDataILb1ELb1EE11set_is_nullEv
Line
Count
Source
403
157
    void set_is_null() { this->_data_value.reset(); }
404
};
405
406
template <bool result_is_nullable, bool arg_is_nullable>
407
struct NthValueData : public FirstLastData<result_is_nullable, arg_is_nullable> {
408
public:
409
185
    void reset() {
410
185
        this->_data_value.reset();
411
185
        this->_has_value = false;
412
185
        this->_frame_start_pose = 0;
413
185
        this->_frame_total_rows = 0;
414
185
    }
Unexecuted instantiation: _ZN5doris12NthValueDataILb0ELb0EE5resetEv
Unexecuted instantiation: _ZN5doris12NthValueDataILb0ELb1EE5resetEv
Unexecuted instantiation: _ZN5doris12NthValueDataILb1ELb0EE5resetEv
_ZN5doris12NthValueDataILb1ELb1EE5resetEv
Line
Count
Source
409
185
    void reset() {
410
185
        this->_data_value.reset();
411
185
        this->_has_value = false;
412
185
        this->_frame_start_pose = 0;
413
185
        this->_frame_total_rows = 0;
414
185
    }
415
416
    int64_t _frame_start_pose = 0;
417
    int64_t _frame_total_rows = 0;
418
};
419
420
template <bool arg_is_nullable>
421
struct BaseValue : public Value<arg_is_nullable> {
422
public:
423
584
    bool is_null() const { return this->_ptr == nullptr; }
_ZNK5doris9BaseValueILb0EE7is_nullEv
Line
Count
Source
423
8
    bool is_null() const { return this->_ptr == nullptr; }
_ZNK5doris9BaseValueILb1EE7is_nullEv
Line
Count
Source
423
576
    bool is_null() const { return this->_ptr == nullptr; }
424
    // because _ptr pointer to first_argument or third argument, so it's difficult to cast ptr
425
    // so here will call virtual function
426
1.29k
    StringRef get_value() const { return this->_ptr->get_data_at(this->_offset); }
_ZNK5doris9BaseValueILb0EE9get_valueEv
Line
Count
Source
426
890
    StringRef get_value() const { return this->_ptr->get_data_at(this->_offset); }
_ZNK5doris9BaseValueILb1EE9get_valueEv
Line
Count
Source
426
400
    StringRef get_value() const { return this->_ptr->get_data_at(this->_offset); }
427
};
428
429
template <bool result_is_nullable, bool arg_is_nullable>
430
struct LeadLagData {
431
public:
432
    static constexpr bool result_nullable = result_is_nullable;
433
310
    void reset() {
434
310
        _data_value.reset();
435
310
        _is_inited = false;
436
310
        _offset_value = 0;
437
310
    }
_ZN5doris11LeadLagDataILb0ELb0EE5resetEv
Line
Count
Source
433
164
    void reset() {
434
164
        _data_value.reset();
435
164
        _is_inited = false;
436
164
        _offset_value = 0;
437
164
    }
Unexecuted instantiation: _ZN5doris11LeadLagDataILb0ELb1EE5resetEv
_ZN5doris11LeadLagDataILb1ELb0EE5resetEv
Line
Count
Source
433
3
    void reset() {
434
3
        _data_value.reset();
435
3
        _is_inited = false;
436
3
        _offset_value = 0;
437
3
    }
_ZN5doris11LeadLagDataILb1ELb1EE5resetEv
Line
Count
Source
433
143
    void reset() {
434
143
        _data_value.reset();
435
143
        _is_inited = false;
436
143
        _offset_value = 0;
437
143
    }
438
439
1.47k
    void insert_result_into(IColumn& to) const {
440
1.47k
        if constexpr (result_is_nullable) {
441
584
            if (_data_value.is_null()) {
442
182
                auto& col = assert_cast<ColumnNullable&, TypeCheckOnRelease::DISABLE>(to);
443
182
                col.insert_default();
444
402
            } else {
445
402
                auto& col = assert_cast<ColumnNullable&, TypeCheckOnRelease::DISABLE>(to);
446
402
                StringRef value = _data_value.get_value();
447
402
                col.insert_data(value.data, value.size);
448
402
            }
449
888
        } else {
450
888
            StringRef value = _data_value.get_value();
451
888
            to.insert_data(value.data, value.size);
452
888
        }
453
1.47k
    }
_ZNK5doris11LeadLagDataILb0ELb0EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
439
888
    void insert_result_into(IColumn& to) const {
440
        if constexpr (result_is_nullable) {
441
            if (_data_value.is_null()) {
442
                auto& col = assert_cast<ColumnNullable&, TypeCheckOnRelease::DISABLE>(to);
443
                col.insert_default();
444
            } else {
445
                auto& col = assert_cast<ColumnNullable&, TypeCheckOnRelease::DISABLE>(to);
446
                StringRef value = _data_value.get_value();
447
                col.insert_data(value.data, value.size);
448
            }
449
888
        } else {
450
888
            StringRef value = _data_value.get_value();
451
888
            to.insert_data(value.data, value.size);
452
888
        }
453
888
    }
Unexecuted instantiation: _ZNK5doris11LeadLagDataILb0ELb1EE18insert_result_intoERNS_7IColumnE
_ZNK5doris11LeadLagDataILb1ELb0EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
439
8
    void insert_result_into(IColumn& to) const {
440
8
        if constexpr (result_is_nullable) {
441
8
            if (_data_value.is_null()) {
442
6
                auto& col = assert_cast<ColumnNullable&, TypeCheckOnRelease::DISABLE>(to);
443
6
                col.insert_default();
444
6
            } else {
445
2
                auto& col = assert_cast<ColumnNullable&, TypeCheckOnRelease::DISABLE>(to);
446
2
                StringRef value = _data_value.get_value();
447
2
                col.insert_data(value.data, value.size);
448
2
            }
449
        } else {
450
            StringRef value = _data_value.get_value();
451
            to.insert_data(value.data, value.size);
452
        }
453
8
    }
_ZNK5doris11LeadLagDataILb1ELb1EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
439
576
    void insert_result_into(IColumn& to) const {
440
576
        if constexpr (result_is_nullable) {
441
576
            if (_data_value.is_null()) {
442
176
                auto& col = assert_cast<ColumnNullable&, TypeCheckOnRelease::DISABLE>(to);
443
176
                col.insert_default();
444
400
            } else {
445
400
                auto& col = assert_cast<ColumnNullable&, TypeCheckOnRelease::DISABLE>(to);
446
400
                StringRef value = _data_value.get_value();
447
400
                col.insert_data(value.data, value.size);
448
400
            }
449
        } else {
450
            StringRef value = _data_value.get_value();
451
            to.insert_data(value.data, value.size);
452
        }
453
576
    }
454
455
1.01k
    void set_value(const IColumn** columns, size_t pos) {
456
1.01k
        if constexpr (arg_is_nullable) {
457
430
            if (assert_cast<const ColumnNullable*, TypeCheckOnRelease::DISABLE>(columns[0])
458
430
                        ->is_null_at(pos)) {
459
                // ptr == nullptr means nullable
460
3
                _data_value.reset();
461
3
                return;
462
3
            }
463
430
        }
464
        // here ptr is pointer to nullable column or not null column from first
465
427
        _data_value.set_value(columns[0], pos);
466
1.01k
    }
_ZN5doris11LeadLagDataILb0ELb0EE9set_valueEPPKNS_7IColumnEm
Line
Count
Source
455
577
    void set_value(const IColumn** columns, size_t pos) {
456
        if constexpr (arg_is_nullable) {
457
            if (assert_cast<const ColumnNullable*, TypeCheckOnRelease::DISABLE>(columns[0])
458
                        ->is_null_at(pos)) {
459
                // ptr == nullptr means nullable
460
                _data_value.reset();
461
                return;
462
            }
463
        }
464
        // here ptr is pointer to nullable column or not null column from first
465
577
        _data_value.set_value(columns[0], pos);
466
577
    }
Unexecuted instantiation: _ZN5doris11LeadLagDataILb0ELb1EE9set_valueEPPKNS_7IColumnEm
_ZN5doris11LeadLagDataILb1ELb0EE9set_valueEPPKNS_7IColumnEm
Line
Count
Source
455
5
    void set_value(const IColumn** columns, size_t pos) {
456
        if constexpr (arg_is_nullable) {
457
            if (assert_cast<const ColumnNullable*, TypeCheckOnRelease::DISABLE>(columns[0])
458
                        ->is_null_at(pos)) {
459
                // ptr == nullptr means nullable
460
                _data_value.reset();
461
                return;
462
            }
463
        }
464
        // here ptr is pointer to nullable column or not null column from first
465
5
        _data_value.set_value(columns[0], pos);
466
5
    }
_ZN5doris11LeadLagDataILb1ELb1EE9set_valueEPPKNS_7IColumnEm
Line
Count
Source
455
430
    void set_value(const IColumn** columns, size_t pos) {
456
430
        if constexpr (arg_is_nullable) {
457
430
            if (assert_cast<const ColumnNullable*, TypeCheckOnRelease::DISABLE>(columns[0])
458
430
                        ->is_null_at(pos)) {
459
                // ptr == nullptr means nullable
460
3
                _data_value.reset();
461
3
                return;
462
3
            }
463
430
        }
464
        // here ptr is pointer to nullable column or not null column from first
465
427
        _data_value.set_value(columns[0], pos);
466
430
    }
467
468
579
    void set_value_from_default(const IColumn* column, size_t pos) {
469
579
        DCHECK_GE(pos, 0);
470
579
        if (is_column_nullable(*column)) {
471
186
            const auto* nullable_column =
472
186
                    assert_cast<const ColumnNullable*, TypeCheckOnRelease::DISABLE>(column);
473
186
            if (nullable_column->is_null_at(pos)) {
474
181
                this->_data_value.reset();
475
181
            } else {
476
5
                this->_data_value.set_value(nullable_column->get_nested_column_ptr().get(), pos);
477
5
            }
478
393
        } else {
479
393
            this->_data_value.set_value(column, pos);
480
393
        }
481
579
    }
_ZN5doris11LeadLagDataILb0ELb0EE22set_value_from_defaultEPKNS_7IColumnEm
Line
Count
Source
468
323
    void set_value_from_default(const IColumn* column, size_t pos) {
469
323
        DCHECK_GE(pos, 0);
470
323
        if (is_column_nullable(*column)) {
471
0
            const auto* nullable_column =
472
0
                    assert_cast<const ColumnNullable*, TypeCheckOnRelease::DISABLE>(column);
473
0
            if (nullable_column->is_null_at(pos)) {
474
0
                this->_data_value.reset();
475
0
            } else {
476
0
                this->_data_value.set_value(nullable_column->get_nested_column_ptr().get(), pos);
477
0
            }
478
323
        } else {
479
323
            this->_data_value.set_value(column, pos);
480
323
        }
481
323
    }
Unexecuted instantiation: _ZN5doris11LeadLagDataILb0ELb1EE22set_value_from_defaultEPKNS_7IColumnEm
_ZN5doris11LeadLagDataILb1ELb0EE22set_value_from_defaultEPKNS_7IColumnEm
Line
Count
Source
468
6
    void set_value_from_default(const IColumn* column, size_t pos) {
469
6
        DCHECK_GE(pos, 0);
470
6
        if (is_column_nullable(*column)) {
471
6
            const auto* nullable_column =
472
6
                    assert_cast<const ColumnNullable*, TypeCheckOnRelease::DISABLE>(column);
473
6
            if (nullable_column->is_null_at(pos)) {
474
6
                this->_data_value.reset();
475
6
            } else {
476
0
                this->_data_value.set_value(nullable_column->get_nested_column_ptr().get(), pos);
477
0
            }
478
6
        } else {
479
0
            this->_data_value.set_value(column, pos);
480
0
        }
481
6
    }
_ZN5doris11LeadLagDataILb1ELb1EE22set_value_from_defaultEPKNS_7IColumnEm
Line
Count
Source
468
250
    void set_value_from_default(const IColumn* column, size_t pos) {
469
250
        DCHECK_GE(pos, 0);
470
250
        if (is_column_nullable(*column)) {
471
180
            const auto* nullable_column =
472
180
                    assert_cast<const ColumnNullable*, TypeCheckOnRelease::DISABLE>(column);
473
180
            if (nullable_column->is_null_at(pos)) {
474
175
                this->_data_value.reset();
475
175
            } else {
476
5
                this->_data_value.set_value(nullable_column->get_nested_column_ptr().get(), pos);
477
5
            }
478
180
        } else {
479
70
            this->_data_value.set_value(column, pos);
480
70
        }
481
250
    }
482
483
579
    void set_offset_value(const IColumn* column) {
484
579
        if (!_is_inited) {
485
521
            const auto* column_number =
486
521
                    assert_cast<const ColumnInt64*, TypeCheckOnRelease::DISABLE>(column);
487
521
            _offset_value = column_number->get_data()[0];
488
521
            _is_inited = true;
489
521
        }
490
579
    }
_ZN5doris11LeadLagDataILb0ELb0EE16set_offset_valueEPKNS_7IColumnE
Line
Count
Source
483
323
    void set_offset_value(const IColumn* column) {
484
323
        if (!_is_inited) {
485
311
            const auto* column_number =
486
311
                    assert_cast<const ColumnInt64*, TypeCheckOnRelease::DISABLE>(column);
487
311
            _offset_value = column_number->get_data()[0];
488
311
            _is_inited = true;
489
311
        }
490
323
    }
Unexecuted instantiation: _ZN5doris11LeadLagDataILb0ELb1EE16set_offset_valueEPKNS_7IColumnE
_ZN5doris11LeadLagDataILb1ELb0EE16set_offset_valueEPKNS_7IColumnE
Line
Count
Source
483
6
    void set_offset_value(const IColumn* column) {
484
6
        if (!_is_inited) {
485
6
            const auto* column_number =
486
6
                    assert_cast<const ColumnInt64*, TypeCheckOnRelease::DISABLE>(column);
487
6
            _offset_value = column_number->get_data()[0];
488
6
            _is_inited = true;
489
6
        }
490
6
    }
_ZN5doris11LeadLagDataILb1ELb1EE16set_offset_valueEPKNS_7IColumnE
Line
Count
Source
483
250
    void set_offset_value(const IColumn* column) {
484
250
        if (!_is_inited) {
485
204
            const auto* column_number =
486
204
                    assert_cast<const ColumnInt64*, TypeCheckOnRelease::DISABLE>(column);
487
204
            _offset_value = column_number->get_data()[0];
488
204
            _is_inited = true;
489
204
        }
490
250
    }
491
492
579
    int64_t get_offset_value() const { return _offset_value; }
_ZNK5doris11LeadLagDataILb0ELb0EE16get_offset_valueEv
Line
Count
Source
492
323
    int64_t get_offset_value() const { return _offset_value; }
Unexecuted instantiation: _ZNK5doris11LeadLagDataILb0ELb1EE16get_offset_valueEv
_ZNK5doris11LeadLagDataILb1ELb0EE16get_offset_valueEv
Line
Count
Source
492
6
    int64_t get_offset_value() const { return _offset_value; }
_ZNK5doris11LeadLagDataILb1ELb1EE16get_offset_valueEv
Line
Count
Source
492
250
    int64_t get_offset_value() const { return _offset_value; }
493
494
private:
495
    BaseValue<arg_is_nullable> _data_value;
496
    bool _is_inited = false;
497
    int64_t _offset_value = 0;
498
};
499
500
template <typename Data, bool = false>
501
struct WindowFunctionLeadImpl : Data {
502
    void add_range_single_place(int64_t partition_start, int64_t partition_end, int64_t frame_start,
503
462
                                int64_t frame_end, const IColumn** columns) {
504
462
        if (frame_end > partition_end) { //output default value, win end is under partition
505
149
            this->set_offset_value(columns[1]);
506
            // eg: lead(column, 10, default_value), column size maybe 3 rows
507
            // offset value 10 is from second argument, pos: 11 is calculated as frame_end
508
149
            auto pos = frame_end - 1 - this->get_offset_value();
509
149
            this->set_value_from_default(columns[2], pos);
510
149
            return;
511
149
        }
512
313
        this->set_value(columns, frame_end - 1);
513
313
    }
_ZN5doris22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb0EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE
Line
Count
Source
503
66
                                int64_t frame_end, const IColumn** columns) {
504
66
        if (frame_end > partition_end) { //output default value, win end is under partition
505
18
            this->set_offset_value(columns[1]);
506
            // eg: lead(column, 10, default_value), column size maybe 3 rows
507
            // offset value 10 is from second argument, pos: 11 is calculated as frame_end
508
18
            auto pos = frame_end - 1 - this->get_offset_value();
509
18
            this->set_value_from_default(columns[2], pos);
510
18
            return;
511
18
        }
512
48
        this->set_value(columns, frame_end - 1);
513
48
    }
Unexecuted instantiation: _ZN5doris22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb1EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE
_ZN5doris22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb0EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE
Line
Count
Source
503
7
                                int64_t frame_end, const IColumn** columns) {
504
7
        if (frame_end > partition_end) { //output default value, win end is under partition
505
3
            this->set_offset_value(columns[1]);
506
            // eg: lead(column, 10, default_value), column size maybe 3 rows
507
            // offset value 10 is from second argument, pos: 11 is calculated as frame_end
508
3
            auto pos = frame_end - 1 - this->get_offset_value();
509
3
            this->set_value_from_default(columns[2], pos);
510
3
            return;
511
3
        }
512
4
        this->set_value(columns, frame_end - 1);
513
4
    }
_ZN5doris22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb1EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE
Line
Count
Source
503
389
                                int64_t frame_end, const IColumn** columns) {
504
389
        if (frame_end > partition_end) { //output default value, win end is under partition
505
128
            this->set_offset_value(columns[1]);
506
            // eg: lead(column, 10, default_value), column size maybe 3 rows
507
            // offset value 10 is from second argument, pos: 11 is calculated as frame_end
508
128
            auto pos = frame_end - 1 - this->get_offset_value();
509
128
            this->set_value_from_default(columns[2], pos);
510
128
            return;
511
128
        }
512
261
        this->set_value(columns, frame_end - 1);
513
261
    }
514
515
672
    static const char* name() { return "lead"; }
_ZN5doris22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb0EEELb0EE4nameEv
Line
Count
Source
515
101
    static const char* name() { return "lead"; }
Unexecuted instantiation: _ZN5doris22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb1EEELb0EE4nameEv
_ZN5doris22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb0EEELb0EE4nameEv
Line
Count
Source
515
14
    static const char* name() { return "lead"; }
_ZN5doris22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb1EEELb0EE4nameEv
Line
Count
Source
515
557
    static const char* name() { return "lead"; }
516
};
517
518
template <typename Data, bool = false>
519
struct WindowFunctionLagImpl : Data {
520
    void add_range_single_place(int64_t partition_start, int64_t partition_end, int64_t frame_start,
521
1.12k
                                int64_t frame_end, const IColumn** columns) {
522
        // window start is beyond partition
523
1.12k
        if (partition_start >= frame_end) { //[unbound preceding(0), offset preceding(-123)]
524
430
            this->set_offset_value(columns[1]);
525
430
            auto pos = frame_end - 1 + this->get_offset_value();
526
430
            this->set_value_from_default(columns[2], pos);
527
430
            return;
528
430
        }
529
699
        this->set_value(columns, frame_end - 1);
530
699
    }
_ZN5doris21WindowFunctionLagImplINS_11LeadLagDataILb0ELb0EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE
Line
Count
Source
521
834
                                int64_t frame_end, const IColumn** columns) {
522
        // window start is beyond partition
523
834
        if (partition_start >= frame_end) { //[unbound preceding(0), offset preceding(-123)]
524
305
            this->set_offset_value(columns[1]);
525
305
            auto pos = frame_end - 1 + this->get_offset_value();
526
305
            this->set_value_from_default(columns[2], pos);
527
305
            return;
528
305
        }
529
529
        this->set_value(columns, frame_end - 1);
530
529
    }
Unexecuted instantiation: _ZN5doris21WindowFunctionLagImplINS_11LeadLagDataILb0ELb1EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE
_ZN5doris21WindowFunctionLagImplINS_11LeadLagDataILb1ELb0EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE
Line
Count
Source
521
4
                                int64_t frame_end, const IColumn** columns) {
522
        // window start is beyond partition
523
4
        if (partition_start >= frame_end) { //[unbound preceding(0), offset preceding(-123)]
524
3
            this->set_offset_value(columns[1]);
525
3
            auto pos = frame_end - 1 + this->get_offset_value();
526
3
            this->set_value_from_default(columns[2], pos);
527
3
            return;
528
3
        }
529
1
        this->set_value(columns, frame_end - 1);
530
1
    }
_ZN5doris21WindowFunctionLagImplINS_11LeadLagDataILb1ELb1EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE
Line
Count
Source
521
291
                                int64_t frame_end, const IColumn** columns) {
522
        // window start is beyond partition
523
291
        if (partition_start >= frame_end) { //[unbound preceding(0), offset preceding(-123)]
524
122
            this->set_offset_value(columns[1]);
525
122
            auto pos = frame_end - 1 + this->get_offset_value();
526
122
            this->set_value_from_default(columns[2], pos);
527
122
            return;
528
122
        }
529
169
        this->set_value(columns, frame_end - 1);
530
169
    }
531
532
1.68k
    static const char* name() { return "lag"; }
_ZN5doris21WindowFunctionLagImplINS_11LeadLagDataILb0ELb0EEELb0EE4nameEv
Line
Count
Source
532
1.22k
    static const char* name() { return "lag"; }
Unexecuted instantiation: _ZN5doris21WindowFunctionLagImplINS_11LeadLagDataILb0ELb1EEELb0EE4nameEv
_ZN5doris21WindowFunctionLagImplINS_11LeadLagDataILb1ELb0EEELb0EE4nameEv
Line
Count
Source
532
11
    static const char* name() { return "lag"; }
_ZN5doris21WindowFunctionLagImplINS_11LeadLagDataILb1ELb1EEELb0EE4nameEv
Line
Count
Source
532
447
    static const char* name() { return "lag"; }
533
};
534
535
template <typename Data, bool arg_ignore_null = false>
536
struct WindowFunctionFirstImpl : Data {
537
    void add_range_single_place(int64_t partition_start, int64_t partition_end, int64_t frame_start,
538
1.58k
                                int64_t frame_end, const IColumn** columns) {
539
        // case 1: (has_set_value() = true && arg_ignore_null = false)
540
        // case 2: (has_set_value() = true && arg_ignore_null = true && is_null() = false)
541
1.58k
        if ((this->has_set_value()) &&
542
1.58k
            (!arg_ignore_null || (arg_ignore_null && !this->is_null()))) {
543
789
            return;
544
789
        }
545
1.58k
        DCHECK_LE(frame_start, frame_end);
546
792
        if (frame_start >= partition_end || frame_end <= partition_start) {
547
26
            this->set_is_null();
548
26
            return;
549
26
        }
550
766
        frame_start = std::max<int64_t>(frame_start, partition_start);
551
552
766
        if constexpr (arg_ignore_null) {
553
28
            frame_end = std::min<int64_t>(frame_end, partition_end);
554
28
            if (is_column_nullable(*columns[0])) {
555
24
                const auto& arg_nullable =
556
24
                        assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(
557
24
                                *columns[0]);
558
                // the valid range is: [frame_start, frame_end)
559
33
                while (frame_start < frame_end - 1 && arg_nullable.is_null_at(frame_start)) {
560
9
                    frame_start++;
561
9
                }
562
24
            }
563
28
        }
564
766
        this->set_value(columns, frame_start);
565
766
    }
_ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE
Line
Count
Source
538
5
                                int64_t frame_end, const IColumn** columns) {
539
        // case 1: (has_set_value() = true && arg_ignore_null = false)
540
        // case 2: (has_set_value() = true && arg_ignore_null = true && is_null() = false)
541
5
        if ((this->has_set_value()) &&
542
5
            (!arg_ignore_null || (arg_ignore_null && !this->is_null()))) {
543
2
            return;
544
2
        }
545
5
        DCHECK_LE(frame_start, frame_end);
546
3
        if (frame_start >= partition_end || frame_end <= partition_start) {
547
0
            this->set_is_null();
548
0
            return;
549
0
        }
550
3
        frame_start = std::max<int64_t>(frame_start, partition_start);
551
552
        if constexpr (arg_ignore_null) {
553
            frame_end = std::min<int64_t>(frame_end, partition_end);
554
            if (is_column_nullable(*columns[0])) {
555
                const auto& arg_nullable =
556
                        assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(
557
                                *columns[0]);
558
                // the valid range is: [frame_start, frame_end)
559
                while (frame_start < frame_end - 1 && arg_nullable.is_null_at(frame_start)) {
560
                    frame_start++;
561
                }
562
            }
563
        }
564
3
        this->set_value(columns, frame_start);
565
3
    }
Unexecuted instantiation: _ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE
_ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE
Line
Count
Source
538
525
                                int64_t frame_end, const IColumn** columns) {
539
        // case 1: (has_set_value() = true && arg_ignore_null = false)
540
        // case 2: (has_set_value() = true && arg_ignore_null = true && is_null() = false)
541
525
        if ((this->has_set_value()) &&
542
525
            (!arg_ignore_null || (arg_ignore_null && !this->is_null()))) {
543
227
            return;
544
227
        }
545
525
        DCHECK_LE(frame_start, frame_end);
546
299
        if (frame_start >= partition_end || frame_end <= partition_start) {
547
4
            this->set_is_null();
548
4
            return;
549
4
        }
550
294
        frame_start = std::max<int64_t>(frame_start, partition_start);
551
552
        if constexpr (arg_ignore_null) {
553
            frame_end = std::min<int64_t>(frame_end, partition_end);
554
            if (is_column_nullable(*columns[0])) {
555
                const auto& arg_nullable =
556
                        assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(
557
                                *columns[0]);
558
                // the valid range is: [frame_start, frame_end)
559
                while (frame_start < frame_end - 1 && arg_nullable.is_null_at(frame_start)) {
560
                    frame_start++;
561
                }
562
            }
563
        }
564
294
        this->set_value(columns, frame_start);
565
294
    }
_ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE
Line
Count
Source
538
1.00k
                                int64_t frame_end, const IColumn** columns) {
539
        // case 1: (has_set_value() = true && arg_ignore_null = false)
540
        // case 2: (has_set_value() = true && arg_ignore_null = true && is_null() = false)
541
1.00k
        if ((this->has_set_value()) &&
542
1.00k
            (!arg_ignore_null || (arg_ignore_null && !this->is_null()))) {
543
546
            return;
544
546
        }
545
1.00k
        DCHECK_LE(frame_start, frame_end);
546
457
        if (frame_start >= partition_end || frame_end <= partition_start) {
547
16
            this->set_is_null();
548
16
            return;
549
16
        }
550
441
        frame_start = std::max<int64_t>(frame_start, partition_start);
551
552
        if constexpr (arg_ignore_null) {
553
            frame_end = std::min<int64_t>(frame_end, partition_end);
554
            if (is_column_nullable(*columns[0])) {
555
                const auto& arg_nullable =
556
                        assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(
557
                                *columns[0]);
558
                // the valid range is: [frame_start, frame_end)
559
                while (frame_start < frame_end - 1 && arg_nullable.is_null_at(frame_start)) {
560
                    frame_start++;
561
                }
562
            }
563
        }
564
441
        this->set_value(columns, frame_start);
565
441
    }
Unexecuted instantiation: _ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb1EE22add_range_single_placeEllllPPKNS_7IColumnE
Unexecuted instantiation: _ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb1EE22add_range_single_placeEllllPPKNS_7IColumnE
_ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb1EE22add_range_single_placeEllllPPKNS_7IColumnE
Line
Count
Source
538
4
                                int64_t frame_end, const IColumn** columns) {
539
        // case 1: (has_set_value() = true && arg_ignore_null = false)
540
        // case 2: (has_set_value() = true && arg_ignore_null = true && is_null() = false)
541
4
        if ((this->has_set_value()) &&
542
4
            (!arg_ignore_null || (arg_ignore_null && !this->is_null()))) {
543
0
            return;
544
0
        }
545
4
        DCHECK_LE(frame_start, frame_end);
546
4
        if (frame_start >= partition_end || frame_end <= partition_start) {
547
0
            this->set_is_null();
548
0
            return;
549
0
        }
550
4
        frame_start = std::max<int64_t>(frame_start, partition_start);
551
552
4
        if constexpr (arg_ignore_null) {
553
4
            frame_end = std::min<int64_t>(frame_end, partition_end);
554
4
            if (is_column_nullable(*columns[0])) {
555
0
                const auto& arg_nullable =
556
0
                        assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(
557
0
                                *columns[0]);
558
                // the valid range is: [frame_start, frame_end)
559
0
                while (frame_start < frame_end - 1 && arg_nullable.is_null_at(frame_start)) {
560
0
                    frame_start++;
561
0
                }
562
0
            }
563
4
        }
564
4
        this->set_value(columns, frame_start);
565
4
    }
_ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb1EE22add_range_single_placeEllllPPKNS_7IColumnE
Line
Count
Source
538
44
                                int64_t frame_end, const IColumn** columns) {
539
        // case 1: (has_set_value() = true && arg_ignore_null = false)
540
        // case 2: (has_set_value() = true && arg_ignore_null = true && is_null() = false)
541
44
        if ((this->has_set_value()) &&
542
44
            (!arg_ignore_null || (arg_ignore_null && !this->is_null()))) {
543
14
            return;
544
14
        }
545
44
        DCHECK_LE(frame_start, frame_end);
546
30
        if (frame_start >= partition_end || frame_end <= partition_start) {
547
6
            this->set_is_null();
548
6
            return;
549
6
        }
550
24
        frame_start = std::max<int64_t>(frame_start, partition_start);
551
552
24
        if constexpr (arg_ignore_null) {
553
24
            frame_end = std::min<int64_t>(frame_end, partition_end);
554
24
            if (is_column_nullable(*columns[0])) {
555
24
                const auto& arg_nullable =
556
24
                        assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(
557
24
                                *columns[0]);
558
                // the valid range is: [frame_start, frame_end)
559
33
                while (frame_start < frame_end - 1 && arg_nullable.is_null_at(frame_start)) {
560
9
                    frame_start++;
561
9
                }
562
24
            }
563
24
        }
564
24
        this->set_value(columns, frame_start);
565
24
    }
566
567
2.39k
    static const char* name() { return "first_value"; }
_ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb0EE4nameEv
Line
Count
Source
567
6
    static const char* name() { return "first_value"; }
Unexecuted instantiation: _ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb0EE4nameEv
_ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb0EE4nameEv
Line
Count
Source
567
991
    static const char* name() { return "first_value"; }
_ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb0EE4nameEv
Line
Count
Source
567
1.34k
    static const char* name() { return "first_value"; }
Unexecuted instantiation: _ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb1EE4nameEv
Unexecuted instantiation: _ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb1EE4nameEv
_ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb1EE4nameEv
Line
Count
Source
567
6
    static const char* name() { return "first_value"; }
_ZN5doris23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb1EE4nameEv
Line
Count
Source
567
49
    static const char* name() { return "first_value"; }
568
};
569
570
template <typename Data, bool arg_ignore_null = false>
571
struct WindowFunctionLastImpl : Data {
572
    void add_range_single_place(int64_t partition_start, int64_t partition_end, int64_t frame_start,
573
997
                                int64_t frame_end, const IColumn** columns) {
574
997
        DCHECK_LE(frame_start, frame_end);
575
997
        if ((frame_end <= partition_start) ||
576
997
            (frame_start >= partition_end)) { //beyond or under partition, set null
577
54
            if ((this->has_set_value()) &&
578
54
                (!arg_ignore_null || (arg_ignore_null && !this->is_null()))) {
579
                // have set value, do nothing, because like rows unbouned preceding and M following
580
                // it's caculated as the cumulative mode, so it's could reuse the previous
581
28
            } else {
582
28
                this->set_is_null();
583
28
            }
584
54
            return;
585
54
        }
586
943
        frame_end = std::min<int64_t>(frame_end, partition_end);
587
588
943
        if constexpr (arg_ignore_null) {
589
63
            frame_start = std::max<int64_t>(frame_start, partition_start);
590
63
            if (is_column_nullable(*columns[0])) {
591
63
                const auto& arg_nullable =
592
63
                        assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(
593
63
                                *columns[0]);
594
                // wants find a not null value in [frame_start, frame_end)
595
                // iff has find: set_value and return directly
596
                // iff not find: the while loop is finished
597
                //     case 1: iff has_set_value, means the previous window have value, could reuse it, so return directly
598
                //     case 2: iff not has_set_value, means there is none value, set it's to NULL
599
104
                while (frame_start < frame_end) {
600
80
                    if (arg_nullable.is_null_at(frame_end - 1)) {
601
41
                        frame_end--;
602
41
                    } else {
603
39
                        this->set_value(columns, frame_end - 1);
604
39
                        return;
605
39
                    }
606
80
                }
607
24
                if (!this->has_set_value()) {
608
9
                    this->set_is_null();
609
9
                }
610
24
                return;
611
63
            }
612
63
        }
613
614
0
        this->set_value(columns, frame_end - 1);
615
943
    }
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
573
226
                                int64_t frame_end, const IColumn** columns) {
574
226
        DCHECK_LE(frame_start, frame_end);
575
226
        if ((frame_end <= partition_start) ||
576
226
            (frame_start >= partition_end)) { //beyond or under partition, set null
577
16
            if ((this->has_set_value()) &&
578
16
                (!arg_ignore_null || (arg_ignore_null && !this->is_null()))) {
579
                // have set value, do nothing, because like rows unbouned preceding and M following
580
                // it's caculated as the cumulative mode, so it's could reuse the previous
581
12
            } else {
582
4
                this->set_is_null();
583
4
            }
584
16
            return;
585
16
        }
586
210
        frame_end = std::min<int64_t>(frame_end, partition_end);
587
588
        if constexpr (arg_ignore_null) {
589
            frame_start = std::max<int64_t>(frame_start, partition_start);
590
            if (is_column_nullable(*columns[0])) {
591
                const auto& arg_nullable =
592
                        assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(
593
                                *columns[0]);
594
                // wants find a not null value in [frame_start, frame_end)
595
                // iff has find: set_value and return directly
596
                // iff not find: the while loop is finished
597
                //     case 1: iff has_set_value, means the previous window have value, could reuse it, so return directly
598
                //     case 2: iff not has_set_value, means there is none value, set it's to NULL
599
                while (frame_start < frame_end) {
600
                    if (arg_nullable.is_null_at(frame_end - 1)) {
601
                        frame_end--;
602
                    } else {
603
                        this->set_value(columns, frame_end - 1);
604
                        return;
605
                    }
606
                }
607
                if (!this->has_set_value()) {
608
                    this->set_is_null();
609
                }
610
                return;
611
            }
612
        }
613
614
210
        this->set_value(columns, frame_end - 1);
615
210
    }
_ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE
Line
Count
Source
573
708
                                int64_t frame_end, const IColumn** columns) {
574
708
        DCHECK_LE(frame_start, frame_end);
575
708
        if ((frame_end <= partition_start) ||
576
708
            (frame_start >= partition_end)) { //beyond or under partition, set null
577
38
            if ((this->has_set_value()) &&
578
38
                (!arg_ignore_null || (arg_ignore_null && !this->is_null()))) {
579
                // have set value, do nothing, because like rows unbouned preceding and M following
580
                // it's caculated as the cumulative mode, so it's could reuse the previous
581
24
            } else {
582
24
                this->set_is_null();
583
24
            }
584
38
            return;
585
38
        }
586
670
        frame_end = std::min<int64_t>(frame_end, partition_end);
587
588
        if constexpr (arg_ignore_null) {
589
            frame_start = std::max<int64_t>(frame_start, partition_start);
590
            if (is_column_nullable(*columns[0])) {
591
                const auto& arg_nullable =
592
                        assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(
593
                                *columns[0]);
594
                // wants find a not null value in [frame_start, frame_end)
595
                // iff has find: set_value and return directly
596
                // iff not find: the while loop is finished
597
                //     case 1: iff has_set_value, means the previous window have value, could reuse it, so return directly
598
                //     case 2: iff not has_set_value, means there is none value, set it's to NULL
599
                while (frame_start < frame_end) {
600
                    if (arg_nullable.is_null_at(frame_end - 1)) {
601
                        frame_end--;
602
                    } else {
603
                        this->set_value(columns, frame_end - 1);
604
                        return;
605
                    }
606
                }
607
                if (!this->has_set_value()) {
608
                    this->set_is_null();
609
                }
610
                return;
611
            }
612
        }
613
614
670
        this->set_value(columns, frame_end - 1);
615
670
    }
Unexecuted instantiation: _ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb1EE22add_range_single_placeEllllPPKNS_7IColumnE
Unexecuted instantiation: _ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb1EE22add_range_single_placeEllllPPKNS_7IColumnE
Unexecuted instantiation: _ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb1EE22add_range_single_placeEllllPPKNS_7IColumnE
_ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb1EE22add_range_single_placeEllllPPKNS_7IColumnE
Line
Count
Source
573
63
                                int64_t frame_end, const IColumn** columns) {
574
63
        DCHECK_LE(frame_start, frame_end);
575
63
        if ((frame_end <= partition_start) ||
576
63
            (frame_start >= partition_end)) { //beyond or under partition, set null
577
0
            if ((this->has_set_value()) &&
578
0
                (!arg_ignore_null || (arg_ignore_null && !this->is_null()))) {
579
                // have set value, do nothing, because like rows unbouned preceding and M following
580
                // it's caculated as the cumulative mode, so it's could reuse the previous
581
0
            } else {
582
0
                this->set_is_null();
583
0
            }
584
0
            return;
585
0
        }
586
63
        frame_end = std::min<int64_t>(frame_end, partition_end);
587
588
63
        if constexpr (arg_ignore_null) {
589
63
            frame_start = std::max<int64_t>(frame_start, partition_start);
590
63
            if (is_column_nullable(*columns[0])) {
591
63
                const auto& arg_nullable =
592
63
                        assert_cast<const ColumnNullable&, TypeCheckOnRelease::DISABLE>(
593
63
                                *columns[0]);
594
                // wants find a not null value in [frame_start, frame_end)
595
                // iff has find: set_value and return directly
596
                // iff not find: the while loop is finished
597
                //     case 1: iff has_set_value, means the previous window have value, could reuse it, so return directly
598
                //     case 2: iff not has_set_value, means there is none value, set it's to NULL
599
104
                while (frame_start < frame_end) {
600
80
                    if (arg_nullable.is_null_at(frame_end - 1)) {
601
41
                        frame_end--;
602
41
                    } else {
603
39
                        this->set_value(columns, frame_end - 1);
604
39
                        return;
605
39
                    }
606
80
                }
607
24
                if (!this->has_set_value()) {
608
9
                    this->set_is_null();
609
9
                }
610
24
                return;
611
63
            }
612
63
        }
613
614
0
        this->set_value(columns, frame_end - 1);
615
63
    }
616
617
1.37k
    static const char* name() { return "last_value"; }
Unexecuted instantiation: _ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb0EE4nameEv
Unexecuted instantiation: _ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb0EE4nameEv
_ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb0EE4nameEv
Line
Count
Source
617
347
    static const char* name() { return "last_value"; }
_ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb0EE4nameEv
Line
Count
Source
617
952
    static const char* name() { return "last_value"; }
Unexecuted instantiation: _ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb1EE4nameEv
Unexecuted instantiation: _ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb1EE4nameEv
Unexecuted instantiation: _ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb1EE4nameEv
_ZN5doris22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb1EE4nameEv
Line
Count
Source
617
73
    static const char* name() { return "last_value"; }
618
};
619
620
template <typename Data, bool = false>
621
struct WindowFunctionNthValueImpl : Data {
622
    void add_range_single_place(int64_t partition_start, int64_t partition_end, int64_t frame_start,
623
238
                                int64_t frame_end, const IColumn** columns) {
624
238
        DCHECK_LE(frame_start, frame_end);
625
238
        int64_t real_frame_start = std::max<int64_t>(frame_start, partition_start);
626
238
        int64_t real_frame_end = std::min<int64_t>(frame_end, partition_end);
627
238
        this->_frame_start_pose =
628
238
                this->_frame_total_rows ? this->_frame_start_pose : real_frame_start;
629
238
        this->_frame_total_rows += real_frame_end - real_frame_start;
630
238
        int64_t offset = assert_cast<const ColumnInt64&, TypeCheckOnRelease::DISABLE>(*columns[1])
631
238
                                 .get_data()[0];
632
238
        DCHECK_NE(offset, 0);
633
238
        int64_t row_position = offset > 0 ? offset - 1 : this->_frame_total_rows + offset;
634
238
        if (row_position < 0 || row_position >= this->_frame_total_rows) {
635
            // offset is beyond the frame, so set null
636
103
            this->set_is_null();
637
103
            return;
638
103
        }
639
135
        this->set_value(columns, row_position + this->_frame_start_pose);
640
135
    }
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
623
3
                                int64_t frame_end, const IColumn** columns) {
624
3
        DCHECK_LE(frame_start, frame_end);
625
3
        int64_t real_frame_start = std::max<int64_t>(frame_start, partition_start);
626
3
        int64_t real_frame_end = std::min<int64_t>(frame_end, partition_end);
627
3
        this->_frame_start_pose =
628
3
                this->_frame_total_rows ? this->_frame_start_pose : real_frame_start;
629
3
        this->_frame_total_rows += real_frame_end - real_frame_start;
630
3
        int64_t offset = assert_cast<const ColumnInt64&, TypeCheckOnRelease::DISABLE>(*columns[1])
631
3
                                 .get_data()[0];
632
3
        DCHECK_NE(offset, 0);
633
3
        int64_t row_position = offset > 0 ? offset - 1 : this->_frame_total_rows + offset;
634
3
        if (row_position < 0 || row_position >= this->_frame_total_rows) {
635
            // offset is beyond the frame, so set null
636
1
            this->set_is_null();
637
1
            return;
638
1
        }
639
2
        this->set_value(columns, row_position + this->_frame_start_pose);
640
2
    }
_ZN5doris26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb1EEELb0EE22add_range_single_placeEllllPPKNS_7IColumnE
Line
Count
Source
623
235
                                int64_t frame_end, const IColumn** columns) {
624
235
        DCHECK_LE(frame_start, frame_end);
625
235
        int64_t real_frame_start = std::max<int64_t>(frame_start, partition_start);
626
235
        int64_t real_frame_end = std::min<int64_t>(frame_end, partition_end);
627
235
        this->_frame_start_pose =
628
235
                this->_frame_total_rows ? this->_frame_start_pose : real_frame_start;
629
235
        this->_frame_total_rows += real_frame_end - real_frame_start;
630
235
        int64_t offset = assert_cast<const ColumnInt64&, TypeCheckOnRelease::DISABLE>(*columns[1])
631
235
                                 .get_data()[0];
632
235
        DCHECK_NE(offset, 0);
633
235
        int64_t row_position = offset > 0 ? offset - 1 : this->_frame_total_rows + offset;
634
235
        if (row_position < 0 || row_position >= this->_frame_total_rows) {
635
            // offset is beyond the frame, so set null
636
102
            this->set_is_null();
637
102
            return;
638
102
        }
639
133
        this->set_value(columns, row_position + this->_frame_start_pose);
640
133
    }
641
642
258
    static const char* name() { return "nth_value"; }
Unexecuted instantiation: _ZN5doris26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb0EEELb0EE4nameEv
Unexecuted instantiation: _ZN5doris26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb1EEELb0EE4nameEv
Unexecuted instantiation: _ZN5doris26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb0EEELb0EE4nameEv
_ZN5doris26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb1EEELb0EE4nameEv
Line
Count
Source
642
258
    static const char* name() { return "nth_value"; }
643
};
644
645
template <typename Data>
646
class WindowFunctionData final
647
        : public IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>> {
648
public:
649
    WindowFunctionData(const DataTypes& argument_types_)
650
474
            : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_),
651
474
              _argument_type(argument_types_[0]) {}
_ZN5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb0EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE
Line
Count
Source
650
97
            : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_),
651
97
              _argument_type(argument_types_[0]) {}
Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb1EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE
_ZN5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb0EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE
Line
Count
Source
650
1
            : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_),
651
1
              _argument_type(argument_types_[0]) {}
_ZN5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb1EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE
Line
Count
Source
650
30
            : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_),
651
30
              _argument_type(argument_types_[0]) {}
Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE
Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE
_ZN5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE
Line
Count
Source
650
22
            : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_),
651
22
              _argument_type(argument_types_[0]) {}
_ZN5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE
Line
Count
Source
650
52
            : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_),
651
52
              _argument_type(argument_types_[0]) {}
Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb1EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE
Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb1EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE
Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb1EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE
_ZN5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb1EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE
Line
Count
Source
650
8
            : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_),
651
8
              _argument_type(argument_types_[0]) {}
_ZN5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb0EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE
Line
Count
Source
650
8
            : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_),
651
8
              _argument_type(argument_types_[0]) {}
Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb1EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE
_ZN5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb0EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE
Line
Count
Source
650
1
            : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_),
651
1
              _argument_type(argument_types_[0]) {}
_ZN5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb1EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE
Line
Count
Source
650
34
            : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_),
651
34
              _argument_type(argument_types_[0]) {}
Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb0EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE
Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb1EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE
_ZN5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb0EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE
Line
Count
Source
650
1
            : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_),
651
1
              _argument_type(argument_types_[0]) {}
_ZN5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb1EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE
Line
Count
Source
650
16
            : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_),
651
16
              _argument_type(argument_types_[0]) {}
_ZN5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE
Line
Count
Source
650
1
            : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_),
651
1
              _argument_type(argument_types_[0]) {}
Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE
_ZN5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE
Line
Count
Source
650
115
            : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_),
651
115
              _argument_type(argument_types_[0]) {}
_ZN5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb0EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE
Line
Count
Source
650
82
            : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_),
651
82
              _argument_type(argument_types_[0]) {}
Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb1EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE
Unexecuted instantiation: _ZN5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb1EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE
_ZN5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb1EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE
Line
Count
Source
650
1
            : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_),
651
1
              _argument_type(argument_types_[0]) {}
_ZN5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb1EEEEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaISA_EE
Line
Count
Source
650
5
            : IAggregateFunctionDataHelper<Data, WindowFunctionData<Data>>(argument_types_),
651
5
              _argument_type(argument_types_[0]) {}
652
653
6.37k
    String get_name() const override { return Data::name(); }
_ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb0EEELb0EEEE8get_nameB5cxx11Ev
Line
Count
Source
653
1.22k
    String get_name() const override { return Data::name(); }
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb1EEELb0EEEE8get_nameB5cxx11Ev
_ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb0EEELb0EEEE8get_nameB5cxx11Ev
Line
Count
Source
653
11
    String get_name() const override { return Data::name(); }
_ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb1EEELb0EEEE8get_nameB5cxx11Ev
Line
Count
Source
653
447
    String get_name() const override { return Data::name(); }
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb0EEEE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb0EEEE8get_nameB5cxx11Ev
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb0EEEE8get_nameB5cxx11Ev
Line
Count
Source
653
347
    String get_name() const override { return Data::name(); }
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb0EEEE8get_nameB5cxx11Ev
Line
Count
Source
653
952
    String get_name() const override { return Data::name(); }
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb1EEEE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb1EEEE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb1EEEE8get_nameB5cxx11Ev
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb1EEEE8get_nameB5cxx11Ev
Line
Count
Source
653
73
    String get_name() const override { return Data::name(); }
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb0EEELb0EEEE8get_nameB5cxx11Ev
Line
Count
Source
653
101
    String get_name() const override { return Data::name(); }
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb1EEELb0EEEE8get_nameB5cxx11Ev
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb0EEELb0EEEE8get_nameB5cxx11Ev
Line
Count
Source
653
14
    String get_name() const override { return Data::name(); }
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb1EEELb0EEEE8get_nameB5cxx11Ev
Line
Count
Source
653
557
    String get_name() const override { return Data::name(); }
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb0EEELb0EEEE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb1EEELb0EEEE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb0EEELb0EEEE8get_nameB5cxx11Ev
_ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb1EEELb0EEEE8get_nameB5cxx11Ev
Line
Count
Source
653
258
    String get_name() const override { return Data::name(); }
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb0EEEE8get_nameB5cxx11Ev
Line
Count
Source
653
6
    String get_name() const override { return Data::name(); }
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb0EEEE8get_nameB5cxx11Ev
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb0EEEE8get_nameB5cxx11Ev
Line
Count
Source
653
990
    String get_name() const override { return Data::name(); }
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb0EEEE8get_nameB5cxx11Ev
Line
Count
Source
653
1.34k
    String get_name() const override { return Data::name(); }
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb1EEEE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb1EEEE8get_nameB5cxx11Ev
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb1EEEE8get_nameB5cxx11Ev
Line
Count
Source
653
6
    String get_name() const override { return Data::name(); }
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb1EEEE8get_nameB5cxx11Ev
Line
Count
Source
653
49
    String get_name() const override { return Data::name(); }
654
655
6.71k
    DataTypePtr get_return_type() const override {
656
6.71k
        if constexpr (Data::result_nullable) {
657
5.29k
            return make_nullable(_argument_type);
658
5.29k
        } else {
659
1.42k
            return _argument_type;
660
1.42k
        }
661
6.71k
    }
_ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb0EEELb0EEEE15get_return_typeEv
Line
Count
Source
655
1.32k
    DataTypePtr get_return_type() const override {
656
        if constexpr (Data::result_nullable) {
657
            return make_nullable(_argument_type);
658
1.32k
        } else {
659
1.32k
            return _argument_type;
660
1.32k
        }
661
1.32k
    }
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb1EEELb0EEEE15get_return_typeEv
_ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb0EEELb0EEEE15get_return_typeEv
Line
Count
Source
655
12
    DataTypePtr get_return_type() const override {
656
12
        if constexpr (Data::result_nullable) {
657
12
            return make_nullable(_argument_type);
658
        } else {
659
            return _argument_type;
660
        }
661
12
    }
_ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb1EEELb0EEEE15get_return_typeEv
Line
Count
Source
655
480
    DataTypePtr get_return_type() const override {
656
480
        if constexpr (Data::result_nullable) {
657
480
            return make_nullable(_argument_type);
658
        } else {
659
            return _argument_type;
660
        }
661
480
    }
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb0EEEE15get_return_typeEv
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb0EEEE15get_return_typeEv
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb0EEEE15get_return_typeEv
Line
Count
Source
655
363
    DataTypePtr get_return_type() const override {
656
363
        if constexpr (Data::result_nullable) {
657
363
            return make_nullable(_argument_type);
658
        } else {
659
            return _argument_type;
660
        }
661
363
    }
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb0EEEE15get_return_typeEv
Line
Count
Source
655
998
    DataTypePtr get_return_type() const override {
656
998
        if constexpr (Data::result_nullable) {
657
998
            return make_nullable(_argument_type);
658
        } else {
659
            return _argument_type;
660
        }
661
998
    }
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb1EEEE15get_return_typeEv
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb1EEEE15get_return_typeEv
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb1EEEE15get_return_typeEv
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb1EEEE15get_return_typeEv
Line
Count
Source
655
81
    DataTypePtr get_return_type() const override {
656
81
        if constexpr (Data::result_nullable) {
657
81
            return make_nullable(_argument_type);
658
        } else {
659
            return _argument_type;
660
        }
661
81
    }
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb0EEELb0EEEE15get_return_typeEv
Line
Count
Source
655
98
    DataTypePtr get_return_type() const override {
656
        if constexpr (Data::result_nullable) {
657
            return make_nullable(_argument_type);
658
98
        } else {
659
98
            return _argument_type;
660
98
        }
661
98
    }
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb1EEELb0EEEE15get_return_typeEv
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb0EEELb0EEEE15get_return_typeEv
Line
Count
Source
655
12
    DataTypePtr get_return_type() const override {
656
12
        if constexpr (Data::result_nullable) {
657
12
            return make_nullable(_argument_type);
658
        } else {
659
            return _argument_type;
660
        }
661
12
    }
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb1EEELb0EEEE15get_return_typeEv
Line
Count
Source
655
487
    DataTypePtr get_return_type() const override {
656
487
        if constexpr (Data::result_nullable) {
657
487
            return make_nullable(_argument_type);
658
        } else {
659
            return _argument_type;
660
        }
661
487
    }
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb0EEELb0EEEE15get_return_typeEv
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb1EEELb0EEEE15get_return_typeEv
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb0EEELb0EEEE15get_return_typeEv
_ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb1EEELb0EEEE15get_return_typeEv
Line
Count
Source
655
273
    DataTypePtr get_return_type() const override {
656
273
        if constexpr (Data::result_nullable) {
657
273
            return make_nullable(_argument_type);
658
        } else {
659
            return _argument_type;
660
        }
661
273
    }
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb0EEEE15get_return_typeEv
Line
Count
Source
655
7
    DataTypePtr get_return_type() const override {
656
        if constexpr (Data::result_nullable) {
657
            return make_nullable(_argument_type);
658
7
        } else {
659
7
            return _argument_type;
660
7
        }
661
7
    }
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb0EEEE15get_return_typeEv
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb0EEEE15get_return_typeEv
Line
Count
Source
655
1.10k
    DataTypePtr get_return_type() const override {
656
1.10k
        if constexpr (Data::result_nullable) {
657
1.10k
            return make_nullable(_argument_type);
658
        } else {
659
            return _argument_type;
660
        }
661
1.10k
    }
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb0EEEE15get_return_typeEv
Line
Count
Source
655
1.42k
    DataTypePtr get_return_type() const override {
656
1.42k
        if constexpr (Data::result_nullable) {
657
1.42k
            return make_nullable(_argument_type);
658
        } else {
659
            return _argument_type;
660
        }
661
1.42k
    }
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb1EEEE15get_return_typeEv
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb1EEEE15get_return_typeEv
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb1EEEE15get_return_typeEv
Line
Count
Source
655
7
    DataTypePtr get_return_type() const override {
656
7
        if constexpr (Data::result_nullable) {
657
7
            return make_nullable(_argument_type);
658
        } else {
659
            return _argument_type;
660
        }
661
7
    }
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb1EEEE15get_return_typeEv
Line
Count
Source
655
54
    DataTypePtr get_return_type() const override {
656
54
        if constexpr (Data::result_nullable) {
657
54
            return make_nullable(_argument_type);
658
        } else {
659
            return _argument_type;
660
        }
661
54
    }
662
663
4.40k
    void check_input_columns_type(const IColumn** columns) const override {
664
4.40k
        IAggregateFunction::check_input_columns_type(columns);
665
4.40k
        const auto function_name = get_name();
666
4.40k
        if (function_name == "lead" || function_name == "lag" || function_name == "nth_value") {
667
1.82k
            this->template check_argument_column_type<ColumnInt64>(columns[1]);
668
1.82k
        }
669
4.40k
    }
_ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb0EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE
Line
Count
Source
663
834
    void check_input_columns_type(const IColumn** columns) const override {
664
834
        IAggregateFunction::check_input_columns_type(columns);
665
834
        const auto function_name = get_name();
666
834
        if (function_name == "lead" || function_name == "lag" || function_name == "nth_value") {
667
834
            this->template check_argument_column_type<ColumnInt64>(columns[1]);
668
834
        }
669
834
    }
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb1EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE
_ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb0EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE
Line
Count
Source
663
4
    void check_input_columns_type(const IColumn** columns) const override {
664
4
        IAggregateFunction::check_input_columns_type(columns);
665
4
        const auto function_name = get_name();
666
4
        if (function_name == "lead" || function_name == "lag" || function_name == "nth_value") {
667
4
            this->template check_argument_column_type<ColumnInt64>(columns[1]);
668
4
        }
669
4
    }
_ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb1EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE
Line
Count
Source
663
291
    void check_input_columns_type(const IColumn** columns) const override {
664
291
        IAggregateFunction::check_input_columns_type(columns);
665
291
        const auto function_name = get_name();
666
291
        if (function_name == "lead" || function_name == "lag" || function_name == "nth_value") {
667
291
            this->template check_argument_column_type<ColumnInt64>(columns[1]);
668
291
        }
669
291
    }
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE
Line
Count
Source
663
226
    void check_input_columns_type(const IColumn** columns) const override {
664
226
        IAggregateFunction::check_input_columns_type(columns);
665
226
        const auto function_name = get_name();
666
226
        if (function_name == "lead" || function_name == "lag" || function_name == "nth_value") {
667
0
            this->template check_argument_column_type<ColumnInt64>(columns[1]);
668
0
        }
669
226
    }
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE
Line
Count
Source
663
708
    void check_input_columns_type(const IColumn** columns) const override {
664
708
        IAggregateFunction::check_input_columns_type(columns);
665
708
        const auto function_name = get_name();
666
708
        if (function_name == "lead" || function_name == "lag" || function_name == "nth_value") {
667
0
            this->template check_argument_column_type<ColumnInt64>(columns[1]);
668
0
        }
669
708
    }
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
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb1EEEE24check_input_columns_typeEPPKNS_7IColumnE
Line
Count
Source
663
63
    void check_input_columns_type(const IColumn** columns) const override {
664
63
        IAggregateFunction::check_input_columns_type(columns);
665
63
        const auto function_name = get_name();
666
63
        if (function_name == "lead" || function_name == "lag" || function_name == "nth_value") {
667
0
            this->template check_argument_column_type<ColumnInt64>(columns[1]);
668
0
        }
669
63
    }
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb0EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE
Line
Count
Source
663
66
    void check_input_columns_type(const IColumn** columns) const override {
664
66
        IAggregateFunction::check_input_columns_type(columns);
665
66
        const auto function_name = get_name();
666
66
        if (function_name == "lead" || function_name == "lag" || function_name == "nth_value") {
667
66
            this->template check_argument_column_type<ColumnInt64>(columns[1]);
668
66
        }
669
66
    }
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb1EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb0EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE
Line
Count
Source
663
7
    void check_input_columns_type(const IColumn** columns) const override {
664
7
        IAggregateFunction::check_input_columns_type(columns);
665
7
        const auto function_name = get_name();
666
7
        if (function_name == "lead" || function_name == "lag" || function_name == "nth_value") {
667
7
            this->template check_argument_column_type<ColumnInt64>(columns[1]);
668
7
        }
669
7
    }
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb1EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE
Line
Count
Source
663
389
    void check_input_columns_type(const IColumn** columns) const override {
664
389
        IAggregateFunction::check_input_columns_type(columns);
665
389
        const auto function_name = get_name();
666
389
        if (function_name == "lead" || function_name == "lag" || function_name == "nth_value") {
667
389
            this->template check_argument_column_type<ColumnInt64>(columns[1]);
668
389
        }
669
389
    }
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
_ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb1EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE
Line
Count
Source
663
235
    void check_input_columns_type(const IColumn** columns) const override {
664
235
        IAggregateFunction::check_input_columns_type(columns);
665
235
        const auto function_name = get_name();
666
235
        if (function_name == "lead" || function_name == "lag" || function_name == "nth_value") {
667
235
            this->template check_argument_column_type<ColumnInt64>(columns[1]);
668
235
        }
669
235
    }
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE
Line
Count
Source
663
5
    void check_input_columns_type(const IColumn** columns) const override {
664
5
        IAggregateFunction::check_input_columns_type(columns);
665
5
        const auto function_name = get_name();
666
5
        if (function_name == "lead" || function_name == "lag" || function_name == "nth_value") {
667
0
            this->template check_argument_column_type<ColumnInt64>(columns[1]);
668
0
        }
669
5
    }
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE
Line
Count
Source
663
525
    void check_input_columns_type(const IColumn** columns) const override {
664
525
        IAggregateFunction::check_input_columns_type(columns);
665
525
        const auto function_name = get_name();
666
526
        if (function_name == "lead" || function_name == "lag" || function_name == "nth_value") {
667
0
            this->template check_argument_column_type<ColumnInt64>(columns[1]);
668
0
        }
669
525
    }
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb0EEEE24check_input_columns_typeEPPKNS_7IColumnE
Line
Count
Source
663
1.00k
    void check_input_columns_type(const IColumn** columns) const override {
664
1.00k
        IAggregateFunction::check_input_columns_type(columns);
665
1.00k
        const auto function_name = get_name();
666
1.00k
        if (function_name == "lead" || function_name == "lag" || function_name == "nth_value") {
667
0
            this->template check_argument_column_type<ColumnInt64>(columns[1]);
668
0
        }
669
1.00k
    }
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb1EEEE24check_input_columns_typeEPPKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb1EEEE24check_input_columns_typeEPPKNS_7IColumnE
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb1EEEE24check_input_columns_typeEPPKNS_7IColumnE
Line
Count
Source
663
4
    void check_input_columns_type(const IColumn** columns) const override {
664
4
        IAggregateFunction::check_input_columns_type(columns);
665
4
        const auto function_name = get_name();
666
4
        if (function_name == "lead" || function_name == "lag" || function_name == "nth_value") {
667
0
            this->template check_argument_column_type<ColumnInt64>(columns[1]);
668
0
        }
669
4
    }
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb1EEEE24check_input_columns_typeEPPKNS_7IColumnE
Line
Count
Source
663
44
    void check_input_columns_type(const IColumn** columns) const override {
664
44
        IAggregateFunction::check_input_columns_type(columns);
665
44
        const auto function_name = get_name();
666
44
        if (function_name == "lead" || function_name == "lag" || function_name == "nth_value") {
667
0
            this->template check_argument_column_type<ColumnInt64>(columns[1]);
668
0
        }
669
44
    }
670
671
    void add_range_single_place(int64_t partition_start, int64_t partition_end, int64_t frame_start,
672
                                int64_t frame_end, AggregateDataPtr place, const IColumn** columns,
673
4.40k
                                Arena&, UInt8*, UInt8*) const override {
674
4.40k
        this->data(place).add_range_single_place(partition_start, partition_end, frame_start,
675
4.40k
                                                 frame_end, columns);
676
4.40k
    }
_ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb0EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_
Line
Count
Source
673
834
                                Arena&, UInt8*, UInt8*) const override {
674
834
        this->data(place).add_range_single_place(partition_start, partition_end, frame_start,
675
834
                                                 frame_end, columns);
676
834
    }
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb1EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_
_ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb0EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_
Line
Count
Source
673
4
                                Arena&, UInt8*, UInt8*) const override {
674
4
        this->data(place).add_range_single_place(partition_start, partition_end, frame_start,
675
4
                                                 frame_end, columns);
676
4
    }
_ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb1EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_
Line
Count
Source
673
291
                                Arena&, UInt8*, UInt8*) const override {
674
291
        this->data(place).add_range_single_place(partition_start, partition_end, frame_start,
675
291
                                                 frame_end, columns);
676
291
    }
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
673
226
                                Arena&, UInt8*, UInt8*) const override {
674
226
        this->data(place).add_range_single_place(partition_start, partition_end, frame_start,
675
226
                                                 frame_end, columns);
676
226
    }
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_
Line
Count
Source
673
708
                                Arena&, UInt8*, UInt8*) const override {
674
708
        this->data(place).add_range_single_place(partition_start, partition_end, frame_start,
675
708
                                                 frame_end, columns);
676
708
    }
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_
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb1EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_
Line
Count
Source
673
63
                                Arena&, UInt8*, UInt8*) const override {
674
63
        this->data(place).add_range_single_place(partition_start, partition_end, frame_start,
675
63
                                                 frame_end, columns);
676
63
    }
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb0EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_
Line
Count
Source
673
66
                                Arena&, UInt8*, UInt8*) const override {
674
66
        this->data(place).add_range_single_place(partition_start, partition_end, frame_start,
675
66
                                                 frame_end, columns);
676
66
    }
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb1EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb0EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_
Line
Count
Source
673
7
                                Arena&, UInt8*, UInt8*) const override {
674
7
        this->data(place).add_range_single_place(partition_start, partition_end, frame_start,
675
7
                                                 frame_end, columns);
676
7
    }
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb1EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_
Line
Count
Source
673
389
                                Arena&, UInt8*, UInt8*) const override {
674
389
        this->data(place).add_range_single_place(partition_start, partition_end, frame_start,
675
389
                                                 frame_end, columns);
676
389
    }
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
673
3
                                Arena&, UInt8*, UInt8*) const override {
674
3
        this->data(place).add_range_single_place(partition_start, partition_end, frame_start,
675
3
                                                 frame_end, columns);
676
3
    }
_ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb1EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_
Line
Count
Source
673
235
                                Arena&, UInt8*, UInt8*) const override {
674
235
        this->data(place).add_range_single_place(partition_start, partition_end, frame_start,
675
235
                                                 frame_end, columns);
676
235
    }
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_
Line
Count
Source
673
5
                                Arena&, UInt8*, UInt8*) const override {
674
5
        this->data(place).add_range_single_place(partition_start, partition_end, frame_start,
675
5
                                                 frame_end, columns);
676
5
    }
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_
Line
Count
Source
673
526
                                Arena&, UInt8*, UInt8*) const override {
674
526
        this->data(place).add_range_single_place(partition_start, partition_end, frame_start,
675
526
                                                 frame_end, columns);
676
526
    }
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb0EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_
Line
Count
Source
673
1.00k
                                Arena&, UInt8*, UInt8*) const override {
674
1.00k
        this->data(place).add_range_single_place(partition_start, partition_end, frame_start,
675
1.00k
                                                 frame_end, columns);
676
1.00k
    }
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb1EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb1EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb1EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_
Line
Count
Source
673
4
                                Arena&, UInt8*, UInt8*) const override {
674
4
        this->data(place).add_range_single_place(partition_start, partition_end, frame_start,
675
4
                                                 frame_end, columns);
676
4
    }
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb1EEEE22add_range_single_placeEllllPcPPKNS_7IColumnERNS_5ArenaEPhSD_
Line
Count
Source
673
44
                                Arena&, UInt8*, UInt8*) const override {
674
44
        this->data(place).add_range_single_place(partition_start, partition_end, frame_start,
675
44
                                                 frame_end, columns);
676
44
    }
677
678
1.87k
    void reset(AggregateDataPtr place) const override { this->data(place).reset(); }
_ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb0EEELb0EEEE5resetEPc
Line
Count
Source
678
152
    void reset(AggregateDataPtr place) const override { this->data(place).reset(); }
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb1EEELb0EEEE5resetEPc
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb0EEELb0EEEE5resetEPc
_ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb1EEELb0EEEE5resetEPc
Line
Count
Source
678
39
    void reset(AggregateDataPtr place) const override { this->data(place).reset(); }
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb0EEEE5resetEPc
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb0EEEE5resetEPc
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb0EEEE5resetEPc
Line
Count
Source
678
168
    void reset(AggregateDataPtr place) const override { this->data(place).reset(); }
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb0EEEE5resetEPc
Line
Count
Source
678
406
    void reset(AggregateDataPtr place) const override { this->data(place).reset(); }
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb1EEEE5resetEPc
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb1EEEE5resetEPc
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb1EEEE5resetEPc
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb1EEEE5resetEPc
Line
Count
Source
678
33
    void reset(AggregateDataPtr place) const override { this->data(place).reset(); }
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb0EEELb0EEEE5resetEPc
Line
Count
Source
678
12
    void reset(AggregateDataPtr place) const override { this->data(place).reset(); }
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb1EEELb0EEEE5resetEPc
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb0EEELb0EEEE5resetEPc
Line
Count
Source
678
3
    void reset(AggregateDataPtr place) const override { this->data(place).reset(); }
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb1EEELb0EEEE5resetEPc
Line
Count
Source
678
104
    void reset(AggregateDataPtr place) const override { this->data(place).reset(); }
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb0EEELb0EEEE5resetEPc
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb0ELb1EEELb0EEEE5resetEPc
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb0EEELb0EEEE5resetEPc
_ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb1EEELb0EEEE5resetEPc
Line
Count
Source
678
185
    void reset(AggregateDataPtr place) const override { this->data(place).reset(); }
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb0EEEE5resetEPc
Line
Count
Source
678
3
    void reset(AggregateDataPtr place) const override { this->data(place).reset(); }
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb0EEEE5resetEPc
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb0EEEE5resetEPc
Line
Count
Source
678
288
    void reset(AggregateDataPtr place) const override { this->data(place).reset(); }
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb0EEEE5resetEPc
Line
Count
Source
678
452
    void reset(AggregateDataPtr place) const override { this->data(place).reset(); }
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb1EEEE5resetEPc
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb1EEEE5resetEPc
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb1EEEE5resetEPc
Line
Count
Source
678
4
    void reset(AggregateDataPtr place) const override { this->data(place).reset(); }
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb1EEEE5resetEPc
Line
Count
Source
678
29
    void reset(AggregateDataPtr place) const override { this->data(place).reset(); }
679
680
5.01k
    void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override {
681
5.01k
        this->data(place).insert_result_into(to);
682
5.01k
    }
_ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb0EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
680
834
    void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override {
681
834
        this->data(place).insert_result_into(to);
682
834
    }
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb0ELb1EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE
_ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb0EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
680
4
    void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override {
681
4
        this->data(place).insert_result_into(to);
682
4
    }
_ZNK5doris18WindowFunctionDataINS_21WindowFunctionLagImplINS_11LeadLagDataILb1ELb1EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
680
291
    void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override {
681
291
        this->data(place).insert_result_into(to);
682
291
    }
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
680
247
    void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override {
681
247
        this->data(place).insert_result_into(to);
682
247
    }
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
680
822
    void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override {
681
822
        this->data(place).insert_result_into(to);
682
822
    }
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb0EEELb1EEEE18insert_result_intoEPKcRNS_7IColumnE
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb0ELb1EEELb1EEEE18insert_result_intoEPKcRNS_7IColumnE
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb0EEELb1EEEE18insert_result_intoEPKcRNS_7IColumnE
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLastImplINS_13FirstLastDataILb1ELb1EEELb1EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
680
69
    void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override {
681
69
        this->data(place).insert_result_into(to);
682
69
    }
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb0EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
680
54
    void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override {
681
54
        this->data(place).insert_result_into(to);
682
54
    }
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb0ELb1EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb0EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
680
4
    void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override {
681
4
        this->data(place).insert_result_into(to);
682
4
    }
_ZNK5doris18WindowFunctionDataINS_22WindowFunctionLeadImplINS_11LeadLagDataILb1ELb1EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
680
285
    void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override {
681
285
        this->data(place).insert_result_into(to);
682
285
    }
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
680
3
    void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override {
681
3
        this->data(place).insert_result_into(to);
682
3
    }
_ZNK5doris18WindowFunctionDataINS_26WindowFunctionNthValueImplINS_12NthValueDataILb1ELb1EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
680
233
    void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override {
681
233
        this->data(place).insert_result_into(to);
682
233
    }
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
680
5
    void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override {
681
5
        this->data(place).insert_result_into(to);
682
5
    }
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
680
859
    void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override {
681
859
        this->data(place).insert_result_into(to);
682
859
    }
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb0EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
680
1.25k
    void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override {
681
1.25k
        this->data(place).insert_result_into(to);
682
1.25k
    }
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb0EEELb1EEEE18insert_result_intoEPKcRNS_7IColumnE
Unexecuted instantiation: _ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb0ELb1EEELb1EEEE18insert_result_intoEPKcRNS_7IColumnE
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb0EEELb1EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
680
5
    void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override {
681
5
        this->data(place).insert_result_into(to);
682
5
    }
_ZNK5doris18WindowFunctionDataINS_23WindowFunctionFirstImplINS_13FirstLastDataILb1ELb1EEELb1EEEE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
680
44
    void insert_result_into(ConstAggregateDataPtr place, IColumn& to) const override {
681
44
        this->data(place).insert_result_into(to);
682
44
    }
683
684
    void add(AggregateDataPtr place, const IColumn** columns, ssize_t row_num,
685
0
             Arena&) const override {
686
0
        throw doris::Exception(Status::FatalError("WindowFunctionLeadLagData do not support add"));
687
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
688
0
    void merge(AggregateDataPtr place, ConstAggregateDataPtr rhs, Arena&) const override {
689
0
        throw doris::Exception(
690
0
                Status::FatalError("WindowFunctionLeadLagData do not support merge"));
691
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
692
0
    void serialize(ConstAggregateDataPtr place, BufferWritable& buf) const override {
693
0
        throw doris::Exception(
694
0
                Status::FatalError("WindowFunctionLeadLagData do not support serialize"));
695
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
696
0
    void deserialize(AggregateDataPtr place, BufferReadable& buf, Arena&) const override {
697
0
        throw doris::Exception(
698
0
                Status::FatalError("WindowFunctionLeadLagData do not support deserialize"));
699
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
700
701
private:
702
    DataTypePtr _argument_type;
703
};
704
705
} // namespace doris