175 const ulint *offsets,
271 const dtuple_t *row,
bool in_purge,
bool online,
289 bool first_v_col,
bool *is_undo_log,
292#ifndef UNIV_HOTBACKUP
327 const byte *
read(
const byte *ptr) {
339 return ((
m_flag >> 4) & 0x03);
369 bool *updated_extern,
int page
Definition: ctype-mb.cc:1236
SQL data field and tuple.
dberr_t
Definition: db0err.h:39
Data dictionary global types.
ib_id_t table_id_t
Table or partition identifier (unique within an InnoDB instance).
Definition: dict0types.h:232
static int flags[50]
Definition: hp_test1.cc:40
Undo logging small changes to BLOBs.
static uint8_t mach_read_from_1(const byte *b)
The following function is used to fetch data from one byte.
static uint update
Definition: myisamlog.cc:91
PT & ref(PT *tp)
Definition: tablespace_impl.cc:359
byte page_t
Type of the index page.
Definition: page0types.h:152
Query graph global types.
Record manager global types.
byte rec_t
Definition: rem0types.h:41
required string type
Definition: replication_group_member_actions.proto:34
Modification log for online index creation and online table rebuild.
Row operation global types.
Structure for an SQL data field.
Definition: data0data.h:617
Data structure for an index.
Definition: dict0mem.h:1046
Data structure for a database table.
Definition: dict0mem.h:1909
Structure for an SQL data tuple of fields (logical record)
Definition: data0data.h:694
The list of modifications to be applied on LOBs to get older versions.
Definition: lob0undo.h:146
The info structure stored at the beginning of a heap block.
Definition: mem0mem.h:302
Mini-transaction handle and buffer.
Definition: mtr0mtr.h:177
Definition: que0que.h:242
The type and compilation info flag in the undo record for update.
Definition: trx0rec.h:324
ulint type_info()
Definition: trx0rec.h:332
uint8_t m_flag
Definition: trx0rec.h:358
ulint cmpl_info()
Definition: trx0rec.h:337
bool is_lob_updated()
Is an LOB updated by this update operation.
Definition: trx0rec.h:344
bool is_lob_undo() const
Does the undo log record contains information about LOB partial update vector.
Definition: trx0rec.h:352
type_cmpl_t()
Definition: trx0rec.h:325
const byte * read(const byte *ptr)
Definition: trx0rec.h:327
Definition: row0upd.h:565
static bool trx_undo_rec_get_extern_storage(const trx_undo_rec_t *undo_rec)
Returns true if an undo log record contains an extern storage field.
bool trx_undo_prev_version_build(const rec_t *index_rec, mtr_t *index_mtr, const rec_t *rec, const dict_index_t *index, ulint *offsets, mem_heap_t *heap, rec_t **old_vers, mem_heap_t *v_heap, const dtuple_t **vrow, ulint v_status, lob::undo_vers_t *lob_undo)
Build a previous version of a clustered index record.
Definition: trx0rec.cc:2445
static undo_no_t trx_undo_rec_get_undo_no(const trx_undo_rec_t *undo_rec)
Reads the undo log record number.
constexpr uint32_t TRX_UNDO_UPD_EXTERN
Definition: trx0rec.h:315
byte * trx_undo_rec_get_row_ref(byte *ptr, dict_index_t *index, dtuple_t **ref, mem_heap_t *heap)
Builds a row reference from an undo log record.
Definition: trx0rec.cc:680
constexpr uint32_t TRX_UNDO_GET_OLD_V_VALUE
This tells trx_undo_prev_version_build() to fetch the old value in the undo log (which is the after i...
Definition: trx0rec.h:191
const byte * trx_undo_read_v_idx(const dict_table_t *table, const byte *ptr, bool first_v_col, bool *is_undo_log, ulint *field_no)
Read virtual column index from undo log or online log if the log contains such info,...
Definition: trx0rec.cc:351
void trx_undo_read_v_cols(const dict_table_t *table, const byte *ptr, const dtuple_t *row, bool in_purge, bool online, const ulint *col_map, mem_heap_t *heap)
Read virtual column value from undo log.
Definition: trx0rec.cc:2666
constexpr uint32_t TRX_UNDO_PREV_IN_PURGE
status bit used for trx_undo_prev_version_build()
Definition: trx0rec.h:187
byte * trx_undo_parse_add_undo_rec(byte *ptr, byte *end_ptr, page_t *page)
Parses a redo log record of adding an undo log record.
Definition: trx0rec.cc:103
byte * trx_undo_update_rec_get_update(const byte *ptr, const dict_index_t *index, ulint type, trx_id_t trx_id, roll_ptr_t roll_ptr, ulint info_bits, mem_heap_t *heap, upd_t **upd, lob::undo_vers_t *lob_undo, type_cmpl_t &type_cmpl)
Builds an update vector based on a remaining part of an undo log record.
Definition: trx0rec.cc:1724
constexpr uint32_t TRX_UNDO_MODIFY_BLOB
If this bit is set in type_cmpl, then the undo log record has support for partial update of BLOBs.
Definition: trx0rec.h:312
static trx_undo_rec_t * trx_undo_rec_copy(const page_t *undo_page, uint32_t undo_offset, mem_heap_t *heap)
Copies the undo record to the heap.
static ulint trx_undo_rec_get_cmpl_info(const trx_undo_rec_t *undo_rec)
Reads from an undo log record the record compiler info.
constexpr uint32_t TRX_UNDO_CMPL_INFO_MULT
compilation info is multiplied by this and ORed to the type above
Definition: trx0rec.h:308
byte * trx_undo_rec_get_pars(trx_undo_rec_t *undo_rec, ulint *type, ulint *cmpl_info, bool *updated_extern, undo_no_t *undo_no, table_id_t *table_id, type_cmpl_t &type_cmpl)
Reads from an undo log record the general parameters.
Definition: trx0rec.cc:552
byte * trx_undo_parse_erase_page_end(byte *ptr, byte *end_ptr, page_t *page, mtr_t *mtr)
Parses a redo log record of erasing of an undo page end.
Definition: trx0rec.cc:2098
dberr_t trx_undo_report_row_operation(ulint flags, ulint op_type, que_thr_t *thr, dict_index_t *index, const dtuple_t *clust_entry, const upd_t *update, ulint cmpl_info, const rec_t *rec, const ulint *offsets, roll_ptr_t *roll_ptr)
Writes information to an undo log about an insert, update, or a delete marking of a clustered index r...
Definition: trx0rec.cc:2115
constexpr uint32_t TRX_UNDO_DEL_MARK_REC
Definition: trx0rec.h:306
constexpr uint32_t TRX_UNDO_INSERT_REC
fresh insert into clustered index
Definition: trx0rec.h:299
byte * trx_undo_rec_get_col_val(const byte *ptr, const byte **field, ulint *len, ulint *orig_len)
Read from an undo log record a non-virtual column value.
Definition: trx0rec.cc:638
byte * trx_undo_rec_get_partial_row(const byte *ptr, dict_index_t *index, dtuple_t **row, bool ignore_prefix, mem_heap_t *heap)
Builds a partial row from an update undo log record, for purge.
Definition: trx0rec.cc:1921
constexpr uint32_t TRX_UNDO_INSERT_OP
Operation type flags used in trx_undo_report_row_operation.
Definition: trx0rec.h:318
static ulint trx_undo_rec_get_type(const trx_undo_rec_t *undo_rec)
Reads the undo log record type.
byte * trx_undo_update_rec_get_sys_cols(const byte *ptr, trx_id_t *trx_id, roll_ptr_t *roll_ptr, ulint *info_bits)
Reads from an undo log update record the system field values of the old version.
Definition: trx0rec.cc:1704
const byte * trx_undo_rec_get_multi_value(const byte *ptr, dfield_t *field, mem_heap_t *heap)
Read from an undo log record of a multi-value virtual column.
Definition: trx0rec.cc:622
constexpr uint32_t TRX_UNDO_UPD_DEL_REC
update of a delete marked record to a not delete marked record; also the fields of the record can cha...
Definition: trx0rec.h:304
table_id_t trx_undo_rec_get_table_id(const trx_undo_rec_t *undo_rec)
Reads from an undo log record the table ID.
Definition: trx0rec.cc:592
bool trx_undo_rec_is_multi_value(const byte *undo_rec)
Decide if the following undo log record is a multi-value virtual column.
Definition: trx0rec.cc:231
constexpr uint32_t TRX_UNDO_MODIFY_OP
Definition: trx0rec.h:319
size_t trx_undo_max_free_space()
Get the max free space of undo log by assuming it's a fresh new page and the free space doesn't count...
Definition: trx0rec.cc:159
constexpr uint32_t TRX_UNDO_UPD_EXIST_REC
update of a non-delete-marked record
Definition: trx0rec.h:301
Transaction undo log record.
Transaction system global type definitions.
byte trx_undo_rec_t
Undo log record.
Definition: trx0types.h:167
ib_id_t undo_no_t
Undo number.
Definition: trx0types.h:142
ib_id_t trx_id_t
Transaction identifier (DB_TRX_ID, DATA_TRX_ID)
Definition: trx0types.h:138
ib_id_t roll_ptr_t
Rollback pointer (DB_ROLL_PTR, DATA_ROLL_PTR)
Definition: trx0types.h:140
Version control for database, common definitions, and include files.
unsigned long int ulint
Definition: univ.i:406