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

Classes

struct  Datafile
struct  req
struct  Tablespace

Public Types

typedef RecordPool< Datafile,
RWPool
Datafile_pool
typedef DLListImpl
< Datafile_pool, Datafile
Datafile_list
typedef LocalDLListImpl
< Datafile_pool, Datafile
Local_datafile_list
typedef DLHashTableImpl
< Datafile_pool, Datafile
Datafile_hash
typedef RecordPool< Tablespace,
RWPool
Tablespace_pool
typedef DLListImpl
< Tablespace_pool, Tablespace
Tablespace_list
typedef LocalDLListImpl
< Tablespace_pool, Tablespace
Local_tablespace_list
typedef KeyTableImpl
< Tablespace_pool, Tablespace
Tablespace_hash
- Public Types inherited from SimulatedBlock
typedef void(SimulatedBlock::* CallbackFunction )(class Signal *, Uint32 callbackData, Uint32 returnCode)

Public Member Functions

 Tsman (Block_context &)
 BLOCK_DEFINES (Tsman)
- 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)
virtual bool getParam (const char *param, Uint32 *retVal)

Protected Member Functions

void execSTTOR (Signal *signal)
void sendSTTORRY (Signal *)
void execREAD_CONFIG_REQ (Signal *signal)
void execDUMP_STATE_ORD (Signal *signal)
void execCONTINUEB (Signal *signal)
void execNODE_FAILREP (Signal *signal)
void execCREATE_FILE_IMPL_REQ (Signal *signal)
void execCREATE_FILEGROUP_IMPL_REQ (Signal *signal)
void execDROP_FILE_IMPL_REQ (Signal *signal)
void execDROP_FILEGROUP_IMPL_REQ (Signal *signal)
void execSTART_RECREQ (Signal *)
void execFSWRITEREQ (Signal *)
void execFSOPENREF (Signal *)
void execFSOPENCONF (Signal *)
void execFSREADREF (Signal *)
void execFSREADCONF (Signal *)
void execFSCLOSEREF (Signal *)
void execFSCLOSECONF (Signal *)
void execALLOC_EXTENT_REQ (Signal *)
void execFREE_EXTENT_REQ (Signal *)
void execALLOC_PAGE_REQ (Signal *signal)
void execLCP_FRAG_ORD (Signal *)
void execEND_LCP_REQ (Signal *)
void end_lcp (Signal *, Uint32 tablespace, Uint32 list, Uint32 file)
void execGET_TABINFOREQ (Signal *)
void sendGET_TABINFOREF (Signal *signal, GetTabInfoReq *req, GetTabInfoRef::ErrorCode errorCode)
- 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 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 Tablespace_client

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)
- Public Attributes inherited from SimulatedBlock
MutexManager c_mutexMgr
SafeCounterManager c_counterMgr
- 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 32 of file tsman.hpp.

Member Function Documentation

void Tsman::end_lcp ( Signal signal,
Uint32  tablespace,
Uint32  list,
Uint32  file 
)
protected

Move extents...

next file

Definition at line 2158 of file tsman.cpp.

Here is the call graph for this function:

void Tsman::execALLOC_EXTENT_REQ ( Signal signal)
protected

Handling of unmapped extent header pages is not implemented

Init header

Check if file is full

Pack return values

Pack return values

Definition at line 1574 of file tsman.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void Tsman::execALLOC_PAGE_REQ ( Signal signal)
protected

1) Compute which extent_no key belongs to 2) Find out which page extent_no belongs to 3) Undo log m_page_bitmask 4) Update m_page_bitmask

Handling of unmapped extent header pages is not implemented

0 = 00 - free - 100% free 1 = 01 - atleast 70% free, 70= pct_free + 2 * (100 - pct_free) / 3 2 = 10 - atleast 40% free, 40= pct_free + (100 - pct_free) / 3 3 = 11 - full - less than pct_free% free, pct_free=10%

Search

Definition at line 2014 of file tsman.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void Tsman::execDUMP_STATE_ORD ( Signal signal)
protected

9000

Definition at line 260 of file tsman.cpp.

Here is the call graph for this function:

void Tsman::execEND_LCP_REQ ( Signal signal)
protected

Move extents from "lcp" free list to real free list

Definition at line 2135 of file tsman.cpp.

void Tsman::execFREE_EXTENT_REQ ( Signal signal)
protected

Handling of unmapped extent header pages is not implemented

Move from full to free

Pack return values

Definition at line 1677 of file tsman.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void Tsman::execFSOPENCONF ( Signal signal)
protected

Read zero page and compare values can't use page cache as file's file_no is not known

Definition at line 1004 of file tsman.cpp.

void Tsman::execFSREADCONF ( Signal signal)
protected

We currently on read pages here as part of CREATE_FILE (other read is done using pgman)

Definition at line 1065 of file tsman.cpp.

Here is the call graph for this function:

void Tsman::execFSWRITEREQ ( Signal signal)
protected

This is currently run in other thread -> no jam

Definition at line 882 of file tsman.cpp.

Here is the call graph for this function:

void Tsman::sendGET_TABINFOREF ( Signal signal,
GetTabInfoReq req,
GetTabInfoRef::ErrorCode  errorCode 
)
protected

The format of GetTabInfo Req/Ref is the same

Definition at line 2388 of file tsman.cpp.

Here is the call graph for this function:


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