MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Dblqh Class Reference
Inheritance diagram for Dblqh:
Collaboration diagram for Dblqh:

Classes

struct  AddFragRecord
struct  CommitAckMarker
struct  CommitLogRecord
struct  Fragrecord
struct  GcpRecord
struct  HostRecord
struct  IOTracker
struct  LcpLocRecord
struct  LcpRecord
struct  LogFileOperationRecord
struct  LogFileRecord
struct  LogPageRecord
struct  LogPartRecord
struct  MonotonicCounters
struct  Nr_op_info
struct  PageRefRecord
struct  RedoCacheLogPageRecord
struct  RedoOpenFileCache
struct  RedoPageCache
struct  ScanRecord
struct  Tablerec
struct  TcConnectionrec
struct  TcNodeFailRecord

Public Types

enum  LcpCloseState {
  LCP_IDLE = 0, LCP_RUNNING = 1, LCP_CLOSE_STARTED = 2, ACC_LCP_CLOSE_COMPLETED = 3,
  TUP_LCP_CLOSE_COMPLETED = 4
}
enum  ExecUndoLogState { EULS_IDLE = 0, EULS_STARTED = 1, EULS_COMPLETED = 2 }
typedef Ptr< AddFragRecordAddFragRecordPtr
typedef Ptr< ScanRecordScanRecordPtr
typedef Ptr< FragrecordFragrecordPtr
typedef Ptr< GcpRecordGcpRecordPtr
typedef Ptr< HostRecordHostRecordPtr
typedef Ptr< LcpLocRecordLcpLocRecordPtr
typedef Ptr< LcpRecordLcpRecordPtr
typedef Ptr< LogPartRecordLogPartRecordPtr
typedef Ptr< LogFileRecordLogFileRecordPtr
typedef Ptr
< LogFileOperationRecord
LogFileOperationRecordPtr
typedef Ptr< LogPageRecordLogPageRecordPtr
typedef Ptr< PageRefRecordPageRefRecordPtr
typedef Ptr< TablerecTablerecPtr
typedef Ptr< TcConnectionrecTcConnectionrecPtr
typedef Ptr< TcNodeFailRecordTcNodeFailRecordPtr
typedef Ptr< CommitAckMarkerCommitAckMarkerPtr
typedef DLHashTable
< CommitAckMarker >::Iterator 
CommitAckMarkerIterator
- Public Types inherited from SimulatedBlock
typedef void(SimulatedBlock::* CallbackFunction )(class Signal *, Uint32 callbackData, Uint32 returnCode)

Public Member Functions

 Dblqh (Block_context &ctx, Uint32 instanceNumber=0)
void receive_keyinfo (Signal *, Uint32 *data, Uint32 len)
void receive_attrinfo (Signal *, Uint32 *data, Uint32 len)
Uint32 readPrimaryKeys (Uint32 opPtrI, Uint32 *dst, bool xfrm)
void get_nr_op_info (Nr_op_info *, Uint32 page_id=RNIL)
void nr_delete_complete (Signal *, Nr_op_info *)
void acckeyconf_load_diskpage_callback (Signal *, Uint32, Uint32)
void next_scanconf_load_diskpage_callback (Signal *signal, Uint32, Uint32)
void tupcommit_conf_callback (Signal *signal, Uint32 tcPtrI)
bool is_same_trans (Uint32 opId, Uint32 trid1, Uint32 trid2)
void get_op_info (Uint32 opId, Uint32 *hash, Uint32 *gci_hi, Uint32 *gci_lo, Uint32 *transId1, Uint32 *transId2)
void accminupdate (Signal *, Uint32 opPtrI, const Local_key *)
void accremoverow (Signal *, Uint32 opPtrI, const Local_key *)
void execREMOVE_MARKER_ORD (Signal *signal)
void scanMarkers (Signal *signal, Uint32 tcNodeFail, Uint32 bucket, Uint32 i)
void ndbdFailBlockCleanupCallback (Signal *signal, Uint32 failedNodeID, Uint32 ignoredRc)
bool getAllowRead () const
bool TRACE_OP_CHECK (const TcConnectionrec *regTcPtr)
Uint32 get_node_status (Uint32 nodeId) const
bool check_ndb_versions () const
void suspendFile (Signal *signal, Uint32 filePtrI, Uint32 millis)
void suspendFile (Signal *signal, Ptr< LogFileRecord > logFile, Uint32 millis)
void send_runredo_event (Signal *, LogPartRecord *, Uint32 currgci)
void sendFireTrigConfTc (Signal *signal, BlockReference ref, Uint32 Tdata[])
bool check_fire_trig_pass (Uint32 op, Uint32 pass)
- Public Member Functions inherited from SimulatedBlock
void executeFunction (GlobalSignalNumber gsn, Signal *signal)
Uint32 instance () const
SimulatedBlockgetInstance (Uint32 instanceNumber)
void addInstance (SimulatedBlock *b, Uint32 theInstanceNo)
virtual void loadWorkers ()
void assignToThread (ThreadContext ctx)
uint32 getThreadId () const
void assertOwnThread ()
void synchronize_threads_for_blocks (Signal *, const Uint32 blocks[], const Callback &, JobBufferLevel=JBB)
void synchronize_path (Signal *, const Uint32 blocks[], const Callback &, JobBufferLevel=JBB)
virtual const char * get_filename (Uint32 fd) const
EmulatedJamBufferjamBuffer () const
void ignoreMutexUnlockCallback (Signal *signal, Uint32 ptrI, Uint32 retVal)

Public Attributes

Uint32 totalLogFiles
Uint32 logFileInitDone
Uint32 totallogMBytes
Uint32 logMBytesInitDone
Uint32 m_startup_report_frequency
NDB_TICKS m_next_report_time
ArrayPool< CommitAckMarkerm_commitAckMarkerPool
DLHashTable< CommitAckMarkerm_commitAckMarkerHash
struct Dblqh::MonotonicCounters c_Counters
Uint32 c_max_redo_lag
Uint32 c_max_redo_lag_counter
Uint64 cTotalLqhKeyReqCount
Uint32 c_max_parallel_scans_per_frag
DLHashTable< ScanRecordc_scanTakeOverHash
- Public Attributes inherited from SimulatedBlock
MutexManager c_mutexMgr
SafeCounterManager c_counterMgr

Protected Member Functions

virtual bool getParam (const char *name, Uint32 *count)
- Protected Member Functions inherited from SimulatedBlock
 SimulatedBlock (BlockNumber blockNumber, struct Block_context &ctx, Uint32 instanceNumber=0)
void addRecSignalImpl (GlobalSignalNumber g, ExecFunction fun, bool f=false)
void installSimulatedBlockFunctions ()
void initCommon ()
void TheNULLCallbackFunction (class Signal *, Uint32, Uint32)
void execute (Signal *signal, Callback &c, Uint32 returnCode)
void sendSignal (BlockReference ref, GlobalSignalNumber gsn, Signal *signal, Uint32 length, JobBufferLevel jbuf) const
void sendSignal (NodeReceiverGroup rg, GlobalSignalNumber gsn, Signal *signal, Uint32 length, JobBufferLevel jbuf) const
void sendSignal (BlockReference ref, GlobalSignalNumber gsn, Signal *signal, Uint32 length, JobBufferLevel jbuf, SectionHandle *sections) const
void sendSignal (NodeReceiverGroup rg, GlobalSignalNumber gsn, Signal *signal, Uint32 length, JobBufferLevel jbuf, SectionHandle *sections) const
void sendSignal (BlockReference ref, GlobalSignalNumber gsn, Signal *signal, Uint32 length, JobBufferLevel jbuf, LinearSectionPtr ptr[3], Uint32 noOfSections) const
void sendSignal (NodeReceiverGroup rg, GlobalSignalNumber gsn, Signal *signal, Uint32 length, JobBufferLevel jbuf, LinearSectionPtr ptr[3], Uint32 noOfSections) const
void sendSignalNoRelease (BlockReference ref, GlobalSignalNumber gsn, Signal *signal, Uint32 length, JobBufferLevel jbuf, SectionHandle *sections) const
void sendSignalNoRelease (NodeReceiverGroup rg, GlobalSignalNumber gsn, Signal *signal, Uint32 length, JobBufferLevel jbuf, SectionHandle *sections) const
void sendSignalWithDelay (BlockReference ref, GlobalSignalNumber gsn, Signal *signal, Uint32 delayInMilliSeconds, Uint32 length) const
void sendSignalWithDelay (BlockReference ref, GlobalSignalNumber gsn, Signal *signal, Uint32 delayInMilliSeconds, Uint32 length, SectionHandle *sections) const
void EXECUTE_DIRECT (Uint32 block, Uint32 gsn, Signal *signal, Uint32 len, Uint32 givenInstanceNo=ZNIL)
class SectionSegmentPoolgetSectionSegmentPool ()
void release (SegmentedSectionPtr &ptr)
void release (SegmentedSectionPtrPOD &ptr)
void releaseSection (Uint32 firstSegmentIVal)
void releaseSections (struct SectionHandle &)
bool import (Ptr< SectionSegment > &first, const Uint32 *src, Uint32 len)
bool import (SegmentedSectionPtr &ptr, const Uint32 *src, Uint32 len)
bool appendToSection (Uint32 &firstSegmentIVal, const Uint32 *src, Uint32 len)
bool dupSection (Uint32 &copyFirstIVal, Uint32 srcFirstIVal)
bool writeToSection (Uint32 firstSegmentIVal, Uint32 offset, const Uint32 *src, Uint32 len)
void handle_invalid_sections_in_send_signal (Signal *) const
void handle_lingering_sections_after_execute (Signal *) const
void handle_lingering_sections_after_execute (SectionHandle *) const
void handle_invalid_fragmentInfo (Signal *) const
void handle_send_failed (SendStatus, Signal *) const
void handle_out_of_longsignal_memory (Signal *) const
void sendRoutedSignal (RoutePath path[], Uint32 pathcnt, Uint32 dst[], Uint32 dstcnt, Uint32 gsn, Signal *, Uint32 len, JobBufferLevel prio, SectionHandle *handle=0)
bool checkNodeFailSequence (Signal *)
bool assembleFragments (Signal *signal)
bool assembleDroppedFragments (Signal *signal)
 STATIC_CONST (FRAGMENT_WORD_SIZE=240)
void sendFragmentedSignal (BlockReference ref, GlobalSignalNumber gsn, Signal *signal, Uint32 length, JobBufferLevel jbuf, SectionHandle *sections, Callback &=TheEmptyCallback, Uint32 messageSize=FRAGMENT_WORD_SIZE)
void sendFragmentedSignal (NodeReceiverGroup rg, GlobalSignalNumber gsn, Signal *signal, Uint32 length, JobBufferLevel jbuf, SectionHandle *sections, Callback &=TheEmptyCallback, Uint32 messageSize=FRAGMENT_WORD_SIZE)
void sendFragmentedSignal (BlockReference ref, GlobalSignalNumber gsn, Signal *signal, Uint32 length, JobBufferLevel jbuf, LinearSectionPtr ptr[3], Uint32 noOfSections, Callback &=TheEmptyCallback, Uint32 messageSize=FRAGMENT_WORD_SIZE)
void sendFragmentedSignal (NodeReceiverGroup rg, GlobalSignalNumber gsn, Signal *signal, Uint32 length, JobBufferLevel jbuf, LinearSectionPtr ptr[3], Uint32 noOfSections, Callback &=TheEmptyCallback, Uint32 messageSize=FRAGMENT_WORD_SIZE)
Uint32 simBlockNodeFailure (Signal *signal, Uint32 failedNodeId, Callback &cb=TheEmptyCallback)
bool sendFirstFragment (FragmentSendInfo &info, NodeReceiverGroup rg, GlobalSignalNumber gsn, Signal *signal, Uint32 length, JobBufferLevel jbuf, SectionHandle *sections, bool noRelease, Uint32 messageSize=FRAGMENT_WORD_SIZE)
bool sendFirstFragment (FragmentSendInfo &info, NodeReceiverGroup rg, GlobalSignalNumber gsn, Signal *signal, Uint32 length, JobBufferLevel jbuf, LinearSectionPtr ptr[3], Uint32 noOfSections, Uint32 messageSize=FRAGMENT_WORD_SIZE)
void sendNextSegmentedFragment (Signal *signal, FragmentSendInfo &info)
void sendNextLinearFragment (Signal *signal, FragmentSendInfo &info)
BlockNumber number () const
BlockReference reference () const
NodeId getOwnNodeId () const
void refresh_watch_dog (Uint32 place=1)
void update_watch_dog_timer (Uint32 interval)
void progError (int line, int err_code, const char *extradata=NULL) const ATTRIBUTE_NORETURN
NewVARIABLEallocateBat (int batSize)
void freeBat ()
BlockReference calcInstanceBlockRef (BlockNumber aBlock)
BlockReference calcInstanceBlockRef (BlockNumber aBlock, NodeId aNode)
void * allocRecord (const char *type, size_t s, size_t n, bool clear=true, Uint32 paramId=0)
void * allocRecordAligned (const char *type, size_t s, size_t n, void **unaligned_buffer, Uint32 align=NDB_O_DIRECT_WRITE_ALIGNMENT, bool clear=true, Uint32 paramId=0)
void deallocRecord (void **, const char *type, size_t s, size_t n)
Uint32 allocChunks (AllocChunk dst[], Uint32arraysize, Uint32rg, Uint32pages, Uint32 paramId)
void infoEvent (const char *msg,...) const ATTRIBUTE_FORMAT(printf
void void warningEvent (const char *msg,...) const ATTRIBUTE_FORMAT(printf
void void const NodeStategetNodeState () const
const NodeInfogetNodeInfo (NodeId nodeId) const
NodeInfosetNodeInfo (NodeId)
const NodeVersionInfogetNodeVersionInfo () const
NodeVersionInfosetNodeVersionInfo ()
Uint32 xfrm_key (Uint32 tab, const Uint32 *src, Uint32 *dst, Uint32 dstSize, Uint32 keyPartLen[MAX_ATTRIBUTES_IN_INDEX]) const
Uint32 xfrm_attr (Uint32 attrDesc, CHARSET_INFO *cs, const Uint32 *src, Uint32 &srcPos, Uint32 *dst, Uint32 &dstPos, Uint32 dstSize) const
Uint32 create_distr_key (Uint32 tableId, const Uint32 *src, Uint32 *dst, const Uint32 keyPaLen[MAX_ATTRIBUTES_IN_INDEX]) const
void wakeup ()
void setup_wakeup ()
void execNDB_TAMPER (Signal *signal)
void execNODE_STATE_REP (Signal *signal)
void execCHANGE_NODE_STATE_REQ (Signal *signal)
void execSIGNAL_DROPPED_REP (Signal *signal)
void execCONTINUE_FRAGMENTED (Signal *signal)
void execSTOP_FOR_CRASH (Signal *signal)
void execAPI_START_REP (Signal *signal)
void execNODE_START_REP (Signal *signal)
void execSEND_PACKED (Signal *signal)
void execLOCAL_ROUTE_ORD (Signal *)
Uint32 debugPrintFragmentCounts ()
void fsRefError (Signal *signal, Uint32 line, const char *msg)
void execFSWRITEREF (Signal *signal)
void execFSREADREF (Signal *signal)
void execFSOPENREF (Signal *signal)
void execFSCLOSEREF (Signal *signal)
void execFSREMOVEREF (Signal *signal)
void execFSSYNCREF (Signal *signal)
void execFSAPPENDREF (Signal *signal)
void execute (Signal *signal, CallbackPtr &cptr, Uint32 returnCode)
const CallbackEntrygetCallbackEntry (Uint32 ci)
void sendCallbackConf (Signal *signal, Uint32 fullBlockNo, CallbackPtr &cptr, Uint32 returnCode)
void execCALLBACK_CONF (Signal *signal)
void ndbinfo_send_row (Signal *signal, const DbinfoScanReq &req, const Ndbinfo::Row &row, Ndbinfo::Ratelimit &rl) const
void ndbinfo_send_scan_break (Signal *signal, DbinfoScanReq &req, const Ndbinfo::Ratelimit &rl, Uint32 data1, Uint32 data2=0, Uint32 data3=0, Uint32 data4=0) const
void ndbinfo_send_scan_conf (Signal *signal, DbinfoScanReq &req, const Ndbinfo::Ratelimit &rl) const

Friends

class DblqhProxy

Additional Inherited Members

- Static Public Member Functions inherited from SimulatedBlock
static bool isMultiThreaded ()
static bool isNdbMt ()
static bool isNdbMtLqh ()
static Uint32 getLqhWorkers ()
static Uint32 getInstanceKey (Uint32 tabId, Uint32 fragId)
static Uint32 getInstanceFromKey (Uint32 instanceKey)
- Protected Types inherited from SimulatedBlock
enum  CallbackFlags { CALLBACK_DIRECT = 0x0001, CALLBACK_ACK = 0x0002 }
enum  { THE_NULL_CALLBACK = 0 }
typedef void(SimulatedBlock::* ExecFunction )(Signal *signal)
- Static Protected Member Functions inherited from SimulatedBlock
static const NewVARIABLEgetBat (BlockNumber blockNo, Uint32 instanceNo)
static Uint16 getBatSize (BlockNumber blockNo, Uint32 instanceNo)
static BlockReference calcTcBlockRef (NodeId aNode)
static BlockReference calcLqhBlockRef (NodeId aNode)
static BlockReference calcAccBlockRef (NodeId aNode)
static BlockReference calcTupBlockRef (NodeId aNode)
static BlockReference calcTuxBlockRef (NodeId aNode)
static BlockReference calcDihBlockRef (NodeId aNode)
static BlockReference calcQmgrBlockRef (NodeId aNode)
static BlockReference calcDictBlockRef (NodeId aNode)
static BlockReference calcNdbCntrBlockRef (NodeId aNode)
static BlockReference calcTrixBlockRef (NodeId aNode)
static BlockReference calcBackupBlockRef (NodeId aNode)
static BlockReference calcSumaBlockRef (NodeId aNode)
static BlockReference calcApiClusterMgrBlockRef (NodeId aNode)
static int sortchunks (const void *, const void *)
- Protected Attributes inherited from SimulatedBlock
ExecFunction theExecArray [MAX_GSN+1]
Block_context m_ctx
SafeArrayPool< GlobalPage > & m_global_page_pool
ArrayPool< GlobalPage > & m_shared_page_pool
CallbackTablem_callbackTableAddr
 ERROR_INSERT_VARIABLE
- Static Protected Attributes inherited from SimulatedBlock
static Callback TheEmptyCallback = {0, 0}
static Callback TheNULLCallback

Detailed Description

Definition at line 413 of file Dblqh.hpp.

Member Function Documentation

bool Dblqh::check_fire_trig_pass ( Uint32  op,
Uint32  pass 
)

Check that trigger only fires once per pass (per primary key)

Definition at line 7495 of file DblqhMain.cpp.

void Dblqh::nr_delete_complete ( Signal signal,
Nr_op_info op 
)

This is run directly in handle_nr_copy

Definition at line 5537 of file DblqhMain.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

Uint32 Dblqh::readPrimaryKeys ( Uint32  opPtrI,
Uint32 *  dst,
bool  xfrm 
)

Read primary key from operation

Definition at line 5588 of file DblqhMain.cpp.

Here is the call graph for this function:

void Dblqh::scanMarkers ( Signal signal,
Uint32  tcNodeFail,
Uint32  bucket,
Uint32  i 
)

Done with iteration

Found marker belonging to crashed node

Definition at line 9421 of file DblqhMain.cpp.

Here is the call graph for this function:


The documentation for this class was generated from the following files: