Go to the source code of this file.
Classes | |
struct | trx_rseg_struct |
struct | rseg_queue_struct |
Typedefs | |
typedef struct rseg_queue_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_INTERN 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_list_and_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 (void) |
#define TRX_RSEG_HISTORY |
Definition at line 211 of file trx0rseg.h.
#define TRX_RSEG_HISTORY_SIZE |
Definition at line 209 of file trx0rseg.h.
#define TRX_RSEG_MAX_SIZE |
Definition at line 207 of file trx0rseg.h.
#define TRX_RSEG_SLOT_PAGE_NO |
Definition at line 196 of file trx0rseg.h.
UNIV_INTERN trx_rseg_t* trx_rseg_get_on_id | ( | ulint | id) |
Looks for a rollback segment, based on the rollback segment id.
Looks for a rollback segment, based on the rollback segment id.
id | in: rollback segment id |
Definition at line 47 of file trx0rseg.cc.
References trx_rseg_struct::id, trx_sys_struct::rseg_array, trx_rseg_get_on_id(), trx_sys, and ut_a.
Referenced by trx_rseg_get_on_id(), and trx_undo_get_undo_rec_low().
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 68 of file trx0rseg.cc.
References buf_block_get_page_no(), FIL_NULL, flst_init(), MLOG_4BYTES, mlog_write_ulint(), trx_rseg_header_create(), trx_rsegf_get_new(), trx_rsegf_set_nth_undo(), trx_sysf_get(), trx_sysf_rseg_set_page_no(), trx_sysf_rseg_set_space(), and ut_ad.
Referenced by trx_rseg_header_create().
UNIV_INTERN void trx_rseg_list_and_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 list and array in trx_sys at a database startup. in: mtr
sys_header | in: trx system header |
ib_bh | in: rseg queue |
mtr | in: mtr |
Definition at line 365 of file trx0rseg.cc.
References trx_sys_struct::rseg_history_len, trx_rseg_list_and_array_init(), trx_sys, and UT_LIST_INIT.
Referenced by trx_rseg_list_and_array_init(), and trx_sys_init_at_db_start().
UNIV_INTERN void trx_rseg_mem_free | ( | trx_rseg_t * | rseg) |
Free's an instance of the rollback segment in memory.
Definition at line 135 of file trx0rseg.cc.
References trx_rseg_struct::id, mem_free, trx_rseg_struct::mutex, trx_rseg_mem_free(), trx_sys, trx_sys_set_nth_rseg(), trx_undo_mem_free(), ut_a, UT_LIST_GET_FIRST, UT_LIST_GET_LEN, UT_LIST_GET_NEXT, and UT_LIST_REMOVE.
Referenced by trx_rseg_mem_free(), and trx_sys_close().
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 |
Referenced by trx_purge_add_update_undo_to_history(), and trx_undo_lists_init().
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 |
Referenced by trx_rseg_header_create(), and trx_undo_lists_init().
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 |
Referenced by trx_undo_lists_init().
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 |
Referenced by trx_purge_add_update_undo_to_history(), and trx_rseg_header_create().
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 |