Drizzled Public API Documentation

row0uins.h File Reference
#include "univ.i"
#include "data0data.h"
#include "dict0types.h"
#include "trx0types.h"
#include "que0types.h"
#include "row0types.h"
#include "mtr0mtr.h"

Go to the source code of this file.

Functions

UNIV_INTERN ulint row_undo_ins (undo_node_t *node)

Detailed Description

Fresh insert undo

Created 2/25/1997 Heikki Tuuri

Definition in file row0uins.h.


Function Documentation

UNIV_INTERN ulint row_undo_ins ( undo_node_t node)

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.

Returns:
DB_SUCCESS in: row undo node

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.

Returns:
DB_SUCCESS or DB_OUT_OF_FILE_SPACE
Parameters:
nodein: row undo node

Definition at line 320 of file row0uins.cc.

References undo_node_struct::ext, undo_node_struct::heap, undo_node_struct::index, log_free_check(), undo_node_struct::row, row_build_index_entry(), row_undo_ins(), row_undo_search_clust_to_pcur(), undo_node_struct::state, undo_node_struct::table, undo_node_struct::trx, trx_is_recv(), trx_undo_rec_release(), undo_node_struct::undo_no, UNDO_NODE_INSERT, ut_a, and ut_ad.

Referenced by row_undo_ins().