MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Dbtc::ScanRecord Struct Reference

#include <Dbtc.hpp>

Collaboration diagram for Dbtc::ScanRecord:

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

Detailed Description

Each scan allocates one ScanRecord to store information about the current scan

Definition at line 1160 of file Dbtc.hpp.

Member Enumeration Documentation

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
  • WAIT_AI
  • WAIT_FRAGMENT_COUNT 2) THE EXECUTION STATES WHEN THE SCAN IS PERFORMED.
  • SCAN_NEXT_ORDERED
  • DELIVERED
  • QUEUED_DELIVERED 3) THE CLOSING STATE WHEN THE SCAN PROCESS IS CLOSING UP EVERYTHING.
  • CLOSING_SCAN INITIAL START WHEN SCAN_TABREQ RECEIVED -> WAIT_SCAN_TAB_INFO (IF ANY SCAN_TABINFO TO BE RECEIVED) -> WAIT_AI (IF NO SCAN_TAB_INFO BUT ATTRINFO IS RECEIVED) -> WAIT_FRAGMENT_COUNT (IF NEITHER SCAN_TABINFO OR ATTRINFO RECEIVED)

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)

Definition at line 1216 of file Dbtc.hpp.

Member Data Documentation

bool Dbtc::ScanRecord::m_4word_conf

Send opcount/total len as different words

Definition at line 1289 of file Dbtc.hpp.


The documentation for this struct was generated from the following file: