MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
row0undo.h File Reference
#include "univ.i"
#include "mtr0mtr.h"
#include "trx0sys.h"
#include "btr0types.h"
#include "btr0pcur.h"
#include "dict0types.h"
#include "trx0types.h"
#include "que0types.h"
#include "row0types.h"
#include "row0undo.ic"
Include dependency graph for row0undo.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  undo_node_t

Enumerations

enum  undo_exec { UNDO_NODE_FETCH_NEXT = 1, UNDO_NODE_INSERT, UNDO_NODE_MODIFY }

Functions

UNIV_INTERN undo_node_trow_undo_node_create (trx_t *trx, que_thr_t *parent, mem_heap_t *heap)
UNIV_INTERN ibool row_undo_search_clust_to_pcur (undo_node_t *node)
UNIV_INTERN que_thr_trow_undo_step (que_thr_t *thr)

Detailed Description

Row undo

Created 1/8/1997 Heikki Tuuri

Definition in file row0undo.h.

Enumeration Type Documentation

enum undo_exec

Execution state of an undo node

Enumerator:
UNDO_NODE_FETCH_NEXT 

we should fetch the next undo log record

UNDO_NODE_INSERT 

undo a fresh insert of a row to a table

UNDO_NODE_MODIFY 

undo a modify operation (DELETE or UPDATE) on a row of a table

Definition at line 87 of file row0undo.h.

Function Documentation

UNIV_INTERN undo_node_t* row_undo_node_create ( trx_t trx,
que_thr_t parent,
mem_heap_t heap 
)

Creates a row undo node to a query graph.

Returns
own: undo node in: memory heap where created

Creates a row undo node to a query graph.

Returns
own: undo node
Parameters
trxin: transaction
parentin: parent node, i.e., a thr node
heapin: memory heap where created

Definition at line 128 of file row0undo.cc.

Here is the call graph for this function:

UNIV_INTERN ibool row_undo_search_clust_to_pcur ( undo_node_t node)

Looks for the clustered index record when node has the row reference. The pcur in node is used in the search. If found, stores the row to node, and stores the position of pcur, and detaches it. The pcur must be closed by the caller in any case.

Returns
TRUE if found; NOTE the node->pcur must be closed by the caller, regardless of the return value in: row undo node

Looks for the clustered index record when node has the row reference. The pcur in node is used in the search. If found, stores the row to node, and stores the position of pcur, and detaches it. The pcur must be closed by the caller in any case.

Returns
TRUE if found; NOTE the node->pcur must be closed by the caller, regardless of the return value
Parameters
nodein: row undo node

Definition at line 163 of file row0undo.cc.

Here is the call graph for this function:

UNIV_INTERN que_thr_t* row_undo_step ( que_thr_t thr)

Undoes a row operation in a table. This is a high-level function used in SQL execution graphs.

Returns
query thread to run next or NULL in: query thread

Here is the caller graph for this function: