 |
MySQL
8.0.23
Source Code Documentation
|
Go to the documentation of this file. 1 #ifndef SQL_BASIC_ROW_ITERATORS_H_
2 #define SQL_BASIC_ROW_ITERATORS_H_
32 #include <sys/types.h>
80 template <
bool Reverse>
96 double expected_rows,
ha_rows *examined_rows);
132 double expected_rows,
ha_rows *examined_rows);
134 bool Init()
override;
168 template <
bool Packed_addon_fields>
178 bool Init()
override;
213 bool ignore_not_found_rows,
bool has_null_flags,
216 bool Init()
override;
239 template <
bool Packed_addon_fields>
248 bool Init()
override {
return false; }
279 IO_CACHE *tempfile,
bool ignore_not_found_rows,
280 bool has_null_flags,
ha_rows *examined_rows);
283 bool Init()
override;
381 bool Init()
override {
return false; }
383 int Read()
override {
return -1; }
460 bool Init()
override;
519 bool Init()
override;
541 #endif // SQL_BASIC_ROW_ITERATORS_H_
~SortFileIndirectIterator() override
Definition: sorting_iterator.cc:78
uint m_sum_ref_length
Definition: basic_row_iterators.h:296
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: basic_row_iterators.h:325
int Read() override
Read a single row.
Definition: sorting_iterator.cc:148
ha_rows *const m_examined_rows
Definition: basic_row_iterators.h:225
Definition: sql_class.h:807
uchar *const m_record
Definition: basic_row_iterators.h:103
~IndexScanIterator() override
Definition: records.cc:73
uchar *const m_record
Definition: basic_row_iterators.h:484
const double m_expected_rows
Definition: basic_row_iterators.h:106
Filesort_info *const m_sort
Definition: basic_row_iterators.h:185
Mem_root_array< TABLE * > m_tables
Definition: basic_row_iterators.h:291
bool Init() override
Initialize or reinitialize the iterator.
Definition: basic_row_iterators.h:381
A (partial) implementation of std::deque allocating its blocks on a MEM_ROOT.
Definition: mem_root_deque.h:109
bool Init() override
Initialize or reinitialize the iterator.
Definition: basic_row_iterators.h:308
bool m_seen_eof
Definition: basic_row_iterators.h:146
Fetch the record IDs from a memory buffer, but the records themselves from the table on disk.
Definition: basic_row_iterators.h:202
TABLE * table() const
Definition: row_iterator.h:209
bool m_has_row
Definition: basic_row_iterators.h:360
bool RepositionCursorAfterSpillToDisk()
Signal to the iterator that the underlying table was closed and replaced with an InnoDB table with th...
Definition: records.cc:511
uchar * m_ref_pos
Definition: basic_row_iterators.h:292
bool m_has_row
Definition: basic_row_iterators.h:332
bool Init() override
Initialize or reinitialize the iterator.
Definition: records.cc:272
Mem_root_array< TABLE * > m_tables
Definition: basic_row_iterators.h:189
void SetNullRowFlag(bool) override
Mark the current row buffer as containing a NULL row or not, so that if you read from it and the flag...
Definition: basic_row_iterators.h:355
void UnlockRow() override
Definition: basic_row_iterators.h:250
unique_ptr_destroy_only< RowIterator > m_child_iterator
Definition: basic_row_iterators.h:393
TableScanIterator(THD *thd, TABLE *table, double expected_rows, ha_rows *examined_rows)
Definition: records.cc:323
int Read() override
Read a single row.
Definition: sorting_iterator.cc:376
void UnlockRow() override
Definition: basic_row_iterators.h:180
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: sorting_iterator.cc:247
bool m_ignore_not_found_rows
Definition: basic_row_iterators.h:293
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: basic_row_iterators.h:385
~SortBufferIndirectIterator() override
Definition: sorting_iterator.cc:333
ha_rows *const m_examined_rows
Definition: basic_row_iterators.h:333
uchar *const m_rec_buf
Definition: basic_row_iterators.h:254
Fetch the record IDs from a temporary file, then the records themselves from the table on disk.
Definition: basic_row_iterators.h:271
bool Init() override
Initialize or reinitialize the iterator.
Definition: sorting_iterator.cc:87
bool Init() override
Initialize or reinitialize the iterator.
Definition: basic_row_iterators.h:348
A simple iterator that takes no input and produces zero output rows.
Definition: basic_row_iterators.h:375
std::string join(Container cont, const std::string &delim)
join elements of an container into a string seperated by a delimiter.
Definition: string.h:144
const mem_root_deque< mem_root_deque< Item * > * > & m_row_value_list
Contains the row values that are part of a VALUES clause.
Definition: basic_row_iterators.h:532
std::unique_ptr< T, Destroy_only< T > > unique_ptr_destroy_only
std::unique_ptr, but only destroying.
Definition: my_alloc.h:465
void UnlockRow() override
Definition: basic_row_iterators.h:421
IndexScanIterator(THD *thd, TABLE *table, int idx, bool use_order, double expected_rows, ha_rows *examined_rows)
Definition: records.cc:61
JOIN *const m_join
Definition: basic_row_iterators.h:361
ha_rows *const m_examined_rows
Definition: basic_row_iterators.h:527
ZeroRowsAggregatedIterator(THD *thd, JOIN *join, ha_rows *examined_rows)
Definition: basic_row_iterators.h:409
FollowTailIterator is a special version of TableScanIterator that is used as part of WITH RECURSIVE q...
Definition: basic_row_iterators.h:453
FollowTailIterator(THD *thd, TABLE *table, double expected_rows, ha_rows *examined_rows)
Definition: records.cc:375
int Read() override
Read a result set record from a temporary file after sorting.
Definition: sorting_iterator.cc:220
ha_rows *const m_examined_rows
Definition: basic_row_iterators.h:188
Fetch the records from a memory buffer.
Definition: basic_row_iterators.h:169
mem_root_deque< mem_root_deque< Item * > * >::const_iterator m_row_it
Definition: basic_row_iterators.h:533
ha_rows m_read_rows
Definition: basic_row_iterators.h:487
Mem_root_array< TABLE * > m_tables
Definition: basic_row_iterators.h:223
UnqualifiedCountIterator(THD *thd, JOIN *join)
Definition: basic_row_iterators.h:345
void UnlockRow() override
Definition: basic_row_iterators.h:286
bool Init() override
Initialize or reinitialize the iterator.
Definition: sorting_iterator.cc:274
int Read() override
(end of group Query_Executor)
Definition: sql_executor.cc:6524
Perform a full index scan along an index.
Definition: basic_row_iterators.h:81
bool m_first
Definition: basic_row_iterators.h:108
int Read() override
Read a single row.
Definition: sql_executor.cc:6598
An iterator for unqualified COUNT(*) (ie., no WHERE, no join conditions, etc.), taking a special fast...
Definition: basic_row_iterators.h:343
ha_rows *const m_examined_rows
Definition: basic_row_iterators.h:426
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: sorting_iterator.cc:414
The handler class is the interface for dynamically loadable storage engines.
Definition: handler.h:4048
Definition: sql_optimizer.h:125
int Read() override
Read a single row.
Definition: sql_executor.cc:6553
SortBufferIndirectIterator(THD *thd, Mem_root_array< TABLE * > tables, Sort_result *sort_result, bool ignore_not_found_rows, bool has_null_flags, ha_rows *examined_rows)
Definition: sorting_iterator.cc:323
const uint m_buf_length
Definition: basic_row_iterators.h:255
Sort_result *const m_sort_result
Definition: basic_row_iterators.h:186
uint m_sum_ref_length
Definition: basic_row_iterators.h:224
bool Init() override
Initialize or reinitialize the iterator.
Definition: records.cc:389
void set_stored_rows_pointer(ha_rows *stored_rows)
Signal where we can expect to find the number of generated rows for this materialization (this points...
Definition: basic_row_iterators.h:470
const bool m_use_order
Definition: basic_row_iterators.h:105
~SortBufferIterator() override
Definition: sorting_iterator.cc:268
bool Init() override
Initialize or reinitialize the iterator.
Definition: basic_row_iterators.h:248
SortFileIterator(THD *thd, Mem_root_array< TABLE * > tables, IO_CACHE *tempfile, Filesort_info *sort, ha_rows *examined_rows)
Definition: sorting_iterator.cc:187
ha_rows *const m_examined_rows
Definition: basic_row_iterators.h:259
const double m_expected_rows
Definition: basic_row_iterators.h:140
A context for reading through a single table using a chosen access method: index read,...
Definition: row_iterator.h:61
ha_rows *const m_examined_rows
Definition: basic_row_iterators.h:290
~FollowTailIterator() override
Definition: records.cc:383
JOIN *const m_join
Definition: basic_row_iterators.h:425
unsigned int uint
Definition: uca-dump.cc:29
ZeroRowsIterator(THD *thd, unique_ptr_destroy_only< RowIterator > child_iterator)
Definition: basic_row_iterators.h:377
Filesort_info *const m_sort
Definition: basic_row_iterators.h:258
uchar * m_cache_pos
Definition: basic_row_iterators.h:226
IndexRangeScanIterator(THD *thd, TABLE *table, QUICK_SELECT_I *quick, double expected_rows, ha_rows *examined_rows)
Definition: records.cc:263
ha_rows * m_stored_rows
Definition: basic_row_iterators.h:492
~SortFileIterator() override
Definition: sorting_iterator.cc:199
unsigned char uchar
Definition: my_inttypes.h:51
IO_CACHE * m_io_cache
Definition: basic_row_iterators.h:289
unsigned m_recursive_iteration_count
Definition: basic_row_iterators.h:489
Definition: basic_row_iterators.h:302
bool Init() override
Initialize or reinitialize the iterator.
Definition: sorting_iterator.cc:343
Definition: row_iterator.h:197
IO_CACHE *const m_io_cache
Definition: basic_row_iterators.h:257
ha_rows m_end_of_current_iteration
Definition: basic_row_iterators.h:488
TableValueConstructorIterator(THD *thd, ha_rows *examined_rows, const mem_root_deque< mem_root_deque< Item * > * > &row_value_list, mem_root_deque< Item * > *join_fields)
Definition: sql_executor.cc:6582
QUICK_SELECT_I *const m_quick
Definition: basic_row_iterators.h:139
bool Init() override
Initialize or reinitialize the iterator.
Definition: basic_row_iterators.h:412
ha_rows *const m_examined_rows
Definition: basic_row_iterators.h:141
SortFileIndirectIterator(THD *thd, Mem_root_array< TABLE * > tables, IO_CACHE *tempfile, bool ignore_not_found_rows, bool has_null_flags, ha_rows *examined_rows)
Definition: sorting_iterator.cc:68
TableValueConstructor is the iterator for the table value constructor case of a query_primary (i....
Definition: basic_row_iterators.h:512
Definition: opt_range.h:229
bool Init() override
Initialize or reinitialize the iterator.
Definition: sql_executor.cc:6593
SortBufferIterator(THD *thd, Mem_root_array< TABLE * > tables, Filesort_info *sort, Sort_result *sort_result, ha_rows *examined_rows)
Definition: sorting_iterator.cc:258
Definition: sql_sort.h:143
#define DBUG_ASSERT(A)
Definition: my_dbug.h:199
THD * thd() const
Definition: row_iterator.h:191
ha_rows *const m_examined_rows
Definition: basic_row_iterators.h:76
Scan a table from beginning to end.
Definition: basic_row_iterators.h:60
int Read() override
Read a single row.
Definition: records.cc:436
Sort_result *const m_sort_result
Definition: basic_row_iterators.h:222
bool m_has_null_flags
Definition: basic_row_iterators.h:294
int Read() override
Read a single row.
Definition: records.cc:301
Definition: varlen_sort.h:182
void SetNullRowFlag(bool) override
Mark the current row buffer as containing a NULL row or not, so that if you read from it and the flag...
Definition: basic_row_iterators.h:419
bool Init() override
Initialize or reinitialize the iterator.
Definition: records.cc:80
void UnlockRow() override
Definition: basic_row_iterators.h:357
ha_rows *const m_examined_rows
Definition: basic_row_iterators.h:107
void UnlockRow() override
Definition: basic_row_iterators.h:390
Scan a given range of the table (a “quick”), using an index.
Definition: basic_row_iterators.h:121
uchar *const m_record
Definition: basic_row_iterators.h:74
Fetch the records from a tempoary file.
Definition: basic_row_iterators.h:240
const double m_expected_rows
Definition: basic_row_iterators.h:485
A class wrapping misc buffers used for sorting.
Definition: sql_sort.h:176
uchar * m_cache_end
Definition: basic_row_iterators.h:226
const double m_expected_rows
Definition: basic_row_iterators.h:75
int Read() override
Read a single row.
Definition: basic_row_iterators.h:383
my_off_t ha_rows
Definition: my_base.h:1136
mem_root_deque< Item * > *const m_output_refs
References to the row we currently want to output.
Definition: basic_row_iterators.h:538
const int m_idx
Definition: basic_row_iterators.h:104
static bool quick
Definition: mysql.cc:154
bool m_has_row
Definition: basic_row_iterators.h:424
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: sorting_iterator.cc:123
This class represents a query block, aka a query specification, which is a query consisting of a SELE...
Definition: sql_lex.h:1098
FakeSingleRowIterator(THD *thd, ha_rows *examined_rows)
Definition: basic_row_iterators.h:305
bool m_has_null_flags
Definition: basic_row_iterators.h:228
void UnlockRow() override
Definition: basic_row_iterators.h:219
void UnlockRow() override
Definition: basic_row_iterators.h:329
#define final(a, b, c)
Definition: hash.c:109
int Read() override
Read a single row.
Definition: basic_row_iterators.h:313
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: sorting_iterator.cc:313
ha_rows *const m_examined_rows
Definition: basic_row_iterators.h:486
int Read() override
Read a result set record from a buffer after sorting.
Definition: sorting_iterator.cc:298
unsigned m_unpack_counter
Definition: basic_row_iterators.h:187
void UnlockRow() override
Definition: basic_row_iterators.h:524
~TableScanIterator() override
Definition: records.cc:331
Like ZeroRowsIterator, but produces a single output row, since there are aggregation functions presen...
Definition: basic_row_iterators.h:406
void SetNullRowFlag(bool) override
Mark the current row buffer as containing a NULL row or not, so that if you read from it and the flag...
Definition: basic_row_iterators.h:522
Mem_root_array< TABLE * > m_tables
Definition: basic_row_iterators.h:256
int Read() override
Read a single row.
int Read() override
Read a single row.
Definition: records.cc:359
bool m_ignore_not_found_rows
Definition: basic_row_iterators.h:227
bool Init() override
Initialize or reinitialize the iterator.
Definition: records.cc:337