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:1570
 
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:1586
 
int ReadBufferedRow(bool new_partition_or_eof)
Definition: window_iterators.cc:1682
 
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:1558
 
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:34
 
Object containing parameters used when creating and using temporary tables.
Definition: temp_table_param.h:95
 
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:1510
 
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:1523
 
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:1535
 
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:105
 
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:489
 
std::string join(Container cont, const std::string &delim)
join elements of an container into a string separated by a delimiter.
Definition: string.h:151
 
repeated Source source
Definition: replication_asynchronous_connection_failover.proto:42