MySQL 8.4.2
Source Code Documentation
|
Rollback segment. More...
Functions | |
static trx_rsegf_t * | trx_rsegf_get (space_id_t space, page_no_t page_no, const page_size_t &page_size, mtr_t *mtr) |
Gets a rollback segment header. More... | |
static trx_rsegf_t * | trx_rsegf_get_new (space_id_t space, page_no_t page_no, const page_size_t &page_size, mtr_t *mtr) |
Gets a newly created rollback segment header. More... | |
static page_no_t | trx_rsegf_get_nth_undo (trx_rsegf_t *rsegf, ulint n, mtr_t *mtr) |
Gets the file page number of the nth undo log slot. More... | |
static void | trx_rsegf_set_nth_undo (trx_rsegf_t *rsegf, ulint n, page_no_t page_no, mtr_t *mtr) |
Sets the file page number of the nth undo log slot. More... | |
static ulint | trx_rsegf_undo_find_free (trx_rsegf_t *rsegf, mtr_t *mtr) |
Looks for a free slot for an undo log segment. More... | |
space_id_t | trx_rseg_id_to_space_id (ulint id, bool is_temp) |
Convert a 7-bit ID stored in a rollback pointer to an undo space ID. More... | |
trx_rsegsf_t * | trx_rsegsf_get (space_id_t space_id, mtr_t *mtr) |
Get a pointer to the rollback segment directory header and x-latches its page. More... | |
page_no_t | trx_rsegsf_get_page_no (trx_rsegsf_t *rsegs_header, ulint slot, mtr_t *mtr) |
Get the page number of the nth rollback segment slot in the RSEG_ARRAY page for this undo tablespace. More... | |
static void | trx_rsegsf_set_page_no (trx_rsegsf_t *rsegs_header, ulint slot, page_no_t page_no, mtr_t *mtr) |
Sets the page number of the nth rollback segment slot in the independent undo tablespace. More... | |
Rollback segment.
Created 3/26/1996 Heikki Tuuri
|
inline |
Convert a 7-bit ID stored in a rollback pointer to an undo space ID.
Before 8.0, this ID is called an rseg_id and is a slot in the TRX_SYS page where the space_id can be read. After 8.0 this is an undo space number which can be converted directly to an undo space ID.
[in] | id | a 7-bit ID from a rollback pointer |
[in] | is_temp | true if rseg from Temp Tablespace else false. |
|
inlinestatic |
Gets a rollback segment header.
[in] | space | Space where placed |
[in] | page_no | Page number of the header |
[in] | page_size | Page size |
[in,out] | mtr | Mini-transaction |
|
inlinestatic |
Gets a newly created rollback segment header.
[in] | space | Space where placed |
[in] | page_no | Page number of the header |
[in] | page_size | Page size |
[in,out] | mtr | Mini-transaction |
|
inlinestatic |
Gets the file page number of the nth undo log slot.
rsegf | in: rollback segment header |
n | in: index of slot |
mtr | in: mtr |
|
inlinestatic |
Sets the file page number of the nth undo log slot.
rsegf | in: rollback segment header |
n | in: index of slot |
page_no | in: page number of the undo log segment |
mtr | in: mtr |
|
inlinestatic |
Looks for a free slot for an undo log segment.
rsegf | in: rollback segment header |
mtr | in: mtr |
|
inline |
Get a pointer to the rollback segment directory header and x-latches its page.
[in] | space_id | Undo Tablespace ID |
[in] | mtr | mtr |
|
inline |
Get the page number of the nth rollback segment slot in the RSEG_ARRAY page for this undo tablespace.
[in] | rsegs_header | rollback segment array page header |
[in] | slot | slot index == rseg id |
[in] | mtr | mtr |
|
inlinestatic |
Sets the page number of the nth rollback segment slot in the independent undo tablespace.
[in] | rsegs_header | rollback segment array page header |
[in] | slot | slot number on page == rseg id |
[in] | page_no | rollback regment header page number |
[in] | mtr | mtr |