MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
row_log_t Struct Reference

Buffer for logging modifications during online index creation. More...

Collaboration diagram for row_log_t:

Public Attributes

int fd
ib_mutex_t mutex
page_no_mapblobs
dict_table_ttable
bool same_pk
const dtuple_tadd_cols
const ulint * col_map
dberr_t error
trx_id_t max_trx
row_log_buf_t tail
row_log_buf_t head
ulint size

Detailed Description

Buffer for logging modifications during online index creation.

All modifications to an index that is being created will be logged by row_log_online_op() to this buffer.

All modifications to a table that is being rebuilt will be logged by row_log_table_delete(), row_log_table_update(), row_log_table_insert() to this buffer.

When head.blocks == tail.blocks, the reader will access tail.block directly. When also head.bytes == tail.bytes, both counts will be reset to 0 and the file will be truncated.

Definition at line 168 of file row0log.cc.

Member Data Documentation

const dtuple_t* row_log_t::add_cols

default values of added columns, or NULL

Definition at line 182 of file row0log.cc.

page_no_map* row_log_t::blobs

map of page numbers of off-page columns that have been freed during table-rebuilding ALTER TABLE (row_log_table_*); protected by index->lock X-latch only

Definition at line 172 of file row0log.cc.

const ulint* row_log_t::col_map

mapping of old column numbers to new ones, or NULL if !table

Definition at line 183 of file row0log.cc.

dberr_t row_log_t::error

error that occurred during online table rebuild

Definition at line 185 of file row0log.cc.

int row_log_t::fd

file descriptor

Definition at line 169 of file row0log.cc.

row_log_buf_t row_log_t::head

reader context; protected by MDL only; modifiable by row_log_apply_ops()

Definition at line 194 of file row0log.cc.

trx_id_t row_log_t::max_trx

biggest observed trx_id in row_log_online_op(); protected by mutex and index->lock S-latch, or by index->lock X-latch only

Definition at line 187 of file row0log.cc.

ib_mutex_t row_log_t::mutex

mutex protecting error, max_trx and tail

Definition at line 170 of file row0log.cc.

bool row_log_t::same_pk

whether the definition of the PRIMARY KEY has remained the same

Definition at line 179 of file row0log.cc.

ulint row_log_t::size

allocated size

Definition at line 196 of file row0log.cc.

dict_table_t* row_log_t::table

table that is being rebuilt, or NULL when this is a secondary index that is being created online

Definition at line 176 of file row0log.cc.

row_log_buf_t row_log_t::tail

writer context; protected by mutex and index->lock S-latch, or by index->lock X-latch only

Definition at line 191 of file row0log.cc.


The documentation for this struct was generated from the following file: