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:40
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:73
table_map m_tables_with_before_triggers
The target tables that have before delete triggers.
Definition: delete_rows_iterator.h:75
void UnlockRow() override
Definition: delete_rows_iterator.h:52
int Read() override
Read a single row.
Definition: sql_delete.cc:1189
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
table_map m_hash_join_tables
All the tables that are part of a hash join.
Definition: delete_rows_iterator.h:71
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:83
ha_rows m_deleted_rows
The number of rows that have been deleted.
Definition: delete_rows_iterator.h:85
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:1047
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:87
bool DoDelayedDeletes()
Perform all the delayed deletes.
Definition: sql_delete.cc:1116
unique_ptr_destroy_only< RowIterator > m_source
The iterator producing the rows to delete.
Definition: delete_rows_iterator.h:56
DeleteRowsIterator(THD *thd, unique_ptr_destroy_only< RowIterator > source, JOIN *join, table_map tables_to_delete_from, table_map immediate_tables)
Definition: sql_delete.cc:919
table_map m_tables_with_after_triggers
The target tables that have after delete triggers.
Definition: delete_rows_iterator.h:77
bool DoDelayedDeletesFromTable(TABLE *table)
Perform all the delayed deletes for the given table.
Definition: sql_delete.cc:1130
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:80
bool Init() override
Initialize or reinitialize the iterator.
Definition: sql_delete.cc:1001
Definition: sql_optimizer.h:132
A typesafe replacement for DYNAMIC_ARRAY.
Definition: mem_root_array.h:425
A context for reading through a single table using a chosen access method: index read,...
Definition: row_iterator.h:81
THD * thd() const
Definition: row_iterator.h:227
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:33
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:956
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:488
This file includes constants used by all storage engines.
my_off_t ha_rows
Definition: my_base.h:1139
uint64_t table_map
Definition: my_table_map.h:29
static PFS_engine_table_share_proxy table
Definition: pfs.cc:60
std::string join(Container cont, const std::string &delim)
join elements of an container into a string separated by a delimiter.
Definition: string.h:150
repeated Source source
Definition: replication_asynchronous_connection_failover.proto:41