MySQL 5.6.14 Source Code Document
|
#include <Dblqh.hpp>
Public Types | |
enum | FileChangeState { NOT_ONGOING = 0, BOTH_WRITES_ONGOING = 1, LAST_WRITE_ONGOING = 2, FIRST_WRITE_ONGOING = 3, WRITE_PAGE_ZERO_ONGOING = 4 } |
enum | LogFileStatus { LFS_IDLE = 0, CLOSED = 1, OPENING_INIT = 2, OPEN_SR_FRONTPAGE = 3, OPEN_SR_LAST_FILE = 4, OPEN_SR_NEXT_FILE = 5, OPEN_EXEC_SR_START = 6, OPEN_EXEC_SR_NEW_MBYTE = 7, OPEN_SR_FOURTH_PHASE = 8, OPEN_SR_FOURTH_NEXT = 9, OPEN_SR_FOURTH_ZERO = 10, OPENING_WRITE_LOG = 11, OPEN_EXEC_LOG = 12, CLOSING_INIT = 13, CLOSING_SR = 14, CLOSING_EXEC_SR = 15, CLOSING_EXEC_SR_COMPLETED = 16, CLOSING_WRITE_LOG = 17, CLOSING_EXEC_LOG = 18, OPEN_INIT = 19, OPEN = 20, OPEN_SR_READ_INVALIDATE_PAGES = 21, CLOSE_SR_READ_INVALIDATE_PAGES = 22, OPEN_SR_WRITE_INVALIDATE_PAGES = 23, CLOSE_SR_WRITE_INVALIDATE_PAGES = 24, OPEN_SR_READ_INVALIDATE_SEARCH_FILES = 25, CLOSE_SR_READ_INVALIDATE_SEARCH_FILES = 26, CLOSE_SR_READ_INVALIDATE_SEARCH_LAST_FILE = 27, OPEN_EXEC_LOG_CACHED = 28, CLOSING_EXEC_LOG_CACHED = 29 } |
Public Attributes | |
UintR * | logLastPrepRef |
UintR * | logMaxGciCompleted |
UintR * | logMaxGciStarted |
UintR | fileName [4] |
UintR | currentLogpage |
UintR | currentMbyte |
FileChangeState | fileChangeState |
UintR | fileNo |
UintR | filePosition |
UintR | fileRef |
UintR | firstFilledPage |
UintR | firstLfo |
UintR | lastLfo |
UintR | lastFilledPage |
UintR | lastPageWritten |
UintR | lastWordWritten |
LogFileStatus | logFileStatus |
UintR | logPageZero |
UintR | logPartRec |
UintR | nextLogFile |
UintR | prevLogFile |
UintR | remainingWordsInMbyte |
Uint16 | currentFilepage |
Uint16 | noLogpagesInBuffer |
Uint32 | nextList |
Uint32 | prevList |
This record contains information about a log file. A log file contains log records from several tables and fragments of a table. LQH can contain more than one log file to ensure faster log processing.
The number of pages to write to disk at a time is configurable.
Uint16 Dblqh::LogFileRecord::currentFilepage |
UintR Dblqh::LogFileRecord::currentLogpage |
UintR Dblqh::LogFileRecord::currentMbyte |
FileChangeState Dblqh::LogFileRecord::fileChangeState |
This variable is used when changing files. It is to find out when both the last write in the previous file and the first write in this file has been completed. After these writes have completed the variable keeps track of when the write to page zero in file zero is completed.
UintR Dblqh::LogFileRecord::fileName[4] |
UintR Dblqh::LogFileRecord::fileNo |
UintR Dblqh::LogFileRecord::filePosition |
UintR Dblqh::LogFileRecord::fileRef |
UintR Dblqh::LogFileRecord::firstFilledPage |
UintR Dblqh::LogFileRecord::firstLfo |
UintR Dblqh::LogFileRecord::lastFilledPage |
UintR Dblqh::LogFileRecord::lastPageWritten |
UintR Dblqh::LogFileRecord::lastWordWritten |
LogFileStatus Dblqh::LogFileRecord::logFileStatus |
UintR* Dblqh::LogFileRecord::logLastPrepRef |
When a new mbyte is started in the log we have to find out how far back in the log we still have prepared operations which have been neither committed or aborted. This variable keeps track of this value for each of the mbytes in this log file. This is used in writing down these values in the header of each log file. That information is used during system restart to find the tail of the log.
UintR* Dblqh::LogFileRecord::logMaxGciCompleted |
UintR* Dblqh::LogFileRecord::logMaxGciStarted |
UintR Dblqh::LogFileRecord::logPageZero |
UintR Dblqh::LogFileRecord::logPartRec |
UintR Dblqh::LogFileRecord::nextLogFile |
Uint16 Dblqh::LogFileRecord::noLogpagesInBuffer |
UintR Dblqh::LogFileRecord::prevLogFile |
UintR Dblqh::LogFileRecord::remainingWordsInMbyte |