MySQL 5.6.14 Source Code Document
|
#include <Dblqh.hpp>
Classes | |
struct | OperationQueue |
Public Types | |
enum | LogPartState { IDLE = 0, ACTIVE = 1, SR_FIRST_PHASE = 2, SR_FIRST_PHASE_COMPLETED = 3, SR_THIRD_PHASE_STARTED = 4, SR_THIRD_PHASE_COMPLETED = 5, SR_FOURTH_PHASE_STARTED = 6, SR_FOURTH_PHASE_COMPLETED = 7 } |
enum | WaitWriteGciLog { WWGL_TRUE = 0, WWGL_FALSE = 1 } |
enum | LogExecState { LES_IDLE = 0, LES_SEARCH_STOP = 1, LES_SEARCH_START = 2, LES_EXEC_LOG = 3, LES_EXEC_LOG_NEW_MBYTE = 4, LES_EXEC_LOG_NEW_FILE = 5, LES_EXEC_LOGREC_FROM_FILE = 6, LES_EXEC_LOG_COMPLETED = 7, LES_WAIT_READ_EXEC_SR_NEW_MBYTE = 8, LES_WAIT_READ_EXEC_SR = 9, LES_EXEC_LOG_INVALIDATE = 10 } |
enum | { P_TAIL_PROBLEM = 0x1, P_REDO_IO_PROBLEM = 0x2, P_FILE_CHANGE_PROBLEM = 0x4 } |
This record describes the current state of a log. A log consists of a number of log files. These log files are described by the log file record.
There will be 4 sets of log files. Different tables will use different log files dependent on the table id. This ensures that more than one outstanding request can be sent to the file system. The log file to use is found by performing a very simple hash function.
anonymous enum |
UintR Dblqh::LogPartRecord::currentLogfile |
UintR Dblqh::LogPartRecord::execSrExecLogFile |
Uint16 Dblqh::LogPartRecord::execSrExecuteIndex |
UintR Dblqh::LogPartRecord::execSrLfoRec |
UintR Dblqh::LogPartRecord::execSrLogPage |
Uint16 Dblqh::LogPartRecord::execSrLogPageIndex |
Uint16 Dblqh::LogPartRecord::execSrPagesExecuted |
Uint16 Dblqh::LogPartRecord::execSrPagesRead |
Uint16 Dblqh::LogPartRecord::execSrPagesReading |
UintR Dblqh::LogPartRecord::execSrStartPageNo |
UintR Dblqh::LogPartRecord::execSrStopPageNo |
UintR Dblqh::LogPartRecord::firstLogfile |
UintR Dblqh::LogPartRecord::firstLogTcrec |
UintR Dblqh::LogPartRecord::firstPageRef |
UintR Dblqh::LogPartRecord::gcprec |
Uint16 Dblqh::LogPartRecord::headFileNo |
Uint16 Dblqh::LogPartRecord::headPageIndex |
Uint16 Dblqh::LogPartRecord::headPageNo |
Uint16 Dblqh::LogPartRecord::invalidateFileNo |
Uint16 Dblqh::LogPartRecord::invalidatePageNo |
UintR Dblqh::LogPartRecord::lastLogfile |
UintR Dblqh::LogPartRecord::lastLogTcrec |
Uint16 Dblqh::LogPartRecord::lastMbyte |
UintR Dblqh::LogPartRecord::lastPageRef |
LogExecState Dblqh::LogPartRecord::logExecState |
This variable is used to keep track of the state during the third phase of the system restart, i.e. when LogPartRecord::logPartState == LogPartRecord::SR_THIRD_PHASE_STARTED.
UintR Dblqh::LogPartRecord::logLap |
UintR Dblqh::LogPartRecord::logLastGci |
UintR Dblqh::LogPartRecord::LogLqhKeyReqSent |
UintR Dblqh::LogPartRecord::logPartNewestCompletedGCI |
Uint16 Dblqh::LogPartRecord::logPartNo |
LogPartState Dblqh::LogPartRecord::logPartState |
UintR Dblqh::LogPartRecord::logPartTimer |
UintR Dblqh::LogPartRecord::logStartGci |
UintR Dblqh::LogPartRecord::logTailFileNo |
UintR Dblqh::LogPartRecord::logTcConrec |
The TcConnectionrec used during execution of this log part.
UintR Dblqh::LogPartRecord::logTimer |
struct IOTracker Dblqh::LogPartRecord::m_io_tracker |
struct OperationQueue Dblqh::LogPartRecord::m_log_complete_queue |
struct OperationQueue Dblqh::LogPartRecord::m_log_prepare_queue |
UintR Dblqh::LogPartRecord::mmBufferSize |
UintR Dblqh::LogPartRecord::noLogFiles |
Uint16 Dblqh::LogPartRecord::prevFilepage |
UintR Dblqh::LogPartRecord::prevLogpage |
This variable is used only during execution of a log record. It keeps track of in which page record a log record was started. It is used then to deduce which pages that are dirty after that the log records on the page have been executed.
It is also used to find out where to write the invalidate command when that is needed.
Uint16 Dblqh::LogPartRecord::savePageIndex |
This is used to save where we were in the execution of log records when we find a commit record that needs to be executed.
This variable is also used to remember the index where the log type was in the log record. It is only used in this role when finding a commit record that needs to be invalidated.
UintR Dblqh::LogPartRecord::srRemainingFiles |
UintR Dblqh::LogPartRecord::startLogfile |
Uint16 Dblqh::LogPartRecord::startMbyte |
UintR Dblqh::LogPartRecord::stopLogfile |
Uint16 Dblqh::LogPartRecord::stopMbyte |
WaitWriteGciLog Dblqh::LogPartRecord::waitWriteGciLog |