1#ifndef SQL_ITERATORS_DELETE_ROWS_ITERATOR_H_
2#define SQL_ITERATORS_DELETE_ROWS_ITERATOR_H_
49 m_source->EndPSIBatchModeIfStarted();
An iterator that deletes all rows returned by its child iterator.
Definition: delete_rows_iterator.h:41
void StartPSIBatchMode() override
Start performance schema batch mode, if supported (otherwise ignored).
Definition: delete_rows_iterator.h:47
table_map m_transactional_tables
The target tables that live in transactional storage engines.
Definition: delete_rows_iterator.h:68
table_map m_tables_with_before_triggers
The target tables that have before delete triggers.
Definition: delete_rows_iterator.h:70
void UnlockRow() override
Definition: delete_rows_iterator.h:52
JOIN * m_join
The join producing the rows to delete.
Definition: delete_rows_iterator.h:58
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: delete_rows_iterator.h:51
bool DoInit() override
Definition: sql_delete.cc:1057
int DoRead() override
Definition: sql_delete.cc:1242
Mem_root_array< TABLE * > m_delayed_tables
The tables to delete from after the scan of the join result is complete.
Definition: delete_rows_iterator.h:78
ha_rows m_deleted_rows
The number of rows that have been deleted.
Definition: delete_rows_iterator.h:80
void EndPSIBatchModeIfStarted() override
Ends performance schema batch mode, if started.
Definition: delete_rows_iterator.h:48
table_map m_tables_to_delete_from
The tables to delete from.
Definition: delete_rows_iterator.h:60
bool DoImmediateDeletesAndBufferRowIds()
Perform all the immediate deletes for the current row returned by the join, and buffer row IDs for th...
Definition: sql_delete.cc:1103
table_map m_immediate_tables
The tables to delete from immediately while scanning the join result.
Definition: delete_rows_iterator.h:62
bool m_has_delayed_deletes
True if any row ID has been stored in one of the m_tempfiles.
Definition: delete_rows_iterator.h:82
bool DoDelayedDeletes()
Perform all the delayed deletes.
Definition: sql_delete.cc:1169
unique_ptr_destroy_only< RowIterator > m_source
The iterator producing the rows to delete.
Definition: delete_rows_iterator.h:56
table_map m_tables_with_after_triggers
The target tables that have after delete triggers.
Definition: delete_rows_iterator.h:72
table_map m_tables_to_get_rowid_for
The tables for which handler::position() must be called to get the row ID.
Definition: delete_rows_iterator.h:66
DeleteRowsIterator(THD *thd, unique_ptr_destroy_only< RowIterator > source, JOIN *join, table_map tables_to_delete_from, table_map immediate_tables, table_map tables_to_get_rowid_for)
Definition: sql_delete.cc:977
bool DoDelayedDeletesFromTable(TABLE *table)
Perform all the delayed deletes for the given table.
Definition: sql_delete.cc:1183
Mem_root_array< unique_ptr_destroy_only< Unique > > m_tempfiles
Temporary files holding row IDs to delete after the scan of the join result is complete.
Definition: delete_rows_iterator.h:75
Definition: sql_optimizer.h:133
A typesafe replacement for DYNAMIC_ARRAY.
Definition: mem_root_array.h:432
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
void SetUpTablesForDelete(THD *thd, JOIN *join)
Sets various flags in the TABLE and handler objects associated with the target tables of a DELETE sta...
Definition: sql_delete.cc:1012
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
This file includes constants used by all storage engines.
my_off_t ha_rows
Definition: my_base.h:1229
uint64_t table_map
Definition: my_table_map.h:30
static PFS_engine_table_share_proxy table
Definition: pfs.cc:61
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