MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Dbdict Class Reference

#include <Dbdict.hpp>

Inheritance diagram for Dbdict:
Collaboration diagram for Dbdict:

Classes

struct  AlterIndexRec
struct  AlterTableRec
struct  AttributeMap
struct  AttributeRecord
struct  BuildIndexRec
struct  CopyDataRec
struct  CreateFilegroupRec
struct  CreateFileRec
struct  CreateHashMapRec
struct  CreateIndexRec
struct  CreateNodegroupRec
struct  CreateTableRec
struct  CreateTriggerRec
struct  DictLockType
struct  DictObject
struct  DropFilegroupRec
struct  DropFileRec
struct  DropIndexRec
struct  DropNodegroupRec
struct  DropTableRec
struct  DropTriggerRec
struct  ErrorInfo
struct  File
struct  Filegroup
struct  FsConnectRecord
struct  HashMapRecord
struct  IndexStatRec
struct  NodeRecord
struct  OpCreateEvent
struct  OpDropEvent
struct  OpInfo
struct  OpRec
struct  OpRecordCommon
union  OpRecordUnion
struct  OpSection
struct  OpSignalUtil
struct  OpSubEvent
struct  PackTable
struct  PageRecord
struct  ParseDictTabInfoRecord
struct  ReadSchemaRecord
struct  ReadTableRecord
struct  RestartRecord
struct  RetrieveRecord
struct  SchemaOp
struct  SchemaPageRecord
struct  SchemaRecord
struct  SchemaTrans
struct  SendSchemaRecord
struct  TableRecord
struct  TransClient
struct  TriggerRecord
struct  TriggerTmpl
struct  TxHandle
struct  WriteSchemaRecord
struct  WriteTableRecord
struct  XSchemaFile

Public Types

typedef Ptr< AttributeRecordAttributeRecordPtr
typedef Ptr< TableRecordTableRecordPtr
typedef Ptr< TriggerRecordTriggerRecordPtr
typedef Ptr< FsConnectRecordFsConnectRecordPtr
typedef Ptr< NodeRecordNodeRecordPtr
typedef Ptr< PageRecordPageRecordPtr
typedef Ptr< FileFilePtr
typedef RecordPool< File, RWPoolFile_pool
typedef DLListImpl< File_pool,
File
File_list
typedef LocalDLListImpl
< File_pool, File
Local_file_list
typedef KeyTableImpl
< File_pool, File
File_hash
typedef Ptr< FilegroupFilegroupPtr
typedef RecordPool< Filegroup,
RWPool
Filegroup_pool
typedef KeyTableImpl
< Filegroup_pool, Filegroup
Filegroup_hash
typedef Ptr< DictObjectDictObjectPtr
- Public Types inherited from SimulatedBlock
typedef void(SimulatedBlock::* CallbackFunction )(class Signal *, Uint32 callbackData, Uint32 returnCode)

Public Member Functions

 RSS_AP_SNAPSHOT (c_attributeRecordPool)
 RSS_AP_SNAPSHOT (c_tableRecordPool)
 RSS_AP_SNAPSHOT (c_triggerRecordPool)
 RSS_AP_SNAPSHOT (c_rope_pool)
 RSS_AP_SNAPSHOT (c_obj_pool)
DictObjectget_object (const char *name)
DictObjectget_object (const char *name, Uint32 len)
DictObjectget_object (const char *name, Uint32 len, Uint32 hash)
bool get_object (DictObjectPtr &obj_ptr, const char *name)
bool get_object (DictObjectPtr &obj_ptr, const char *name, Uint32 len)
bool get_object (DictObjectPtr &, const char *name, Uint32 len, Uint32 hash)
void release_object (Uint32 obj_ptr_i)
void release_object (Uint32 obj_ptr_i, DictObject *obj_ptr_p)
void increase_ref_count (Uint32 obj_ptr_i)
void decrease_ref_count (Uint32 obj_ptr_i)
 Dbdict (Block_context &ctx)
 STATIC_CONST (opCreateEventSize=sizeof(OpCreateEvent))
 STATIC_CONST (opSubEventSize=sizeof(OpSubEvent))
 STATIC_CONST (opDropEventSize=sizeof(OpDropEvent))
 STATIC_CONST (opSignalUtilSize=sizeof(OpSignalUtil))
void send_drop_file (Signal *, Uint32, Uint32, DropFileImplReq::RequestInfo)
void send_drop_fg (Signal *, Uint32, Uint32, DropFilegroupImplReq::RequestInfo)
int checkSingleUserMode (Uint32 senderRef)
void sendDictLockInfoEvent (Signal *, const UtilLockReq *, const char *text)
void removeStaleDictLocks (Signal *signal, const Uint32 *theFailedNodes)
Uint32 dict_lock_trylock (const DictLockReq *req)
Uint32 dict_lock_unlock (Signal *signal, const DictLockReq *req)
void sendOLD_LIST_TABLES_CONF (Signal *signal, ListTablesReq *)
void sendLIST_TABLES_CONF (Signal *signal, ListTablesReq *)
Uint32 get_default_fragments (Signal *, Uint32 extra_nodegroups=0)
void wait_gcp (Signal *signal, SchemaOpPtr op_ptr, Uint32 flags)
void block_substartstop (Signal *signal, SchemaOpPtr op_ptr)
void unblock_substartstop ()
void wait_substartstop (Signal *signal, Uint32 opPtrI)
void upgrade_seizeTrigger (Ptr< TableRecord > tabPtr, Uint32, Uint32, Uint32)
void send_event (Signal *, SchemaTransPtr &, Uint32 ev, Uint32 id, Uint32 version, Uint32 type)
- 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)

Static Public Member Functions

static const DictLockTypegetDictLockType (Uint32 lockType)
- 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

ArrayPool< AttributeRecordc_attributeRecordPool
DLHashTable< AttributeRecordc_attributeRecordHash
ArrayPool< TableRecordc_tableRecordPool
Uint32 c_fragDataLen
union {
   Uint16   c_fragData [MAX_NDB_PARTITIONS]
   Uint32   c_fragData_align32 [1]
}; 
Uint32 c_tsIdData [2 *MAX_NDB_PARTITIONS]
Uint32 c_maxNoOfTriggers
ArrayPool< TriggerRecordc_triggerRecordPool
ArrayPool< FsConnectRecordc_fsConnectRecordPool
CArray< NodeRecordc_nodes
NdbNodeBitmask c_aliveNodes
CArray< PageRecordc_pageRecordArray
CArray< SchemaPageRecordc_schemaPageRecordArray
unsigned g_trace
DictTabInfo::Table c_tableDesc
PageRecord c_indexPage
File_pool c_file_pool
Filegroup_pool c_filegroup_pool
File_hash c_file_hash
Filegroup_hash c_filegroup_hash
RopePool c_rope_pool
DLHashTable< DictObjectc_obj_hash
ArrayPool< DictObjectc_obj_pool
LockQueue::Pool m_dict_lock_pool
LockQueue m_dict_lock
Uint32 c_outstanding_sub_startstop
NdbNodeBitmask c_sub_startstop_lock
- Public Attributes inherited from SimulatedBlock
MutexManager c_mutexMgr
SafeCounterManager c_counterMgr

Protected Member Functions

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

struct DictLockType
NdbOut & operator<< (NdbOut &out, const ErrorInfo &)

Additional Inherited Members

- 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

DICT - This blocks handles all metadata

Definition at line 166 of file Dbdict.hpp.

Member Function Documentation

Uint32 Dbdict::dict_lock_trylock ( const DictLockReq req)

Should not happen with trylock

Definition at line 20390 of file Dbdict.cpp.

Here is the call graph for this function:

Uint32 Dbdict::dict_lock_unlock ( Signal signal,
const DictLockReq req 
)

Definition at line 20430 of file Dbdict.cpp.

Here is the call graph for this function:

void Dbdict::sendLIST_TABLES_CONF ( Signal signal,
ListTablesReq req 
)

Reset counter for next signal Reset buffers

Definition at line 10362 of file Dbdict.cpp.

Here is the call graph for this function:

Dbdict::STATIC_CONST ( opCreateEventSize  = sizeof(OpCreateEvent))

Only used at coordinator/master

void Dbdict::upgrade_seizeTrigger ( Ptr< TableRecord tabPtr,
Uint32  insertTriggerId,
Uint32  updateTriggerId,
Uint32  deleteTriggerId 
)

The insert trigger will be "main" trigger so it does not need any special treatment

Definition at line 5149 of file Dbdict.cpp.

Here is the call graph for this function:

Member Data Documentation

Uint32 Dbdict::c_fragDataLen

Node Group and Tablespace id+version + range or list data. This is only stored temporarily in DBDICT during an ongoing change. TODO RONM: Look into improvements of this

Definition at line 433 of file Dbdict.hpp.

PageRecord Dbdict::c_indexPage

A page for create index table signal.

Definition at line 588 of file Dbdict.hpp.


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