1#ifndef SQL_ITERATORS_WINDOW_ITERATORS_H_ 
    2#define SQL_ITERATORS_WINDOW_ITERATORS_H_ 
  101    m_source->SetNullRowFlag(is_null_row);
 
  106    m_source->EndPSIBatchModeIfStarted();
 
  211    m_source->SetNullRowFlag(is_null_row);
 
  216    m_source->EndPSIBatchModeIfStarted();
 
BufferingWindowIterator is like WindowIterator, but deals with window functions that need to buffer r...
Definition: window_iterators.h:203
 
void UnlockRow() override
Definition: window_iterators.h:219
 
JOIN * m_join
The join we are a part of.
Definition: window_iterators.h:238
 
Temp_table_param * m_temp_table_param
Parameters for the temporary table we are outputting to.
Definition: window_iterators.h:232
 
int m_input_slice
The slice we will be using when reading rows.
Definition: window_iterators.h:241
 
int DoRead() override
Definition: window_iterators.cc:1610
 
bool DoInit() override
Definition: window_iterators.cc:1594
 
int ReadBufferedRow(bool new_partition_or_eof)
Definition: window_iterators.cc:1706
 
void StartPSIBatchMode() override
Start performance schema batch mode, if supported (otherwise ignored).
Definition: window_iterators.h:214
 
bool m_eof
Whether we have seen the last input row.
Definition: window_iterators.h:256
 
int m_output_slice
The slice we will be using when outputting rows.
Definition: window_iterators.h:244
 
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:248
 
unique_ptr_destroy_only< RowIterator > const m_source
The iterator we are reading from.
Definition: window_iterators.h:229
 
Window * m_window
The window function itself.
Definition: window_iterators.h:235
 
void EndPSIBatchModeIfStarted() override
Ends performance schema batch mode, if started.
Definition: window_iterators.h:215
 
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:210
 
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:253
 
BufferingWindowIterator(THD *thd, unique_ptr_destroy_only< RowIterator > source, Temp_table_param *temp_table_param, JOIN *join, int output_slice)
Definition: window_iterators.cc:1582
 
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:255
 
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:133
 
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:100
 
void StartPSIBatchMode() override
Start performance schema batch mode, if supported (otherwise ignored).
Definition: window_iterators.h:104
 
JOIN * m_join
The join we are a part of.
Definition: window_iterators.h:127
 
WindowIterator(THD *thd, unique_ptr_destroy_only< RowIterator > source, Temp_table_param *temp_table_param, JOIN *join, int output_slice)
Definition: window_iterators.cc:1534
 
unique_ptr_destroy_only< RowIterator > const m_source
The iterator we are reading from.
Definition: window_iterators.h:118
 
void EndPSIBatchModeIfStarted() override
Ends performance schema batch mode, if started.
Definition: window_iterators.h:105
 
Temp_table_param * m_temp_table_param
Parameters for the temporary table we are outputting to.
Definition: window_iterators.h:121
 
int DoRead() override
Definition: window_iterators.cc:1559
 
bool DoInit() override
Definition: window_iterators.cc:1547
 
void UnlockRow() override
Definition: window_iterators.h:109
 
int m_input_slice
The slice we will be using when reading rows.
Definition: window_iterators.h:130
 
Window * m_window
The window function itself.
Definition: window_iterators.h:124
 
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