1#ifndef SQL_ITERATORS_WINDOW_ITERATORS_H_
2#define SQL_ITERATORS_WINDOW_ITERATORS_H_
100 bool Init()
override;
105 m_source->SetNullRowFlag(is_null_row);
110 m_source->EndPSIBatchModeIfStarted();
211 bool Init()
override;
216 m_source->SetNullRowFlag(is_null_row);
221 m_source->EndPSIBatchModeIfStarted();
BufferingWindowIterator is like WindowIterator, but deals with window functions that need to buffer r...
Definition: window_iterators.h:204
void UnlockRow() override
Definition: window_iterators.h:224
JOIN * m_join
The join we are a part of.
Definition: window_iterators.h:241
bool Init() override
Initialize or reinitialize the iterator.
Definition: window_iterators.cc:1575
Temp_table_param * m_temp_table_param
Parameters for the temporary table we are outputting to.
Definition: window_iterators.h:235
int m_input_slice
The slice we will be using when reading rows.
Definition: window_iterators.h:244
int Read() override
Read a single row.
Definition: window_iterators.cc:1591
int ReadBufferedRow(bool new_partition_or_eof)
Definition: window_iterators.cc:1687
void StartPSIBatchMode() override
Start performance schema batch mode, if supported (otherwise ignored).
Definition: window_iterators.h:219
bool m_eof
Whether we have seen the last input row.
Definition: window_iterators.h:259
int m_output_slice
The slice we will be using when outputting rows.
Definition: window_iterators.h:247
bool m_possibly_buffered_rows
If true, we may have more buffered rows to process that need to be checked for before reading more ro...
Definition: window_iterators.h:251
unique_ptr_destroy_only< RowIterator > const m_source
The iterator we are reading from.
Definition: window_iterators.h:232
Window * m_window
The window function itself.
Definition: window_iterators.h:238
void EndPSIBatchModeIfStarted() override
Ends performance schema batch mode, if started.
Definition: window_iterators.h:220
void SetNullRowFlag(bool is_null_row) override
Mark the current row buffer as containing a NULL row or not, so that if you read from it and the flag...
Definition: window_iterators.h:215
bool m_last_input_row_started_new_partition
Whether the last input row started a new partition, and was tucked away to finalize the previous part...
Definition: window_iterators.h:256
BufferingWindowIterator(THD *thd, unique_ptr_destroy_only< RowIterator > source, Temp_table_param *temp_table_param, JOIN *join, int output_slice)
Definition: window_iterators.cc:1563
Definition: sql_optimizer.h:133
A context for reading through a single table using a chosen access method: index read,...
Definition: row_iterator.h:82
THD * thd() const
Definition: row_iterator.h:228
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:36
Object containing parameters used when creating and using temporary tables.
Definition: temp_table_param.h:97
Definition: window_iterators.h:94
int m_output_slice
The slice we will be using when outputting rows.
Definition: window_iterators.h:134
void SetNullRowFlag(bool is_null_row) override
Mark the current row buffer as containing a NULL row or not, so that if you read from it and the flag...
Definition: window_iterators.h:104
void StartPSIBatchMode() override
Start performance schema batch mode, if supported (otherwise ignored).
Definition: window_iterators.h:108
JOIN * m_join
The join we are a part of.
Definition: window_iterators.h:128
WindowIterator(THD *thd, unique_ptr_destroy_only< RowIterator > source, Temp_table_param *temp_table_param, JOIN *join, int output_slice)
Definition: window_iterators.cc:1515
unique_ptr_destroy_only< RowIterator > const m_source
The iterator we are reading from.
Definition: window_iterators.h:119
bool Init() override
Initialize or reinitialize the iterator.
Definition: window_iterators.cc:1528
void EndPSIBatchModeIfStarted() override
Ends performance schema batch mode, if started.
Definition: window_iterators.h:109
Temp_table_param * m_temp_table_param
Parameters for the temporary table we are outputting to.
Definition: window_iterators.h:122
int Read() override
Read a single row.
Definition: window_iterators.cc:1540
void UnlockRow() override
Definition: window_iterators.h:113
int m_input_slice
The slice we will be using when reading rows.
Definition: window_iterators.h:131
Window * m_window
The window function itself.
Definition: window_iterators.h:125
Represents the (explicit) window of a SQL 2003 section 7.11 <window clause>, or the implicit (inlined...
Definition: window.h:110
This file follows Google coding style, except for the name MEM_ROOT (which is kept for historical rea...
std::unique_ptr< T, Destroy_only< T > > unique_ptr_destroy_only
std::unique_ptr, but only destroying.
Definition: my_alloc.h:480
std::string join(const detail::range auto &rng, std::string_view delim)
join elements of a range into a string separated by a delimiter.
Definition: string.h:74
repeated Source source
Definition: replication_asynchronous_connection_failover.proto:42