MySQL 5.6.14 Source Code Document
|
#include "univ.i"
#include "trx0types.h"
#include "trx0sys.h"
#include "ut0bh.h"
#include "trx0rseg.ic"
Go to the source code of this file.
Classes | |
struct | trx_rseg_t |
struct | rseg_queue_t |
Functions | |
UNIV_INLINE trx_rsegf_t * | trx_rsegf_get (ulint space, ulint zip_size, ulint page_no, mtr_t *mtr) |
UNIV_INLINE trx_rsegf_t * | trx_rsegf_get_new (ulint space, ulint zip_size, ulint page_no, mtr_t *mtr) |
UNIV_INLINE ulint | trx_rsegf_get_nth_undo (trx_rsegf_t *rsegf, ulint n, mtr_t *mtr) |
UNIV_INLINE void | trx_rsegf_set_nth_undo (trx_rsegf_t *rsegf, ulint n, ulint page_no, mtr_t *mtr) |
UNIV_INLINE ulint | trx_rsegf_undo_find_free (trx_rsegf_t *rsegf, mtr_t *mtr) |
UNIV_INLINE trx_rseg_t * | trx_rseg_get_on_id (ulint id) |
UNIV_INTERN ulint | trx_rseg_header_create (ulint space, ulint zip_size, ulint max_size, ulint rseg_slot_no, mtr_t *mtr) |
UNIV_INTERN void | trx_rseg_array_init (trx_sysf_t *sys_header, ib_bh_t *ib_bh, mtr_t *mtr) |
UNIV_INTERN void | trx_rseg_mem_free (trx_rseg_t *rseg) |
UNIV_INTERN trx_rseg_t * | trx_rseg_create (ulint space) |
UNIV_INTERN ulint | trx_rseg_get_n_undo_tablespaces (ulint *space_ids) |
#define TRX_RSEG_HISTORY |
Definition at line 214 of file trx0rseg.h.
#define TRX_RSEG_HISTORY_SIZE |
Definition at line 213 of file trx0rseg.h.
#define TRX_RSEG_MAX_SIZE |
Definition at line 212 of file trx0rseg.h.
#define TRX_RSEG_SLOT_PAGE_NO |
Definition at line 202 of file trx0rseg.h.
UNIV_INTERN void trx_rseg_array_init | ( | trx_sysf_t * | sys_header, |
ib_bh_t * | ib_bh, | ||
mtr_t * | mtr | ||
) |
Creates the memory copies for rollback segments and initializes the rseg array in trx_sys at a database startup. in/out: mtr
Creates the memory copies for rollback segments and initializes the rseg array in trx_sys at a database startup.
sys_header | in/out: trx system header |
ib_bh | in: rseg queue |
mtr | in: mtr |
Definition at line 350 of file trx0rseg.cc.
UNIV_INTERN trx_rseg_t* trx_rseg_create | ( | ulint | space | ) |
in: id of UNDO tablespace
space | in: id of UNDO tablespace |
Definition at line 301 of file trx0rseg.cc.
UNIV_INTERN ulint trx_rseg_get_n_undo_tablespaces | ( | ulint * | space_ids | ) |
out: array of space ids of UNDO tablespaces
space_ids | out: array of space ids of UNDO tablespaces |
Definition at line 369 of file trx0rseg.cc.
UNIV_INLINE trx_rseg_t* trx_rseg_get_on_id | ( | ulint | id | ) |
Looks for a rollback segment, based on the rollback segment id.
UNIV_INTERN ulint trx_rseg_header_create | ( | ulint | space, |
ulint | zip_size, | ||
ulint | max_size, | ||
ulint | rseg_slot_no, | ||
mtr_t * | mtr | ||
) |
Creates a rollback segment header. This function is called only when a new rollback segment is created in the database.
Creates a rollback segment header. This function is called only when a new rollback segment is created in the database.
space | in: space id |
zip_size | in: compressed page size in bytes or 0 for uncompressed pages |
max_size | in: max size in pages |
rseg_slot_no | in: rseg id == slot number in trx sys |
mtr | in: mtr |
Definition at line 50 of file trx0rseg.cc.
UNIV_INTERN void trx_rseg_mem_free | ( | trx_rseg_t * | rseg | ) |
in, own: instance to free
Free's an instance of the rollback segment in memory.
Definition at line 115 of file trx0rseg.cc.
UNIV_INLINE trx_rsegf_t* trx_rsegf_get | ( | ulint | space, |
ulint | zip_size, | ||
ulint | page_no, | ||
mtr_t * | mtr | ||
) |
Gets a rollback segment header.
space | in: space where placed |
zip_size | in: compressed page size in bytes or 0 for uncompressed pages |
page_no | in: page number of the header |
UNIV_INLINE trx_rsegf_t* trx_rsegf_get_new | ( | ulint | space, |
ulint | zip_size, | ||
ulint | page_no, | ||
mtr_t * | mtr | ||
) |
Gets a newly created rollback segment header.
space | in: space where placed |
zip_size | in: compressed page size in bytes or 0 for uncompressed pages |
page_no | in: page number of the header |
UNIV_INLINE ulint 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.
rsegf | in: rollback segment header |
n | in: index of slot |
UNIV_INLINE void trx_rsegf_set_nth_undo | ( | trx_rsegf_t * | rsegf, |
ulint | n, | ||
ulint | page_no, | ||
mtr_t * | mtr | ||
) |
Sets the file page number of the nth undo log slot. in: mtr
rsegf | in: rollback segment header |
n | in: index of slot |
page_no | in: page number of the undo log segment |
UNIV_INLINE ulint trx_rsegf_undo_find_free | ( | trx_rsegf_t * | rsegf, |
mtr_t * | mtr | ||
) |
Looks for a free slot for an undo log segment.
rsegf | in: rollback segment header |