85 const page_id_t &lpage_id = std::get<1>(lhs);
86 const page_id_t &rpage_id = std::get<1>(rhs);
87 return (lpage_id < rpage_id);
106 using Recs = std::list<rec_t, mem_heap_allocator<rec_t>>;
The index tree persistent cursor.
The index tree general types.
A granted metadata lock.
Definition: mdl.h:984
Page identifier.
Definition: buf0types.h:207
Allocator that allows std::* containers to manage their memory through ut::malloc* and ut::free libra...
Definition: ut0new.h:2182
SQL data field and tuple.
Data dictionary global types.
ib_id_t table_id_t
Table or partition identifier (unique within an InnoDB instance).
Definition: dict0types.h:232
static void mem_heap_free(mem_heap_t *heap)
Frees the space occupied by a memory heap.
std::set< Key, Compare, ut::allocator< Key > > set
Specialization of set which uses ut_allocator.
Definition: ut0new.h:2883
Query graph global types.
purge_node_t * row_purge_node_create(que_thr_t *parent, mem_heap_t *heap)
Create a purge node to a query graph.
Definition: row0purge.cc:81
bool row_purge_poss_sec(purge_node_t *node, dict_index_t *index, const dtuple_t *entry)
Determines if it is possible to remove a secondary index entry.
Definition: row0purge.cc:275
que_thr_t * row_purge_step(que_thr_t *thr)
in: query thread
Definition: row0purge.cc:1212
std::tuple< index_id_t, page_id_t, table_id_t > Page_free_tuple
Definition: row0purge.h:80
Row operation global types.
Definition: row0purge.h:82
bool operator()(const Page_free_tuple &lhs, const Page_free_tuple &rhs) const
Definition: row0purge.h:83
Definition: completion_hash.h:35
Definition: btr0pcur.h:99
Data structure for an index.
Definition: dict0mem.h:1046
Data structure for a database table.
Definition: dict0mem.h:1909
Structure for an SQL data tuple of fields (logical record)
Definition: data0data.h:694
The info structure stored at the beginning of a heap block.
Definition: mem0mem.h:302
Info required to purge a record.
Definition: row0purge.h:95
roll_ptr_t roll_ptr
File pointer to UNDO record.
Definition: row0purge.h:100
trx_id_t modifier_trx_id
Trx that created this undo record.
Definition: row0purge.h:103
trx_undo_rec_t * undo_rec
Record to purge.
Definition: row0purge.h:97
Definition: row0purge.h:93
que_common_t common
node type: QUE_NODE_PURGE
Definition: row0purge.h:109
bool found_clust
true if the clustered index record determined by ref was found in the clustered index,...
Definition: row0purge.h:159
dtuple_t * row
NULL, or a copy (also fields copied to heap) of the indexed fields of the row to handle.
Definition: row0purge.h:148
void free_lob_pages()
Free the LOB first pages at end of purge batch.
Definition: row0purge.cc:1347
dict_index_t * index
NULL, or the next index whose record should be handled.
Definition: row0purge.h:151
bool done
Debug flag.
Definition: row0purge.h:165
Recs * recs
Undo recs to purge.
Definition: row0purge.h:174
btr_pcur_t pcur
persistent cursor used in searching the clustered index record
Definition: row0purge.h:162
dict_table_t * parent
parent table for an FTS AUX TABLE
Definition: row0purge.h:129
void deinit()
Definition: row0purge.h:177
ulint cmpl_info
compiler analysis info of an update
Definition: row0purge.h:138
dict_table_t * table
table where purge is done
Definition: row0purge.h:123
void init()
Definition: row0purge.h:176
LOB_free_set m_lob_pages
Set of LOB first pages that are to be freed.
Definition: row0purge.h:220
bool is_table_id_exists(table_id_t table_id) const
Check if undo records of given table_id is there in this purge node.
Definition: row0purge.cc:1301
MDL_ticket * mdl
MDL ticket for the table name.
Definition: row0purge.h:126
std::list< rec_t, mem_heap_allocator< rec_t > > Recs
Definition: row0purge.h:106
trx_id_t trx_id
trx id for this purging record
Definition: row0purge.h:168
dtuple_t * ref
NULL, or row reference to the next row to handle.
Definition: row0purge.h:144
ulint rec_type
undo log record type: TRX_UNDO_INSERT_REC, ...
Definition: row0purge.h:120
bool validate_pcur()
Validate the persistent cursor.
Definition: row0purge.cc:1261
std::set< Page_free_tuple, Compare_page_free_tuple, ut::allocator< Page_free_tuple > > LOB_free_set
Definition: row0purge.h:217
undo_no_t undo_no
undo number of the record
Definition: row0purge.h:117
MDL_ticket * parent_mdl
MDL ticket for the parent table of an FTS AUX TABLE.
Definition: row0purge.h:132
mem_heap_t * heap
The heap is owned by purge_sys and is reset after a purge batch has completed.
Definition: row0purge.h:155
upd_t * update
update vector for a clustered index record
Definition: row0purge.h:141
roll_ptr_t roll_ptr
roll pointer to undo log record
Definition: row0purge.h:114
void add_lob_page(dict_index_t *index, const page_id_t &page_id)
Add an LOB page to the list of pages that will be freed at the end of a purge batch.
Definition: row0purge.cc:1340
bool check_duplicate_undo_no() const
Check if there are more than one undo record with same (trx_id, undo_no) combination.
Definition: row0purge.cc:1319
trx_rseg_t * rseg
Definition: row0purge.h:204
trx_id_t modifier_trx_id
trx id for this purging record
Definition: row0purge.h:171
TABLE * mysql_table
MySQL table instance.
Definition: row0purge.h:135
Definition: que0types.h:51
Definition: que0que.h:242
The rollback segment memory object.
Definition: trx0types.h:214
Definition: row0upd.h:565
Transaction system global type definitions.
byte trx_undo_rec_t
Undo log record.
Definition: trx0types.h:167
ib_id_t undo_no_t
Undo number.
Definition: trx0types.h:142
ib_id_t trx_id_t
Transaction identifier (DB_TRX_ID, DATA_TRX_ID)
Definition: trx0types.h:138
ib_id_t roll_ptr_t
Rollback pointer (DB_ROLL_PTR, DATA_ROLL_PTR)
Definition: trx0types.h:140
Version control for database, common definitions, and include files.
unsigned long int ulint
Definition: univ.i:406
A vector of pointers to data items.