![]() |
MySQL 9.4.0
Source Code Documentation
|
Fresh insert undo. More...
#include "row0uins.h"#include "btr0btr.h"#include "dict0boot.h"#include "dict0crea.h"#include "dict0dd.h"#include "dict0dict.h"#include "ibuf0ibuf.h"#include "log0chkp.h"#include "mach0data.h"#include "que0que.h"#include "row0log.h"#include "row0row.h"#include "row0undo.h"#include "row0upd.h"#include "row0vers.h"#include "trx0rec.h"#include "trx0roll.h"#include "trx0trx.h"#include "trx0undo.h"Functions | |
| static dberr_t | row_undo_ins_remove_clust_rec (undo_node_t *node) |
| Removes a clustered index record. More... | |
| static dberr_t | row_undo_ins_remove_sec_low (ulint mode, dict_index_t *index, dtuple_t *entry, que_thr_t *thr, undo_node_t *node) |
| Removes a secondary index entry if found. More... | |
| static dberr_t | row_undo_ins_remove_sec (dict_index_t *index, dtuple_t *entry, que_thr_t *thr, undo_node_t *node) |
| Removes a secondary index entry from the index if found. More... | |
| static void | row_undo_ins_parse_undo_rec (undo_node_t *node, THD *thd, MDL_ticket **mdl) |
| Parses the row reference and other info in a fresh insert undo record. More... | |
| static dberr_t | row_undo_ins_remove_multi_sec (dict_index_t *index, undo_node_t *node, que_thr_t *thr, mem_heap_t *heap) |
| Removes a secondary index entry from the index, which is built on multi-value field, if found. More... | |
| static dberr_t | row_undo_ins_remove_sec_rec (undo_node_t *node, que_thr_t *thr) |
| Removes secondary index records. More... | |
| dberr_t | row_undo_ins (undo_node_t *node, que_thr_t *thr) |
| Undoes a fresh insert of a row to a table. More... | |
Fresh insert undo.
Created 2/25/1997 Heikki Tuuri
| dberr_t row_undo_ins | ( | undo_node_t * | node, |
| que_thr_t * | thr | ||
| ) |
Undoes a fresh insert of a row to a table.
A fresh insert means that the same clustered index unique key did not have any record, even delete marked, at the time of the insert. InnoDB is eager in a rollback: if it figures out that an index record will be removed in the purge anyway, it will remove it in the rollback.
| node | in: row undo node |
| thr | in: query thread |
|
static |
Parses the row reference and other info in a fresh insert undo record.
| [in,out] | node | row undo node |
| [in] | thd | THD associated with the node |
| [in,out] | mdl | MDL ticket or nullptr if unnecessary |
|
static |
Removes a clustered index record.
The pcur in node was positioned on the record, now it is detached.
| node | in: undo node |
|
static |
Removes a secondary index entry from the index, which is built on multi-value field, if found.
For each value, it tries first optimistic, then pessimistic descent down the tree.
| [in,out] | index | multi-value index |
| [in] | node | undo node |
| [in] | thr | query thread |
| [in,out] | heap | memory heap |
|
static |
Removes a secondary index entry from the index if found.
Tries first optimistic, then pessimistic descent down the tree.
| [in] | index | index |
| [in] | entry | index entry to insert |
| [in] | thr | query thread |
| [in] | node | undo node |
|
static |
Removes a secondary index entry if found.
| [in] | mode | BTR_MODIFY_LEAF or BTR_MODIFY_TREE, depending on whether we wish optimistic or pessimistic descent down the index tree |
| [in] | index | index |
| [in] | entry | index entry to remove |
| [in] | thr | query thread |
| [in] | node | undo node |
|
static |
Removes secondary index records.
| node | in/out: row undo node |
| thr | in: query thread |