MySQL 5.6.14 Source Code Document
|
#include <Dbtc.hpp>
Public Types | |
enum | ScanState { IDLE = 0, WAIT_SCAN_TAB_INFO = 1, WAIT_AI = 2, WAIT_FRAGMENT_COUNT = 3, RUNNING = 4, CLOSING_SCAN = 5 } |
Public Attributes | |
ScanState | scanState |
DLList< ScanFragRec >::Head | m_running_scan_frags |
union { | |
Uint32 m_queued_count | |
Uint32 scanReceivedOperations | |
}; | |
DLList< ScanFragRec >::Head | m_queued_scan_frags |
DLList< ScanFragRec >::Head | m_delivered_scan_frags |
Uint32 | scanNextFragId |
Uint32 | scanNoFrag |
Uint32 | nextScan |
union { | |
Uint32 scanAiLength | |
Uint32 m_booked_fragments_count | |
}; | |
Uint32 | scanKeyLen |
Uint32 | scanApiRec |
Uint32 | scanTcrec |
Uint32 | scanParallel |
Uint32 | scanSchemaVersion |
Uint32 | scanStoredProcId |
Uint32 | scanTableref |
Uint32 | m_scan_cookie |
union { | |
Uint16 first_batch_size_rows | |
Uint16 batch_size_rows | |
}; | |
Uint32 | batch_byte_size |
Uint32 | m_scan_block_no |
Uint32 | scanRequestInfo |
bool | m_close_scan_req |
bool | m_pass_all_confs |
bool | m_4word_conf |
Each scan allocates one ScanRecord to store information about the current scan
NOTE! This is the old comment for ScanState. - MASV STATE TRANSITIONS OF SCAN_STATE. SCAN_STATE IS THE STATE VARIABLE OF THE RECEIVE AND DELIVERY PROCESS. THE PROCESS HAS THREE STEPS IT GOES THROUGH. 1) THE INITIAL STATES WHEN RECEIVING DATA FOR THE SCAN.
WAIT_SCAN_TAB_INFO TRANSITIONS: -> WAIT_SCAN_TABINFO (WHEN MORE SCAN_TABINFO RECEIVED) -> WAIT_AI (WHEN ATTRINFO RECEIVED AFTER RECEIVING ALL SCAN_TABINFO) -> WAIT_FRAGMENT_COUNT (WHEN NO ATTRINFO RECEIVED AFTER RECEIVING ALL SCAN_TABINFO ) WAIT_AI TRANSITIONS: -> WAIT_AI (WHEN MORE ATTRINFO RECEIVED) -> WAIT_FRAGMENT_COUNT (WHEN ALL ATTRINFO RECEIVED)
WAIT_FRAGMENT_COUNT TRANSITIONS: -> SCAN_NEXT_ORDERED
SCAN_NEXT_ORDERED TRANSITIONS: -> DELIVERED (WHEN FIRST SCAN_FRAGCONF ARRIVES WITH OPERATIONS TO REPORT IN IT) -> CLOSING_SCAN (WHEN SCAN IS CLOSED BY SCAN_NEXTREQ OR BY SOME ERROR)
DELIVERED TRANSITIONS: -> SCAN_NEXT_ORDERED (IF SCAN_NEXTREQ ARRIVES BEFORE ANY NEW OPERATIONS TO REPORT ARRIVES) -> QUEUED_DELIVERED (IF NEW OPERATION TO REPORT ARRIVES BEFORE SCAN_NEXTREQ) -> CLOSING_SCAN (WHEN SCAN IS CLOSED BY SCAN_NEXTREQ OR BY SOME ERROR)
QUEUED_DELIVERED TRANSITIONS: -> DELIVERED (WHEN SCAN_NEXTREQ ARRIVES AND QUEUED OPERATIONS TO REPORT ARE SENT TO THE APPLICATION) -> CLOSING_SCAN (WHEN SCAN IS CLOSED BY SCAN_NEXTREQ OR BY SOME ERROR)
bool Dbtc::ScanRecord::m_4word_conf |