|
MySQL 5.6.14 Source Code Document
|
#include "row0log.h"#include "row0row.h"#include "row0ins.h"#include "row0upd.h"#include "row0merge.h"#include "row0ext.h"#include "data0data.h"#include "que0que.h"#include "handler0alter.h"#include <map>
Go to the source code of this file.
Classes | |
| struct | row_log_buf_t |
| class | row_log_table_blob_t |
| struct | row_log_t |
| Buffer for logging modifications during online index creation. More... | |
Macros | |
| #define | ROW_LOG_HEADER_SIZE 2/*op, extra_size*/ |
| #define | row_log_table_close(log, b, size, avail) row_log_table_close_func(log, size, avail) |
| #define | log_pos /* empty */ |
Typedefs | |
| typedef std::map< ulint, row_log_table_blob_t > | page_no_map |
| Map of off-page column page numbers to 0 or log byte offsets. | |
Enumerations | |
| enum | row_tab_op { ROW_T_INSERT = 0x41, ROW_T_UPDATE, ROW_T_DELETE } |
| enum | row_op { ROW_OP_INSERT = 0x61, ROW_OP_DELETE } |
Functions | |
| UNIV_INTERN void | row_log_online_op (dict_index_t *index, const dtuple_t *tuple, trx_id_t trx_id) |
| UNIV_INTERN dberr_t | row_log_table_get_error (const dict_index_t *index) |
Variables | |
| static ulint | size |
Modification log for online index creation and online table rebuild
Created 2011-05-26 Marko Makela
Definition in file row0log.cc.
| #define ROW_LOG_HEADER_SIZE 2/*op, extra_size*/ |
Size of the modification log entry header, in bytes
Definition at line 73 of file row0log.cc.
| typedef std::map<ulint, row_log_table_blob_t> page_no_map |
Map of off-page column page numbers to 0 or log byte offsets.
If there is no mapping for a page number, it is safe to access. If a page number maps to 0, it is an off-page column that has been freed. If a page number maps to a nonzero number, the number is a byte offset into the index->online_log, indicating that the page is safe to access when applying log records starting from that offset.
Definition at line 154 of file row0log.cc.
| enum row_op |
Index record modification operations during online index creation
Definition at line 55 of file row0log.cc.
| enum row_tab_op |
Table row modification operations during online table rebuild.
Delete-marked records are not copied to the rebuilt table.
| ROW_T_INSERT |
Insert a record |
| ROW_T_UPDATE |
Update a record in place |
| ROW_T_DELETE |
Delete (purge) a record |
Definition at line 45 of file row0log.cc.
| UNIV_INTERN void row_log_online_op | ( | dict_index_t * | index, |
| const dtuple_t * | tuple, | ||
| trx_id_t | trx_id | ||
| ) |
Logs an operation to a secondary index that is (or was) being created.
| index | in/out: index, S or X latched |
| tuple | in: index tuple |
| trx_id | in: transaction ID for insert, or 0 for delete |
Definition at line 203 of file row0log.cc.

| UNIV_INTERN dberr_t row_log_table_get_error | ( | const dict_index_t * | index | ) |
Gets the error status of the online index rebuild log.
| index | in: clustered index of a table that is being rebuilt online |
Definition at line 329 of file row0log.cc.

| ulint size |
< in/out: online rebuild log in: size of log record
Definition at line 347 of file row0log.cc.