/** List of undo logs (transactions) */
UT_LIST_BASE_NODE_T(trx_undo_t) undo_list; /** List of undo log segments cached for fast reuse */
UT_LIST_BASE_NODE_T(trx_undo_t) undo_cached;
/** Last not yet purged undo log header; FIL_NULL if all purged */
uint32_t last_page_no;
/** @return the commit ID of the last committed transaction */
trx_id_t last_trx_no() const
{ return last_commit_and_offset >> 16; } /** @return header offset of the last committed transaction */
uint16_t last_offset() const
{ returnstatic_cast<uint16_t>(last_commit_and_offset);
}
/* Undo log segment slot in a rollback segment header */ /*-------------------------------------------------------------*/ #define TRX_RSEG_SLOT_PAGE_NO 0/* Page number of the header page of
an undo log segment */ /*-------------------------------------------------------------*/ /* Slot size */ #define TRX_RSEG_SLOT_SIZE 4
/* The offset of the rollback segment header on its page */ #define TRX_RSEG FSEG_PAGE_DATA
/* Transaction rollback segment header */ /*-------------------------------------------------------------*/ /** 0xfffffffe = pre-MariaDB 10.3.5 format; 0=MariaDB 10.3.5 or later */ #define TRX_RSEG_FORMAT 0 /** Number of pages in the TRX_RSEG_HISTORY list */ #define TRX_RSEG_HISTORY_SIZE 4 /** Committed transaction logs that have not been purged yet */ #define TRX_RSEG_HISTORY 8 #define TRX_RSEG_FSEG_HEADER (8 + FLST_BASE_NODE_SIZE) /* Header for the file segment where
this page is placed */ #define TRX_RSEG_UNDO_SLOTS (8 + FLST_BASE_NODE_SIZE + FSEG_HEADER_SIZE) /* Undo log segment slots */ /** Maximum transaction ID (valid only if TRX_RSEG_FORMAT is 0) */ #define TRX_RSEG_MAX_TRX_ID (TRX_RSEG_UNDO_SLOTS + TRX_RSEG_N_SLOTS \
* TRX_RSEG_SLOT_SIZE)
/** 8 bytes offset within the binlog file */ #define TRX_RSEG_BINLOG_OFFSET TRX_RSEG_MAX_TRX_ID + 8 /** MySQL log file name, 512 bytes, including terminating NUL (validonlyifTRX_RSEG_FORMATis0).
If no binlog information is present, the first byte is NUL. */ #define TRX_RSEG_BINLOG_NAME TRX_RSEG_MAX_TRX_ID + 16 /** Maximum length of binlog file name, including terminating NUL, in bytes */ #define TRX_RSEG_BINLOG_NAME_LEN 512
#ifdef WITH_WSREP # include "trx0xa.h"
/** Update the WSREP XID information in rollback segment header. @param[in,out]rseg_headerrollbacksegmentheader @param[in]xidWSREPXID
@param[in,out] mtr mini-transaction */ void
trx_rseg_update_wsrep_checkpoint(
buf_block_t* rseg_header, const XID* xid,
mtr_t* mtr);
/** Update the offset information about the end of the binlog entry whichcorrespondstothetransactionjustbeingcommitted. Inareplicationslave,thisupdatesthemasterbinlogposition uptowhichreplicationhasproceeded. @param[in,out]rseg_headerrollbacksegmentheader @param[in]log_file_namebinlogfilename @param[in]log_offsetbinlogoffsetvalue
@param[in,out] mtr mini-transaction */ void trx_rseg_update_binlog_offset(buf_block_t *rseg_header, constchar *log_file_name,
ulonglong log_offset,
mtr_t *mtr);
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.9 Sekunden
(vorverarbeitet am 2026-10-08)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.