Restore::Restore(Block_context& ctx, Uint32 instanceNumber) : SimulatedBlock(RESTORE, ctx, instanceNumber), m_file_list(m_file_pool), m_file_hash(m_file_pool), m_rows_restored(0), m_bytes_restored(0), m_millis_spent(0), m_frags_restored(0) { BLOCK_CONSTRUCTOR(Restore); // Add received signals addRecSignal(GSN_STTOR, &Restore::execSTTOR); addRecSignal(GSN_DUMP_STATE_ORD, &Restore::execDUMP_STATE_ORD); addRecSignal(GSN_CONTINUEB, &Restore::execCONTINUEB); addRecSignal(GSN_READ_CONFIG_REQ, &Restore::execREAD_CONFIG_REQ, true); addRecSignal(GSN_RESTORE_LCP_REQ, &Restore::execRESTORE_LCP_REQ); addRecSignal(GSN_FSOPENREF, &Restore::execFSOPENREF, true); addRecSignal(GSN_FSOPENCONF, &Restore::execFSOPENCONF); addRecSignal(GSN_FSREADREF, &Restore::execFSREADREF, true); addRecSignal(GSN_FSREADCONF, &Restore::execFSREADCONF); addRecSignal(GSN_FSCLOSEREF, &Restore::execFSCLOSEREF, true); addRecSignal(GSN_FSCLOSECONF, &Restore::execFSCLOSECONF); addRecSignal(GSN_LQHKEYREF, &Restore::execLQHKEYREF); addRecSignal(GSN_LQHKEYCONF, &Restore::execLQHKEYCONF); ndbrequire(sizeof(Column) == 8); }
Dbspj::Dbspj(Block_context& ctx, Uint32 instanceNumber): SimulatedBlock(DBSPJ, ctx, instanceNumber), m_scan_request_hash(m_request_pool), m_lookup_request_hash(m_request_pool), m_tableRecord(NULL), c_tabrecFilesize(0) { BLOCK_CONSTRUCTOR(Dbspj); addRecSignal(GSN_DUMP_STATE_ORD, &Dbspj::execDUMP_STATE_ORD); addRecSignal(GSN_READ_NODESCONF, &Dbspj::execREAD_NODESCONF); addRecSignal(GSN_READ_CONFIG_REQ, &Dbspj::execREAD_CONFIG_REQ); addRecSignal(GSN_STTOR, &Dbspj::execSTTOR); addRecSignal(GSN_DBINFO_SCANREQ, &Dbspj::execDBINFO_SCANREQ); addRecSignal(GSN_CONTINUEB, &Dbspj::execCONTINUEB); addRecSignal(GSN_NODE_FAILREP, &Dbspj::execNODE_FAILREP); addRecSignal(GSN_INCL_NODEREQ, &Dbspj::execINCL_NODEREQ); addRecSignal(GSN_API_FAILREQ, &Dbspj::execAPI_FAILREQ); /** * Signals from DICT */ addRecSignal(GSN_TC_SCHVERREQ, &Dbspj::execTC_SCHVERREQ); addRecSignal(GSN_TAB_COMMITREQ, &Dbspj::execTAB_COMMITREQ); addRecSignal(GSN_PREP_DROP_TAB_REQ, &Dbspj::execPREP_DROP_TAB_REQ); addRecSignal(GSN_DROP_TAB_REQ, &Dbspj::execDROP_TAB_REQ); addRecSignal(GSN_ALTER_TAB_REQ, &Dbspj::execALTER_TAB_REQ); /** * Signals from DIH */ addRecSignal(GSN_DIH_SCAN_TAB_REF, &Dbspj::execDIH_SCAN_TAB_REF); addRecSignal(GSN_DIH_SCAN_TAB_CONF, &Dbspj::execDIH_SCAN_TAB_CONF); addRecSignal(GSN_DIH_SCAN_GET_NODES_REF, &Dbspj::execDIH_SCAN_GET_NODES_REF); addRecSignal(GSN_DIH_SCAN_GET_NODES_CONF,&Dbspj::execDIH_SCAN_GET_NODES_CONF); /** * Signals from TC */ addRecSignal(GSN_LQHKEYREQ, &Dbspj::execLQHKEYREQ); addRecSignal(GSN_SCAN_FRAGREQ, &Dbspj::execSCAN_FRAGREQ); addRecSignal(GSN_SCAN_NEXTREQ, &Dbspj::execSCAN_NEXTREQ); /** * Signals from LQH */ addRecSignal(GSN_LQHKEYREF, &Dbspj::execLQHKEYREF); addRecSignal(GSN_LQHKEYCONF, &Dbspj::execLQHKEYCONF); addRecSignal(GSN_SCAN_FRAGREF, &Dbspj::execSCAN_FRAGREF); addRecSignal(GSN_SCAN_FRAGCONF, &Dbspj::execSCAN_FRAGCONF); addRecSignal(GSN_TRANSID_AI, &Dbspj::execTRANSID_AI); addRecSignal(GSN_SCAN_HBREP, &Dbspj::execSCAN_HBREP); }//Dbspj::Dbspj()
Thrman::Thrman(Block_context & ctx, Uint32 instanceno) : SimulatedBlock(THRMAN, ctx, instanceno) { BLOCK_CONSTRUCTOR(Thrman); addRecSignal(GSN_DBINFO_SCANREQ, &Thrman::execDBINFO_SCANREQ); addRecSignal(GSN_CONTINUEB, &Thrman::execCONTINUEB); addRecSignal(GSN_GET_CPU_USAGE_REQ, &Thrman::execGET_CPU_USAGE_REQ); addRecSignal(GSN_READ_CONFIG_REQ, &Thrman::execREAD_CONFIG_REQ); addRecSignal(GSN_STTOR, &Thrman::execSTTOR); current_cpu_load = 90; }
SumaParticipant::SumaParticipant(const Configuration & conf) : SimulatedBlock(SUMA, conf), c_metaSubscribers(c_subscriberPool), c_dataSubscribers(c_subscriberPool), c_prepDataSubscribers(c_subscriberPool), c_removeDataSubscribers(c_subscriberPool), c_tables(c_tablePool_), c_subscriptions(c_subscriptionPool) { BLOCK_CONSTRUCTOR(SumaParticipant); /** * SUMA participant if */ addRecSignal(GSN_SUB_CREATE_REQ, &SumaParticipant::execSUB_CREATE_REQ); addRecSignal(GSN_SUB_REMOVE_REQ, &SumaParticipant::execSUB_REMOVE_REQ); addRecSignal(GSN_SUB_SYNC_REQ, &SumaParticipant::execSUB_SYNC_REQ); /** * Dict interface */ addRecSignal(GSN_GET_TABINFO_CONF, &SumaParticipant::execGET_TABINFO_CONF); addRecSignal(GSN_GET_TABINFOREF, &SumaParticipant::execGET_TABINFOREF); #if 0 addRecSignal(GSN_GET_TABLEID_CONF, &SumaParticipant::execGET_TABLEID_CONF); addRecSignal(GSN_GET_TABLEID_REF, &SumaParticipant::execGET_TABLEID_REF); #endif /** * Dih interface */ //addRecSignal(GSN_DI_FCOUNTREF, &SumaParticipant::execDI_FCOUNTREF); addRecSignal(GSN_DI_FCOUNTCONF, &SumaParticipant::execDI_FCOUNTCONF); //addRecSignal(GSN_DIGETPRIMREF, &SumaParticipant::execDIGETPRIMREF); addRecSignal(GSN_DIGETPRIMCONF, &SumaParticipant::execDIGETPRIMCONF); /** * Scan interface */ addRecSignal(GSN_SCAN_HBREP, &SumaParticipant::execSCAN_HBREP); addRecSignal(GSN_TRANSID_AI, &SumaParticipant::execTRANSID_AI); addRecSignal(GSN_SCAN_FRAGREF, &SumaParticipant::execSCAN_FRAGREF); addRecSignal(GSN_SCAN_FRAGCONF, &SumaParticipant::execSCAN_FRAGCONF); #if 0 addRecSignal(GSN_SUB_SYNC_CONTINUE_REF, &SumaParticipant::execSUB_SYNC_CONTINUE_REF); #endif addRecSignal(GSN_SUB_SYNC_CONTINUE_CONF, &SumaParticipant::execSUB_SYNC_CONTINUE_CONF); }
Trix::Trix(Block_context& ctx) : SimulatedBlock(TRIX, ctx), c_theNodes(c_theNodeRecPool), c_masterNodeId(0), c_masterTrixRef(0), c_noNodesFailed(0), c_noActiveNodes(0), c_theSubscriptions(c_theSubscriptionRecPool) { BLOCK_CONSTRUCTOR(Trix); // Add received signals addRecSignal(GSN_READ_CONFIG_REQ, &Trix::execREAD_CONFIG_REQ); addRecSignal(GSN_STTOR, &Trix::execSTTOR); addRecSignal(GSN_NDB_STTOR, &Trix::execNDB_STTOR); // Forwarded from DICT addRecSignal(GSN_READ_NODESCONF, &Trix::execREAD_NODESCONF); addRecSignal(GSN_READ_NODESREF, &Trix::execREAD_NODESREF); addRecSignal(GSN_NODE_FAILREP, &Trix::execNODE_FAILREP); addRecSignal(GSN_INCL_NODEREQ, &Trix::execINCL_NODEREQ); addRecSignal(GSN_DUMP_STATE_ORD, &Trix::execDUMP_STATE_ORD); // Index build addRecSignal(GSN_BUILDINDXREQ, &Trix::execBUILDINDXREQ); // Dump testing addRecSignal(GSN_BUILDINDXCONF, &Trix::execBUILDINDXCONF); addRecSignal(GSN_BUILDINDXREF, &Trix::execBUILDINDXREF); addRecSignal(GSN_UTIL_PREPARE_CONF, &Trix::execUTIL_PREPARE_CONF); addRecSignal(GSN_UTIL_PREPARE_REF, &Trix::execUTIL_PREPARE_REF); addRecSignal(GSN_UTIL_EXECUTE_CONF, &Trix::execUTIL_EXECUTE_CONF); addRecSignal(GSN_UTIL_EXECUTE_REF, &Trix::execUTIL_EXECUTE_REF); addRecSignal(GSN_UTIL_RELEASE_CONF, &Trix::execUTIL_RELEASE_CONF); addRecSignal(GSN_UTIL_RELEASE_REF, &Trix::execUTIL_RELEASE_REF); // Suma signals addRecSignal(GSN_SUB_CREATE_CONF, &Trix::execSUB_CREATE_CONF); addRecSignal(GSN_SUB_CREATE_REF, &Trix::execSUB_CREATE_REF); addRecSignal(GSN_SUB_REMOVE_CONF, &Trix::execSUB_REMOVE_CONF); addRecSignal(GSN_SUB_REMOVE_REF, &Trix::execSUB_REMOVE_REF); addRecSignal(GSN_SUB_SYNC_CONF, &Trix::execSUB_SYNC_CONF); addRecSignal(GSN_SUB_SYNC_REF, &Trix::execSUB_SYNC_REF); addRecSignal(GSN_SUB_SYNC_CONTINUE_REQ, &Trix::execSUB_SYNC_CONTINUE_REQ); addRecSignal(GSN_SUB_TABLE_DATA, &Trix::execSUB_TABLE_DATA); }
Trpman::Trpman(Block_context & ctx, Uint32 instanceno) : SimulatedBlock(TRPMAN, ctx, instanceno) { BLOCK_CONSTRUCTOR(Trpman); addRecSignal(GSN_CLOSE_COMREQ, &Trpman::execCLOSE_COMREQ); addRecSignal(GSN_CLOSE_COMCONF, &Trpman::execCLOSE_COMCONF); addRecSignal(GSN_OPEN_COMORD, &Trpman::execOPEN_COMORD); addRecSignal(GSN_ENABLE_COMREQ, &Trpman::execENABLE_COMREQ); addRecSignal(GSN_DISCONNECT_REP, &Trpman::execDISCONNECT_REP); addRecSignal(GSN_CONNECT_REP, &Trpman::execCONNECT_REP); addRecSignal(GSN_ROUTE_ORD, &Trpman::execROUTE_ORD); addRecSignal(GSN_NDB_TAMPER, &Trpman::execNDB_TAMPER, true); addRecSignal(GSN_DUMP_STATE_ORD, &Trpman::execDUMP_STATE_ORD); addRecSignal(GSN_DBINFO_SCANREQ, &Trpman::execDBINFO_SCANREQ); }
Dbinfo::Dbinfo(Block_context& ctx) : SimulatedBlock(DBINFO, ctx) { BLOCK_CONSTRUCTOR(Dbinfo); STATIC_ASSERT(sizeof(DbinfoScanCursor) == sizeof(Ndbinfo::ScanCursor)); /* Add Received Signals */ addRecSignal(GSN_STTOR, &Dbinfo::execSTTOR); addRecSignal(GSN_DUMP_STATE_ORD, &Dbinfo::execDUMP_STATE_ORD); addRecSignal(GSN_READ_CONFIG_REQ, &Dbinfo::execREAD_CONFIG_REQ, true); addRecSignal(GSN_DBINFO_SCANREQ, &Dbinfo::execDBINFO_SCANREQ); addRecSignal(GSN_DBINFO_SCANCONF, &Dbinfo::execDBINFO_SCANCONF); addRecSignal(GSN_NODE_FAILREP, &Dbinfo::execNODE_FAILREP); addRecSignal(GSN_INCL_NODEREQ, &Dbinfo::execINCL_NODEREQ); }
Ndbfs::Ndbfs(Block_context& ctx) : SimulatedBlock(NDBFS, ctx), scanningInProgress(false), theLastId(0), theRequestPool(0), m_maxOpenedFiles(0) { BLOCK_CONSTRUCTOR(Ndbfs); // Set received signals addRecSignal(GSN_READ_CONFIG_REQ, &Ndbfs::execREAD_CONFIG_REQ); addRecSignal(GSN_DUMP_STATE_ORD, &Ndbfs::execDUMP_STATE_ORD); addRecSignal(GSN_STTOR, &Ndbfs::execSTTOR); addRecSignal(GSN_FSOPENREQ, &Ndbfs::execFSOPENREQ); addRecSignal(GSN_FSCLOSEREQ, &Ndbfs::execFSCLOSEREQ); addRecSignal(GSN_FSWRITEREQ, &Ndbfs::execFSWRITEREQ); addRecSignal(GSN_FSREADREQ, &Ndbfs::execFSREADREQ); addRecSignal(GSN_FSSYNCREQ, &Ndbfs::execFSSYNCREQ); addRecSignal(GSN_CONTINUEB, &Ndbfs::execCONTINUEB); addRecSignal(GSN_FSAPPENDREQ, &Ndbfs::execFSAPPENDREQ); addRecSignal(GSN_FSREMOVEREQ, &Ndbfs::execFSREMOVEREQ); // Set send signals }
Dbtux::Dbtux(Block_context& ctx, Uint32 instanceNumber) : SimulatedBlock(DBTUX, ctx, instanceNumber), c_tup(0), c_descPageList(RNIL), #ifdef VM_TRACE debugFile(0), debugOut(*new NullOutputStream()), debugFlags(0), #endif c_internalStartPhase(0), c_typeOfStart(NodeState::ST_ILLEGAL_TYPE), c_indexStatAutoUpdate(false), c_indexStatSaveSize(0), c_indexStatSaveScale(0), c_indexStatTriggerPct(0), c_indexStatTriggerScale(0), c_indexStatUpdateDelay(0) { BLOCK_CONSTRUCTOR(Dbtux); // verify size assumptions (also when release-compiled) ndbrequire( (sizeof(TreeEnt) & 0x3) == 0 && (sizeof(TreeNode) & 0x3) == 0 && (sizeof(DescHead) & 0x3) == 0 && (sizeof(KeyType) & 0x3) == 0 ); /* * DbtuxGen.cpp */ addRecSignal(GSN_CONTINUEB, &Dbtux::execCONTINUEB); addRecSignal(GSN_STTOR, &Dbtux::execSTTOR); addRecSignal(GSN_READ_CONFIG_REQ, &Dbtux::execREAD_CONFIG_REQ, true); /* * DbtuxMeta.cpp */ addRecSignal(GSN_CREATE_TAB_REQ, &Dbtux::execCREATE_TAB_REQ); addRecSignal(GSN_TUXFRAGREQ, &Dbtux::execTUXFRAGREQ); addRecSignal(GSN_TUX_ADD_ATTRREQ, &Dbtux::execTUX_ADD_ATTRREQ); addRecSignal(GSN_ALTER_INDX_IMPL_REQ, &Dbtux::execALTER_INDX_IMPL_REQ); addRecSignal(GSN_DROP_TAB_REQ, &Dbtux::execDROP_TAB_REQ); /* * DbtuxMaint.cpp */ addRecSignal(GSN_TUX_MAINT_REQ, &Dbtux::execTUX_MAINT_REQ); /* * DbtuxScan.cpp */ addRecSignal(GSN_ACC_SCANREQ, &Dbtux::execACC_SCANREQ); addRecSignal(GSN_TUX_BOUND_INFO, &Dbtux::execTUX_BOUND_INFO); addRecSignal(GSN_NEXT_SCANREQ, &Dbtux::execNEXT_SCANREQ); addRecSignal(GSN_ACC_CHECK_SCAN, &Dbtux::execACC_CHECK_SCAN); addRecSignal(GSN_ACCKEYCONF, &Dbtux::execACCKEYCONF); addRecSignal(GSN_ACCKEYREF, &Dbtux::execACCKEYREF); addRecSignal(GSN_ACC_ABORTCONF, &Dbtux::execACC_ABORTCONF); /* * DbtuxStat.cpp */ addRecSignal(GSN_READ_PSEUDO_REQ, &Dbtux::execREAD_PSEUDO_REQ); addRecSignal(GSN_INDEX_STAT_REP, &Dbtux::execINDEX_STAT_REP); addRecSignal(GSN_INDEX_STAT_IMPL_REQ, &Dbtux::execINDEX_STAT_IMPL_REQ); /* * DbtuxDebug.cpp */ addRecSignal(GSN_DUMP_STATE_ORD, &Dbtux::execDUMP_STATE_ORD); addRecSignal(GSN_DBINFO_SCANREQ, &Dbtux::execDBINFO_SCANREQ); addRecSignal(GSN_NODE_STATE_REP, &Dbtux::execNODE_STATE_REP, true); addRecSignal(GSN_DROP_FRAG_REQ, &Dbtux::execDROP_FRAG_REQ); }
Cmvmi::Cmvmi(Block_context& ctx) : SimulatedBlock(CMVMI, ctx) ,subscribers(subscriberPool) { BLOCK_CONSTRUCTOR(Cmvmi); Uint32 long_sig_buffer_size; const ndb_mgm_configuration_iterator * p = m_ctx.m_config.getOwnConfigIterator(); ndbrequire(p != 0); ndb_mgm_get_int_parameter(p, CFG_DB_LONG_SIGNAL_BUFFER, &long_sig_buffer_size); long_sig_buffer_size= long_sig_buffer_size / 256; g_sectionSegmentPool.setSize(long_sig_buffer_size, false,true,true,CFG_DB_LONG_SIGNAL_BUFFER); // Add received signals addRecSignal(GSN_CONNECT_REP, &Cmvmi::execCONNECT_REP); addRecSignal(GSN_DISCONNECT_REP, &Cmvmi::execDISCONNECT_REP); addRecSignal(GSN_NDB_TAMPER, &Cmvmi::execNDB_TAMPER, true); addRecSignal(GSN_SET_LOGLEVELORD, &Cmvmi::execSET_LOGLEVELORD); addRecSignal(GSN_EVENT_REP, &Cmvmi::execEVENT_REP); addRecSignal(GSN_STTOR, &Cmvmi::execSTTOR); addRecSignal(GSN_READ_CONFIG_REQ, &Cmvmi::execREAD_CONFIG_REQ); addRecSignal(GSN_CLOSE_COMREQ, &Cmvmi::execCLOSE_COMREQ); addRecSignal(GSN_ENABLE_COMORD, &Cmvmi::execENABLE_COMORD); addRecSignal(GSN_OPEN_COMREQ, &Cmvmi::execOPEN_COMREQ); addRecSignal(GSN_TEST_ORD, &Cmvmi::execTEST_ORD); addRecSignal(GSN_TAMPER_ORD, &Cmvmi::execTAMPER_ORD); addRecSignal(GSN_STOP_ORD, &Cmvmi::execSTOP_ORD); addRecSignal(GSN_START_ORD, &Cmvmi::execSTART_ORD); addRecSignal(GSN_EVENT_SUBSCRIBE_REQ, &Cmvmi::execEVENT_SUBSCRIBE_REQ); addRecSignal(GSN_DUMP_STATE_ORD, &Cmvmi::execDUMP_STATE_ORD); addRecSignal(GSN_TESTSIG, &Cmvmi::execTESTSIG); addRecSignal(GSN_NODE_START_REP, &Cmvmi::execNODE_START_REP, true); subscriberPool.setSize(5); const ndb_mgm_configuration_iterator * db = m_ctx.m_config.getOwnConfigIterator(); for(unsigned j = 0; j<LogLevel::LOGLEVEL_CATEGORIES; j++){ Uint32 logLevel; if(!ndb_mgm_get_int_parameter(db, CFG_MIN_LOGLEVEL+j, &logLevel)){ clogLevel.setLogLevel((LogLevel::EventCategory)j, logLevel); } } ndb_mgm_configuration_iterator * iter = m_ctx.m_config.getClusterConfigIterator(); for(ndb_mgm_first(iter); ndb_mgm_valid(iter); ndb_mgm_next(iter)){ jam(); Uint32 nodeId; Uint32 nodeType; ndbrequire(!ndb_mgm_get_int_parameter(iter,CFG_NODE_ID, &nodeId)); ndbrequire(!ndb_mgm_get_int_parameter(iter,CFG_TYPE_OF_SECTION,&nodeType)); switch(nodeType){ case NodeInfo::DB: c_dbNodes.set(nodeId); break; case NodeInfo::API: case NodeInfo::MGM: break; default: ndbrequire(false); } setNodeInfo(nodeId).m_type = nodeType; } setNodeInfo(getOwnNodeId()).m_connected = true; setNodeInfo(getOwnNodeId()).m_version = ndbGetOwnVersion(); }
Dbdih::Dbdih(Block_context& ctx): SimulatedBlock(DBDIH, ctx), c_queued_lcp_frag_rep(c_replicaRecordPool), c_activeTakeOverList(c_takeOverPool), c_queued_for_start_takeover_list(c_takeOverPool), c_queued_for_commit_takeover_list(c_takeOverPool), c_active_copy_threads_list(c_takeOverPool), c_completed_copy_threads_list(c_takeOverPool), c_masterActiveTakeOverList(c_takeOverPool), c_waitGCPProxyList(waitGCPProxyPool), c_waitGCPMasterList(waitGCPMasterPool), c_waitEpochMasterList(waitGCPMasterPool) { BLOCK_CONSTRUCTOR(Dbdih); c_mainTakeOverPtr.i = RNIL; c_mainTakeOverPtr.p = 0; c_activeThreadTakeOverPtr.i = RNIL; c_activeThreadTakeOverPtr.p = 0; /* Node Recovery Status Module signals */ addRecSignal(GSN_ALLOC_NODEID_REP, &Dbdih::execALLOC_NODEID_REP); addRecSignal(GSN_INCL_NODE_HB_PROTOCOL_REP, &Dbdih::execINCL_NODE_HB_PROTOCOL_REP); addRecSignal(GSN_NDBCNTR_START_WAIT_REP, &Dbdih::execNDBCNTR_START_WAIT_REP); addRecSignal(GSN_NDBCNTR_STARTED_REP, &Dbdih::execNDBCNTR_STARTED_REP); addRecSignal(GSN_SUMA_HANDOVER_COMPLETE_REP, &Dbdih::execSUMA_HANDOVER_COMPLETE_REP); addRecSignal(GSN_END_TOREP, &Dbdih::execEND_TOREP); addRecSignal(GSN_LOCAL_RECOVERY_COMP_REP, &Dbdih::execLOCAL_RECOVERY_COMP_REP); addRecSignal(GSN_DBINFO_SCANREQ, &Dbdih::execDBINFO_SCANREQ); /* End Node Recovery Status Module signals */ /* LCP Pause module */ addRecSignal(GSN_PAUSE_LCP_REQ, &Dbdih::execPAUSE_LCP_REQ); addRecSignal(GSN_PAUSE_LCP_CONF, &Dbdih::execPAUSE_LCP_CONF); addRecSignal(GSN_FLUSH_LCP_REP_REQ, &Dbdih::execFLUSH_LCP_REP_REQ); addRecSignal(GSN_FLUSH_LCP_REP_CONF, &Dbdih::execFLUSH_LCP_REP_CONF); /* End LCP Pause module */ addRecSignal(GSN_DUMP_STATE_ORD, &Dbdih::execDUMP_STATE_ORD); addRecSignal(GSN_NDB_TAMPER, &Dbdih::execNDB_TAMPER, true); addRecSignal(GSN_DEBUG_SIG, &Dbdih::execDEBUG_SIG); addRecSignal(GSN_MASTER_GCPREQ, &Dbdih::execMASTER_GCPREQ); addRecSignal(GSN_MASTER_GCPREF, &Dbdih::execMASTER_GCPREF); addRecSignal(GSN_MASTER_GCPCONF, &Dbdih::execMASTER_GCPCONF); addRecSignal(GSN_EMPTY_LCP_CONF, &Dbdih::execEMPTY_LCP_CONF); addRecSignal(GSN_EMPTY_LCP_REP, &Dbdih::execEMPTY_LCP_REP); addRecSignal(GSN_MASTER_LCPREQ, &Dbdih::execMASTER_LCPREQ); addRecSignal(GSN_MASTER_LCPREF, &Dbdih::execMASTER_LCPREF); addRecSignal(GSN_MASTER_LCPCONF, &Dbdih::execMASTER_LCPCONF); addRecSignal(GSN_NF_COMPLETEREP, &Dbdih::execNF_COMPLETEREP); addRecSignal(GSN_START_PERMREQ, &Dbdih::execSTART_PERMREQ); addRecSignal(GSN_START_PERMCONF, &Dbdih::execSTART_PERMCONF); addRecSignal(GSN_START_PERMREF, &Dbdih::execSTART_PERMREF); addRecSignal(GSN_INCL_NODEREQ, &Dbdih::execINCL_NODEREQ); addRecSignal(GSN_INCL_NODECONF, &Dbdih::execINCL_NODECONF); addRecSignal(GSN_START_TOREQ, &Dbdih::execSTART_TOREQ); addRecSignal(GSN_START_TOREF, &Dbdih::execSTART_TOREQ); addRecSignal(GSN_START_TOCONF, &Dbdih::execSTART_TOCONF); addRecSignal(GSN_UPDATE_TOREQ, &Dbdih::execUPDATE_TOREQ); addRecSignal(GSN_UPDATE_TOREF, &Dbdih::execUPDATE_TOREF); addRecSignal(GSN_UPDATE_TOCONF, &Dbdih::execUPDATE_TOCONF); addRecSignal(GSN_END_TOREQ, &Dbdih::execEND_TOREQ); addRecSignal(GSN_END_TOREF, &Dbdih::execEND_TOREF); addRecSignal(GSN_END_TOCONF, &Dbdih::execEND_TOCONF); addRecSignal(GSN_START_MEREQ, &Dbdih::execSTART_MEREQ); addRecSignal(GSN_START_MECONF, &Dbdih::execSTART_MECONF); addRecSignal(GSN_START_MEREF, &Dbdih::execSTART_MEREF); addRecSignal(GSN_START_COPYREQ, &Dbdih::execSTART_COPYREQ); addRecSignal(GSN_START_COPYCONF, &Dbdih::execSTART_COPYCONF); addRecSignal(GSN_START_COPYREF, &Dbdih::execSTART_COPYREF); addRecSignal(GSN_UPDATE_FRAG_STATEREQ, &Dbdih::execUPDATE_FRAG_STATEREQ); addRecSignal(GSN_UPDATE_FRAG_STATECONF, &Dbdih::execUPDATE_FRAG_STATECONF); addRecSignal(GSN_DIVERIFYREQ, &Dbdih::execDIVERIFYREQ); addRecSignal(GSN_GCP_SAVEREQ, &Dbdih::execGCP_SAVEREQ); addRecSignal(GSN_GCP_SAVEREF, &Dbdih::execGCP_SAVEREF); addRecSignal(GSN_GCP_SAVECONF, &Dbdih::execGCP_SAVECONF); addRecSignal(GSN_GCP_PREPARECONF, &Dbdih::execGCP_PREPARECONF); addRecSignal(GSN_GCP_PREPARE, &Dbdih::execGCP_PREPARE); addRecSignal(GSN_GCP_NODEFINISH, &Dbdih::execGCP_NODEFINISH); addRecSignal(GSN_GCP_COMMIT, &Dbdih::execGCP_COMMIT); addRecSignal(GSN_SUB_GCP_COMPLETE_REP, &Dbdih::execSUB_GCP_COMPLETE_REP); addRecSignal(GSN_SUB_GCP_COMPLETE_ACK, &Dbdih::execSUB_GCP_COMPLETE_ACK); addRecSignal(GSN_DIHNDBTAMPER, &Dbdih::execDIHNDBTAMPER); addRecSignal(GSN_CONTINUEB, &Dbdih::execCONTINUEB); addRecSignal(GSN_COPY_GCIREQ, &Dbdih::execCOPY_GCIREQ); addRecSignal(GSN_COPY_GCICONF, &Dbdih::execCOPY_GCICONF); addRecSignal(GSN_COPY_TABREQ, &Dbdih::execCOPY_TABREQ); addRecSignal(GSN_COPY_TABCONF, &Dbdih::execCOPY_TABCONF); addRecSignal(GSN_TCGETOPSIZECONF, &Dbdih::execTCGETOPSIZECONF); addRecSignal(GSN_TC_CLOPSIZECONF, &Dbdih::execTC_CLOPSIZECONF); addRecSignal(GSN_LCP_COMPLETE_REP, &Dbdih::execLCP_COMPLETE_REP); addRecSignal(GSN_LCP_FRAG_REP, &Dbdih::execLCP_FRAG_REP); addRecSignal(GSN_START_LCP_REQ, &Dbdih::execSTART_LCP_REQ); addRecSignal(GSN_START_LCP_CONF, &Dbdih::execSTART_LCP_CONF); addRecSignal(GSN_READ_CONFIG_REQ, &Dbdih::execREAD_CONFIG_REQ, true); addRecSignal(GSN_UNBLO_DICTCONF, &Dbdih::execUNBLO_DICTCONF); addRecSignal(GSN_COPY_ACTIVECONF, &Dbdih::execCOPY_ACTIVECONF); addRecSignal(GSN_TAB_COMMITREQ, &Dbdih::execTAB_COMMITREQ); addRecSignal(GSN_NODE_FAILREP, &Dbdih::execNODE_FAILREP); addRecSignal(GSN_COPY_FRAGCONF, &Dbdih::execCOPY_FRAGCONF); addRecSignal(GSN_COPY_FRAGREF, &Dbdih::execCOPY_FRAGREF); addRecSignal(GSN_DIADDTABREQ, &Dbdih::execDIADDTABREQ); addRecSignal(GSN_DIGETNODESREQ, &Dbdih::execDIGETNODESREQ); addRecSignal(GSN_STTOR, &Dbdih::execSTTOR); addRecSignal(GSN_DIH_SCAN_TAB_REQ, &Dbdih::execDIH_SCAN_TAB_REQ); addRecSignal(GSN_DIH_SCAN_GET_NODES_REQ, &Dbdih::execDIH_SCAN_GET_NODES_REQ); addRecSignal(GSN_DIH_SCAN_TAB_COMPLETE_REP, &Dbdih::execDIH_SCAN_TAB_COMPLETE_REP); addRecSignal(GSN_GCP_TCFINISHED, &Dbdih::execGCP_TCFINISHED); addRecSignal(GSN_READ_NODESCONF, &Dbdih::execREAD_NODESCONF); addRecSignal(GSN_NDB_STTOR, &Dbdih::execNDB_STTOR); addRecSignal(GSN_DICTSTARTCONF, &Dbdih::execDICTSTARTCONF); addRecSignal(GSN_NDB_STARTREQ, &Dbdih::execNDB_STARTREQ); addRecSignal(GSN_GETGCIREQ, &Dbdih::execGETGCIREQ); addRecSignal(GSN_DIH_RESTARTREQ, &Dbdih::execDIH_RESTARTREQ); addRecSignal(GSN_START_RECCONF, &Dbdih::execSTART_RECCONF); addRecSignal(GSN_START_FRAGCONF, &Dbdih::execSTART_FRAGCONF); addRecSignal(GSN_ADD_FRAGCONF, &Dbdih::execADD_FRAGCONF); addRecSignal(GSN_ADD_FRAGREF, &Dbdih::execADD_FRAGREF); addRecSignal(GSN_DROP_FRAG_REF, &Dbdih::execDROP_FRAG_REF); addRecSignal(GSN_DROP_FRAG_CONF, &Dbdih::execDROP_FRAG_CONF); addRecSignal(GSN_FSOPENCONF, &Dbdih::execFSOPENCONF); addRecSignal(GSN_FSOPENREF, &Dbdih::execFSOPENREF, true); addRecSignal(GSN_FSCLOSECONF, &Dbdih::execFSCLOSECONF); addRecSignal(GSN_FSCLOSEREF, &Dbdih::execFSCLOSEREF, true); addRecSignal(GSN_FSREADCONF, &Dbdih::execFSREADCONF); addRecSignal(GSN_FSREADREF, &Dbdih::execFSREADREF, true); addRecSignal(GSN_FSWRITECONF, &Dbdih::execFSWRITECONF); addRecSignal(GSN_FSWRITEREF, &Dbdih::execFSWRITEREF, true); addRecSignal(GSN_START_INFOREQ, &Dbdih::execSTART_INFOREQ); addRecSignal(GSN_START_INFOREF, &Dbdih::execSTART_INFOREF); addRecSignal(GSN_START_INFOCONF, &Dbdih::execSTART_INFOCONF); addRecSignal(GSN_CHECKNODEGROUPSREQ, &Dbdih::execCHECKNODEGROUPSREQ); addRecSignal(GSN_CHECK_NODE_RESTARTREQ, &Dbdih::execCHECK_NODE_RESTARTREQ); addRecSignal(GSN_BLOCK_COMMIT_ORD, &Dbdih::execBLOCK_COMMIT_ORD); addRecSignal(GSN_UNBLOCK_COMMIT_ORD, &Dbdih::execUNBLOCK_COMMIT_ORD); addRecSignal(GSN_DIH_SWITCH_REPLICA_REQ, &Dbdih::execDIH_SWITCH_REPLICA_REQ); addRecSignal(GSN_DIH_SWITCH_REPLICA_REF, &Dbdih::execDIH_SWITCH_REPLICA_REF); addRecSignal(GSN_DIH_SWITCH_REPLICA_CONF, &Dbdih::execDIH_SWITCH_REPLICA_CONF); addRecSignal(GSN_STOP_PERM_REQ, &Dbdih::execSTOP_PERM_REQ); addRecSignal(GSN_STOP_PERM_REF, &Dbdih::execSTOP_PERM_REF); addRecSignal(GSN_STOP_PERM_CONF, &Dbdih::execSTOP_PERM_CONF); addRecSignal(GSN_STOP_ME_REQ, &Dbdih::execSTOP_ME_REQ); addRecSignal(GSN_STOP_ME_REF, &Dbdih::execSTOP_ME_REF); addRecSignal(GSN_STOP_ME_CONF, &Dbdih::execSTOP_ME_CONF); addRecSignal(GSN_WAIT_GCP_REQ, &Dbdih::execWAIT_GCP_REQ); addRecSignal(GSN_WAIT_GCP_REF, &Dbdih::execWAIT_GCP_REF); addRecSignal(GSN_WAIT_GCP_CONF, &Dbdih::execWAIT_GCP_CONF); addRecSignal(GSN_PREP_DROP_TAB_REQ, &Dbdih::execPREP_DROP_TAB_REQ); addRecSignal(GSN_DROP_TAB_REQ, &Dbdih::execDROP_TAB_REQ); addRecSignal(GSN_ALTER_TAB_REQ, &Dbdih::execALTER_TAB_REQ); addRecSignal(GSN_CREATE_FRAGMENTATION_REQ, &Dbdih::execCREATE_FRAGMENTATION_REQ); addRecSignal(GSN_DICT_LOCK_CONF, &Dbdih::execDICT_LOCK_CONF); addRecSignal(GSN_DICT_LOCK_REF, &Dbdih::execDICT_LOCK_REF); addRecSignal(GSN_NODE_START_REP, &Dbdih::execNODE_START_REP, true); addRecSignal(GSN_START_FRAGREF, &Dbdih::execSTART_FRAGREF); addRecSignal(GSN_PREPARE_COPY_FRAG_REF, &Dbdih::execPREPARE_COPY_FRAG_REF); addRecSignal(GSN_PREPARE_COPY_FRAG_CONF, &Dbdih::execPREPARE_COPY_FRAG_CONF); addRecSignal(GSN_UPGRADE_PROTOCOL_ORD, &Dbdih::execUPGRADE_PROTOCOL_ORD); addRecSignal(GSN_CREATE_NODEGROUP_IMPL_REQ, &Dbdih::execCREATE_NODEGROUP_IMPL_REQ); addRecSignal(GSN_DROP_NODEGROUP_IMPL_REQ, &Dbdih::execDROP_NODEGROUP_IMPL_REQ); addRecSignal(GSN_DIH_GET_TABINFO_REQ, &Dbdih::execDIH_GET_TABINFO_REQ); #if 0 addRecSignal(GSN_DIH_GET_TABINFO_REF, &Dbdih::execDIH_GET_TABINFO_REF); addRecSignal(GSN_DIH_GET_TABINFO_CONF, &Dbdih::execDIH_GET_TABINFO_CONF); #endif connectRecord = 0; fileRecord = 0; fragmentstore = 0; pageRecord = 0; tabRecord = 0; createReplicaRecord = 0; nodeGroupRecord = 0; nodeRecord = 0; c_nextNodeGroup = 0; c_fragments_per_node_ = 0; bzero(c_node_groups, sizeof(c_node_groups)); if (globalData.ndbMtTcThreads == 0) { c_diverify_queue_cnt = 1; } else { c_diverify_queue_cnt = globalData.ndbMtTcThreads; } }//Dbdih::Dbdih()
Dbacc::Dbacc(Block_context& ctx, Uint32 instanceNumber): SimulatedBlock(DBACC, ctx, instanceNumber), c_tup(0) { BLOCK_CONSTRUCTOR(Dbacc); // Transit signals addRecSignal(GSN_DUMP_STATE_ORD, &Dbacc::execDUMP_STATE_ORD); addRecSignal(GSN_DEBUG_SIG, &Dbacc::execDEBUG_SIG); addRecSignal(GSN_CONTINUEB, &Dbacc::execCONTINUEB); addRecSignal(GSN_ACC_CHECK_SCAN, &Dbacc::execACC_CHECK_SCAN); addRecSignal(GSN_EXPANDCHECK2, &Dbacc::execEXPANDCHECK2); addRecSignal(GSN_SHRINKCHECK2, &Dbacc::execSHRINKCHECK2); addRecSignal(GSN_READ_PSEUDO_REQ, &Dbacc::execREAD_PSEUDO_REQ); // Received signals addRecSignal(GSN_STTOR, &Dbacc::execSTTOR); addRecSignal(GSN_ACCKEYREQ, &Dbacc::execACCKEYREQ); addRecSignal(GSN_ACCSEIZEREQ, &Dbacc::execACCSEIZEREQ); addRecSignal(GSN_ACCFRAGREQ, &Dbacc::execACCFRAGREQ); addRecSignal(GSN_NEXT_SCANREQ, &Dbacc::execNEXT_SCANREQ); addRecSignal(GSN_ACC_ABORTREQ, &Dbacc::execACC_ABORTREQ); addRecSignal(GSN_ACC_SCANREQ, &Dbacc::execACC_SCANREQ); addRecSignal(GSN_ACCMINUPDATE, &Dbacc::execACCMINUPDATE); addRecSignal(GSN_ACC_COMMITREQ, &Dbacc::execACC_COMMITREQ); addRecSignal(GSN_ACC_TO_REQ, &Dbacc::execACC_TO_REQ); addRecSignal(GSN_ACC_LOCKREQ, &Dbacc::execACC_LOCKREQ); addRecSignal(GSN_NDB_STTOR, &Dbacc::execNDB_STTOR); addRecSignal(GSN_DROP_TAB_REQ, &Dbacc::execDROP_TAB_REQ); addRecSignal(GSN_READ_CONFIG_REQ, &Dbacc::execREAD_CONFIG_REQ, true); addRecSignal(GSN_DROP_FRAG_REQ, &Dbacc::execDROP_FRAG_REQ); addRecSignal(GSN_DBINFO_SCANREQ, &Dbacc::execDBINFO_SCANREQ); initData(); #ifdef VM_TRACE { void* tmp[] = { &expDirRangePtr, &gnsDirRangePtr, &newDirRangePtr, &rdDirRangePtr, &nciOverflowrangeptr, &expDirptr, &rdDirptr, &sdDirptr, &nciOverflowDirptr, &fragrecptr, &operationRecPtr, &idrOperationRecPtr, &mlpqOperPtr, &queOperPtr, &readWriteOpPtr, &iopOverflowRecPtr, &tfoOverflowRecPtr, &porOverflowRecPtr, &priOverflowRecPtr, &rorOverflowRecPtr, &sorOverflowRecPtr, &troOverflowRecPtr, &ancPageptr, &colPageptr, &ccoPageptr, &datapageptr, &delPageptr, &excPageptr, &expPageptr, &gdiPageptr, &gePageptr, &gflPageptr, &idrPageptr, &ilcPageptr, &inpPageptr, &iopPageptr, &lastPageptr, &lastPrevpageptr, &lcnPageptr, &lcnCopyPageptr, &lupPageptr, &ciPageidptr, &gsePageidptr, &isoPageptr, &nciPageidptr, &rsbPageidptr, &rscPageidptr, &slPageidptr, &sscPageidptr, &rlPageptr, &rlpPageptr, &ropPageptr, &rpPageptr, &slPageptr, &spPageptr, &scanPtr, &tabptr }; init_globals_list(tmp, sizeof(tmp)/sizeof(tmp[0])); } #endif }//Dbacc::Dbacc()
Dbtc::Dbtc(Block_context& ctx, Uint32 instanceNo): SimulatedBlock(DBTC, ctx, instanceNo), c_theDefinedTriggers(c_theDefinedTriggerPool), c_firedTriggerHash(c_theFiredTriggerPool), c_maxNumberOfDefinedTriggers(0), c_maxNumberOfFiredTriggers(0), c_theIndexes(c_theIndexPool), c_maxNumberOfIndexes(0), c_maxNumberOfIndexOperations(0), c_fk_hash(c_fk_pool), m_commitAckMarkerHash(m_commitAckMarkerPool) { BLOCK_CONSTRUCTOR(Dbtc); const ndb_mgm_configuration_iterator * p = ctx.m_config.getOwnConfigIterator(); ndbrequire(p != 0); Uint32 transactionBufferMemory = 0; Uint32 maxNoOfIndexes = 0, maxNoOfConcurrentIndexOperations = 0; Uint32 maxNoOfTriggers = 0, maxNoOfFiredTriggers = 0; ndb_mgm_get_int_parameter(p, CFG_DB_TRANS_BUFFER_MEM, &transactionBufferMemory); ndb_mgm_get_int_parameter(p, CFG_DICT_TABLE, &maxNoOfIndexes); ndb_mgm_get_int_parameter(p, CFG_DB_NO_INDEX_OPS, &maxNoOfConcurrentIndexOperations); ndb_mgm_get_int_parameter(p, CFG_DB_NO_TRIGGERS, &maxNoOfTriggers); ndb_mgm_get_int_parameter(p, CFG_DB_NO_TRIGGER_OPS, &maxNoOfFiredTriggers); c_transactionBufferSpace = transactionBufferMemory / AttributeBuffer::getSegmentSize(); c_maxNumberOfIndexes = maxNoOfIndexes; c_maxNumberOfIndexOperations = maxNoOfConcurrentIndexOperations; c_maxNumberOfDefinedTriggers = maxNoOfTriggers; c_maxNumberOfFiredTriggers = maxNoOfFiredTriggers; // Transit signals addRecSignal(GSN_PACKED_SIGNAL, &Dbtc::execPACKED_SIGNAL); addRecSignal(GSN_ABORTED, &Dbtc::execABORTED); addRecSignal(GSN_ATTRINFO, &Dbtc::execATTRINFO); addRecSignal(GSN_CONTINUEB, &Dbtc::execCONTINUEB); addRecSignal(GSN_KEYINFO, &Dbtc::execKEYINFO); addRecSignal(GSN_SCAN_NEXTREQ, &Dbtc::execSCAN_NEXTREQ); addRecSignal(GSN_TAKE_OVERTCREQ, &Dbtc::execTAKE_OVERTCREQ); addRecSignal(GSN_TAKE_OVERTCCONF, &Dbtc::execTAKE_OVERTCCONF); addRecSignal(GSN_LQHKEYREF, &Dbtc::execLQHKEYREF); // Received signals addRecSignal(GSN_DUMP_STATE_ORD, &Dbtc::execDUMP_STATE_ORD); addRecSignal(GSN_DBINFO_SCANREQ, &Dbtc::execDBINFO_SCANREQ); addRecSignal(GSN_SEND_PACKED, &Dbtc::execSEND_PACKED, true); addRecSignal(GSN_SCAN_HBREP, &Dbtc::execSCAN_HBREP); addRecSignal(GSN_COMPLETED, &Dbtc::execCOMPLETED); addRecSignal(GSN_COMMITTED, &Dbtc::execCOMMITTED); addRecSignal(GSN_DIH_SCAN_GET_NODES_CONF, &Dbtc::execDIH_SCAN_GET_NODES_CONF); addRecSignal(GSN_DIH_SCAN_GET_NODES_REF, &Dbtc::execDIH_SCAN_GET_NODES_REF); addRecSignal(GSN_DIVERIFYCONF, &Dbtc::execDIVERIFYCONF); addRecSignal(GSN_DIH_SCAN_TAB_CONF, &Dbtc::execDIH_SCAN_TAB_CONF); addRecSignal(GSN_DIH_SCAN_TAB_REF, &Dbtc::execDIH_SCAN_TAB_REF); addRecSignal(GSN_GCP_NOMORETRANS, &Dbtc::execGCP_NOMORETRANS); addRecSignal(GSN_LQHKEYCONF, &Dbtc::execLQHKEYCONF); addRecSignal(GSN_NDB_STTOR, &Dbtc::execNDB_STTOR); addRecSignal(GSN_READ_NODESCONF, &Dbtc::execREAD_NODESCONF); addRecSignal(GSN_READ_NODESREF, &Dbtc::execREAD_NODESREF); addRecSignal(GSN_STTOR, &Dbtc::execSTTOR); addRecSignal(GSN_TC_COMMITREQ, &Dbtc::execTC_COMMITREQ); addRecSignal(GSN_TC_CLOPSIZEREQ, &Dbtc::execTC_CLOPSIZEREQ); addRecSignal(GSN_TCGETOPSIZEREQ, &Dbtc::execTCGETOPSIZEREQ); addRecSignal(GSN_TCKEYREQ, &Dbtc::execTCKEYREQ); addRecSignal(GSN_TCRELEASEREQ, &Dbtc::execTCRELEASEREQ); addRecSignal(GSN_TCSEIZEREQ, &Dbtc::execTCSEIZEREQ); addRecSignal(GSN_TCROLLBACKREQ, &Dbtc::execTCROLLBACKREQ); addRecSignal(GSN_TC_HBREP, &Dbtc::execTC_HBREP); addRecSignal(GSN_TC_SCHVERREQ, &Dbtc::execTC_SCHVERREQ); addRecSignal(GSN_TAB_COMMITREQ, &Dbtc::execTAB_COMMITREQ); addRecSignal(GSN_SCAN_TABREQ, &Dbtc::execSCAN_TABREQ); addRecSignal(GSN_SCAN_FRAGCONF, &Dbtc::execSCAN_FRAGCONF); addRecSignal(GSN_SCAN_FRAGREF, &Dbtc::execSCAN_FRAGREF); addRecSignal(GSN_READ_CONFIG_REQ, &Dbtc::execREAD_CONFIG_REQ, true); addRecSignal(GSN_LQH_TRANSCONF, &Dbtc::execLQH_TRANSCONF); addRecSignal(GSN_COMPLETECONF, &Dbtc::execCOMPLETECONF); addRecSignal(GSN_COMMITCONF, &Dbtc::execCOMMITCONF); addRecSignal(GSN_ABORTCONF, &Dbtc::execABORTCONF); addRecSignal(GSN_NODE_FAILREP, &Dbtc::execNODE_FAILREP); addRecSignal(GSN_INCL_NODEREQ, &Dbtc::execINCL_NODEREQ); addRecSignal(GSN_TIME_SIGNAL, &Dbtc::execTIME_SIGNAL); addRecSignal(GSN_API_FAILREQ, &Dbtc::execAPI_FAILREQ); addRecSignal(GSN_TC_COMMIT_ACK, &Dbtc::execTC_COMMIT_ACK); addRecSignal(GSN_ABORT_ALL_REQ, &Dbtc::execABORT_ALL_REQ); addRecSignal(GSN_CREATE_TRIG_IMPL_REQ, &Dbtc::execCREATE_TRIG_IMPL_REQ); addRecSignal(GSN_DROP_TRIG_IMPL_REQ, &Dbtc::execDROP_TRIG_IMPL_REQ); addRecSignal(GSN_FIRE_TRIG_ORD, &Dbtc::execFIRE_TRIG_ORD); addRecSignal(GSN_TRIG_ATTRINFO, &Dbtc::execTRIG_ATTRINFO); addRecSignal(GSN_CREATE_INDX_IMPL_REQ, &Dbtc::execCREATE_INDX_IMPL_REQ); addRecSignal(GSN_DROP_INDX_IMPL_REQ, &Dbtc::execDROP_INDX_IMPL_REQ); addRecSignal(GSN_TCINDXREQ, &Dbtc::execTCINDXREQ); addRecSignal(GSN_INDXKEYINFO, &Dbtc::execINDXKEYINFO); addRecSignal(GSN_INDXATTRINFO, &Dbtc::execINDXATTRINFO); addRecSignal(GSN_ALTER_INDX_IMPL_REQ, &Dbtc::execALTER_INDX_IMPL_REQ); addRecSignal(GSN_TRANSID_AI_R, &Dbtc::execTRANSID_AI_R); addRecSignal(GSN_KEYINFO20_R, &Dbtc::execKEYINFO20_R); addRecSignal(GSN_SIGNAL_DROPPED_REP, &Dbtc::execSIGNAL_DROPPED_REP, true); // Index table lookup addRecSignal(GSN_TCKEYCONF, &Dbtc::execTCKEYCONF); addRecSignal(GSN_TCKEYREF, &Dbtc::execTCKEYREF); addRecSignal(GSN_TRANSID_AI, &Dbtc::execTRANSID_AI); addRecSignal(GSN_TCROLLBACKREP, &Dbtc::execTCROLLBACKREP); //addRecSignal(GSN_CREATE_TAB_REQ, &Dbtc::execCREATE_TAB_REQ); addRecSignal(GSN_DROP_TAB_REQ, &Dbtc::execDROP_TAB_REQ); addRecSignal(GSN_PREP_DROP_TAB_REQ, &Dbtc::execPREP_DROP_TAB_REQ); addRecSignal(GSN_ALTER_TAB_REQ, &Dbtc::execALTER_TAB_REQ); addRecSignal(GSN_ROUTE_ORD, &Dbtc::execROUTE_ORD); addRecSignal(GSN_TCKEY_FAILREFCONF_R, &Dbtc::execTCKEY_FAILREFCONF_R); addRecSignal(GSN_FIRE_TRIG_REF, &Dbtc::execFIRE_TRIG_REF); addRecSignal(GSN_FIRE_TRIG_CONF, &Dbtc::execFIRE_TRIG_CONF); addRecSignal(GSN_CREATE_FK_IMPL_REQ, &Dbtc::execCREATE_FK_IMPL_REQ); addRecSignal(GSN_DROP_FK_IMPL_REQ, &Dbtc::execDROP_FK_IMPL_REQ); addRecSignal(GSN_SCAN_TABREF, &Dbtc::execSCAN_TABREF); addRecSignal(GSN_SCAN_TABCONF, &Dbtc::execSCAN_TABCONF); addRecSignal(GSN_KEYINFO20, &Dbtc::execKEYINFO20); cacheRecord = 0; apiConnectRecord = 0; tcConnectRecord = 0; hostRecord = 0; tableRecord = 0; scanRecord = 0; gcpRecord = 0; tcFailRecord = 0; c_apiConTimer = 0; c_apiConTimer_line = 0; cpackedListIndex = 0; c_ongoing_take_over_cnt = 0; #ifdef VM_TRACE { void* tmp[] = { &apiConnectptr, &tcConnectptr, &cachePtr, &hostptr, &timeOutptr, &scanFragptr, &tcNodeFailptr }; init_globals_list(tmp, sizeof(tmp)/sizeof(tmp[0])); } #endif cacheRecord = 0; apiConnectRecord = 0; tcConnectRecord = 0; hostRecord = 0; tableRecord = 0; scanRecord = 0; gcpRecord = 0; tcFailRecord = 0; c_apiConTimer = 0; c_apiConTimer_line = 0; csystemStart = SSS_FALSE; m_deferred_enabled = ~Uint32(0); m_max_writes_per_trans = ~Uint32(0); }//Dbtc::Dbtc()
Qmgr::Qmgr(Block_context& ctx) : SimulatedBlock(QMGR, ctx) { BLOCK_CONSTRUCTOR(Qmgr); // Transit signals addRecSignal(GSN_DUMP_STATE_ORD, &Qmgr::execDUMP_STATE_ORD); addRecSignal(GSN_STOP_REQ, &Qmgr::execSTOP_REQ); addRecSignal(GSN_DEBUG_SIG, &Qmgr::execDEBUG_SIG); addRecSignal(GSN_CONTINUEB, &Qmgr::execCONTINUEB); addRecSignal(GSN_CM_HEARTBEAT, &Qmgr::execCM_HEARTBEAT); addRecSignal(GSN_CM_ADD, &Qmgr::execCM_ADD); addRecSignal(GSN_CM_ACKADD, &Qmgr::execCM_ACKADD); addRecSignal(GSN_CM_REGREQ, &Qmgr::execCM_REGREQ); addRecSignal(GSN_CM_REGCONF, &Qmgr::execCM_REGCONF); addRecSignal(GSN_CM_REGREF, &Qmgr::execCM_REGREF); addRecSignal(GSN_CM_NODEINFOREQ, &Qmgr::execCM_NODEINFOREQ); addRecSignal(GSN_CM_NODEINFOCONF, &Qmgr::execCM_NODEINFOCONF); addRecSignal(GSN_CM_NODEINFOREF, &Qmgr::execCM_NODEINFOREF); addRecSignal(GSN_PREP_FAILREQ, &Qmgr::execPREP_FAILREQ); addRecSignal(GSN_PREP_FAILCONF, &Qmgr::execPREP_FAILCONF); addRecSignal(GSN_PREP_FAILREF, &Qmgr::execPREP_FAILREF); addRecSignal(GSN_COMMIT_FAILREQ, &Qmgr::execCOMMIT_FAILREQ); addRecSignal(GSN_COMMIT_FAILCONF, &Qmgr::execCOMMIT_FAILCONF); addRecSignal(GSN_FAIL_REP, &Qmgr::execFAIL_REP); addRecSignal(GSN_PRES_TOREQ, &Qmgr::execPRES_TOREQ); addRecSignal(GSN_PRES_TOCONF, &Qmgr::execPRES_TOCONF); // Received signals addRecSignal(GSN_CONNECT_REP, &Qmgr::execCONNECT_REP); addRecSignal(GSN_NDB_FAILCONF, &Qmgr::execNDB_FAILCONF); addRecSignal(GSN_NF_COMPLETEREP, &Qmgr::execNF_COMPLETEREP); addRecSignal(GSN_READ_CONFIG_REQ, &Qmgr::execREAD_CONFIG_REQ); addRecSignal(GSN_STTOR, &Qmgr::execSTTOR); addRecSignal(GSN_CLOSE_COMCONF, &Qmgr::execCLOSE_COMCONF); addRecSignal(GSN_API_REGREQ, &Qmgr::execAPI_REGREQ); addRecSignal(GSN_API_VERSION_REQ, &Qmgr::execAPI_VERSION_REQ); addRecSignal(GSN_DISCONNECT_REP, &Qmgr::execDISCONNECT_REP); addRecSignal(GSN_API_FAILREQ, &Qmgr::execAPI_FAILREQ); addRecSignal(GSN_API_FAILCONF, &Qmgr::execAPI_FAILCONF); addRecSignal(GSN_READ_NODESREQ, &Qmgr::execREAD_NODESREQ); addRecSignal(GSN_API_BROADCAST_REP, &Qmgr::execAPI_BROADCAST_REP); addRecSignal(GSN_NODE_FAILREP, &Qmgr::execNODE_FAILREP); addRecSignal(GSN_ALLOC_NODEID_REQ, &Qmgr::execALLOC_NODEID_REQ); addRecSignal(GSN_ALLOC_NODEID_CONF, &Qmgr::execALLOC_NODEID_CONF); addRecSignal(GSN_ALLOC_NODEID_REF, &Qmgr::execALLOC_NODEID_REF); addRecSignal(GSN_ENABLE_COMCONF, &Qmgr::execENABLE_COMCONF); // Arbitration signals addRecSignal(GSN_ARBIT_PREPREQ, &Qmgr::execARBIT_PREPREQ); addRecSignal(GSN_ARBIT_PREPCONF, &Qmgr::execARBIT_PREPCONF); addRecSignal(GSN_ARBIT_PREPREF, &Qmgr::execARBIT_PREPREF); addRecSignal(GSN_ARBIT_STARTCONF, &Qmgr::execARBIT_STARTCONF); addRecSignal(GSN_ARBIT_STARTREF, &Qmgr::execARBIT_STARTREF); addRecSignal(GSN_ARBIT_CHOOSECONF, &Qmgr::execARBIT_CHOOSECONF); addRecSignal(GSN_ARBIT_CHOOSEREF, &Qmgr::execARBIT_CHOOSEREF); addRecSignal(GSN_ARBIT_STOPREP, &Qmgr::execARBIT_STOPREP); addRecSignal(GSN_READ_NODESREF, &Qmgr::execREAD_NODESREF); addRecSignal(GSN_READ_NODESCONF, &Qmgr::execREAD_NODESCONF); addRecSignal(GSN_DIH_RESTARTREF, &Qmgr::execDIH_RESTARTREF); addRecSignal(GSN_DIH_RESTARTCONF, &Qmgr::execDIH_RESTARTCONF); addRecSignal(GSN_NODE_VERSION_REP, &Qmgr::execNODE_VERSION_REP); addRecSignal(GSN_START_ORD, &Qmgr::execSTART_ORD); addRecSignal(GSN_UPGRADE_PROTOCOL_ORD, &Qmgr::execUPGRADE_PROTOCOL_ORD); // Connectivity check signals addRecSignal(GSN_NODE_PING_REQ, &Qmgr::execNODE_PINGREQ); addRecSignal(GSN_NODE_PING_CONF, &Qmgr::execNODE_PINGCONF); // Ndbinfo signal addRecSignal(GSN_DBINFO_SCANREQ, &Qmgr::execDBINFO_SCANREQ); initData(); }//Qmgr::Qmgr()
Ndbcntr::Ndbcntr(Block_context& ctx): SimulatedBlock(NDBCNTR, ctx), cnoWaitrep6(0), cnoWaitrep7(0), c_stopRec(* this), c_missra(* this) { BLOCK_CONSTRUCTOR(Ndbcntr); // Transit signals addRecSignal(GSN_CONTINUEB, &Ndbcntr::execCONTINUEB); addRecSignal(GSN_READ_NODESCONF, &Ndbcntr::execREAD_NODESCONF); addRecSignal(GSN_READ_NODESREF, &Ndbcntr::execREAD_NODESREF); addRecSignal(GSN_CM_ADD_REP, &Ndbcntr::execCM_ADD_REP); addRecSignal(GSN_CNTR_START_REQ, &Ndbcntr::execCNTR_START_REQ); addRecSignal(GSN_CNTR_START_REF, &Ndbcntr::execCNTR_START_REF); addRecSignal(GSN_CNTR_START_CONF, &Ndbcntr::execCNTR_START_CONF); addRecSignal(GSN_CNTR_WAITREP, &Ndbcntr::execCNTR_WAITREP); addRecSignal(GSN_CNTR_START_REP, &Ndbcntr::execCNTR_START_REP); addRecSignal(GSN_API_START_REP, &Ndbcntr::execAPI_START_REP, true); addRecSignal(GSN_NODE_FAILREP, &Ndbcntr::execNODE_FAILREP); addRecSignal(GSN_SYSTEM_ERROR , &Ndbcntr::execSYSTEM_ERROR); addRecSignal(GSN_START_PERMREP, &Ndbcntr::execSTART_PERMREP); // Received signals addRecSignal(GSN_DUMP_STATE_ORD, &Ndbcntr::execDUMP_STATE_ORD); addRecSignal(GSN_READ_CONFIG_REQ, &Ndbcntr::execREAD_CONFIG_REQ); addRecSignal(GSN_STTOR, &Ndbcntr::execSTTOR); addRecSignal(GSN_TCSEIZECONF, &Ndbcntr::execTCSEIZECONF); addRecSignal(GSN_TCSEIZEREF, &Ndbcntr::execTCSEIZEREF); addRecSignal(GSN_TCRELEASECONF, &Ndbcntr::execTCRELEASECONF); addRecSignal(GSN_TCRELEASEREF, &Ndbcntr::execTCRELEASEREF); addRecSignal(GSN_TCKEYCONF, &Ndbcntr::execTCKEYCONF); addRecSignal(GSN_TCKEYREF, &Ndbcntr::execTCKEYREF); addRecSignal(GSN_TCROLLBACKREP, &Ndbcntr::execTCROLLBACKREP); addRecSignal(GSN_GETGCICONF, &Ndbcntr::execGETGCICONF); addRecSignal(GSN_DIH_RESTARTCONF, &Ndbcntr::execDIH_RESTARTCONF); addRecSignal(GSN_DIH_RESTARTREF, &Ndbcntr::execDIH_RESTARTREF); addRecSignal(GSN_SCHEMA_TRANS_BEGIN_CONF, &Ndbcntr::execSCHEMA_TRANS_BEGIN_CONF); addRecSignal(GSN_SCHEMA_TRANS_BEGIN_REF, &Ndbcntr::execSCHEMA_TRANS_BEGIN_REF); addRecSignal(GSN_SCHEMA_TRANS_END_CONF, &Ndbcntr::execSCHEMA_TRANS_END_CONF); addRecSignal(GSN_SCHEMA_TRANS_END_REF, &Ndbcntr::execSCHEMA_TRANS_END_REF); addRecSignal(GSN_CREATE_TABLE_REF, &Ndbcntr::execCREATE_TABLE_REF); addRecSignal(GSN_CREATE_TABLE_CONF, &Ndbcntr::execCREATE_TABLE_CONF); addRecSignal(GSN_CREATE_HASH_MAP_REF, &Ndbcntr::execCREATE_HASH_MAP_REF); addRecSignal(GSN_CREATE_HASH_MAP_CONF, &Ndbcntr::execCREATE_HASH_MAP_CONF); addRecSignal(GSN_CREATE_FILEGROUP_REF, &Ndbcntr::execCREATE_FILEGROUP_REF); addRecSignal(GSN_CREATE_FILEGROUP_CONF, &Ndbcntr::execCREATE_FILEGROUP_CONF); addRecSignal(GSN_CREATE_FILE_REF, &Ndbcntr::execCREATE_FILE_REF); addRecSignal(GSN_CREATE_FILE_CONF, &Ndbcntr::execCREATE_FILE_CONF); addRecSignal(GSN_NDB_STTORRY, &Ndbcntr::execNDB_STTORRY); addRecSignal(GSN_NDB_STARTCONF, &Ndbcntr::execNDB_STARTCONF); addRecSignal(GSN_READ_NODESREQ, &Ndbcntr::execREAD_NODESREQ); addRecSignal(GSN_NDB_STARTREF, &Ndbcntr::execNDB_STARTREF); addRecSignal(GSN_STOP_PERM_REF, &Ndbcntr::execSTOP_PERM_REF); addRecSignal(GSN_STOP_PERM_CONF, &Ndbcntr::execSTOP_PERM_CONF); addRecSignal(GSN_STOP_ME_REF, &Ndbcntr::execSTOP_ME_REF); addRecSignal(GSN_STOP_ME_CONF, &Ndbcntr::execSTOP_ME_CONF); addRecSignal(GSN_STOP_REQ, &Ndbcntr::execSTOP_REQ); addRecSignal(GSN_STOP_CONF, &Ndbcntr::execSTOP_CONF); addRecSignal(GSN_RESUME_REQ, &Ndbcntr::execRESUME_REQ); addRecSignal(GSN_WAIT_GCP_REF, &Ndbcntr::execWAIT_GCP_REF); addRecSignal(GSN_WAIT_GCP_CONF, &Ndbcntr::execWAIT_GCP_CONF); addRecSignal(GSN_CHANGE_NODE_STATE_CONF, &Ndbcntr::execCHANGE_NODE_STATE_CONF); addRecSignal(GSN_ABORT_ALL_REF, &Ndbcntr::execABORT_ALL_REF); addRecSignal(GSN_ABORT_ALL_CONF, &Ndbcntr::execABORT_ALL_CONF); addRecSignal(GSN_START_ORD, &Ndbcntr::execSTART_ORD); addRecSignal(GSN_STTORRY, &Ndbcntr::execSTTORRY); addRecSignal(GSN_READ_CONFIG_CONF, &Ndbcntr::execREAD_CONFIG_CONF); addRecSignal(GSN_FSREMOVECONF, &Ndbcntr::execFSREMOVECONF); addRecSignal(GSN_START_COPYREF, &Ndbcntr::execSTART_COPYREF); addRecSignal(GSN_START_COPYCONF, &Ndbcntr::execSTART_COPYCONF); addRecSignal(GSN_CREATE_NODEGROUP_IMPL_REQ, &Ndbcntr::execCREATE_NODEGROUP_IMPL_REQ); addRecSignal(GSN_DROP_NODEGROUP_IMPL_REQ, &Ndbcntr::execDROP_NODEGROUP_IMPL_REQ); initData(); ctypeOfStart = NodeState::ST_ILLEGAL_TYPE; c_start.m_startTime = NdbTick_CurrentMillisecond(); m_cntr_start_conf = false; }//Ndbcntr::Ndbcntr()
Backup::Backup(Block_context& ctx, Uint32 instanceNumber) : SimulatedBlock(BACKUP, ctx, instanceNumber), c_nodes(c_nodePool), c_backups(c_backupPool) { BLOCK_CONSTRUCTOR(Backup); c_masterNodeId = getOwnNodeId(); // Add received signals addRecSignal(GSN_READ_CONFIG_REQ, &Backup::execREAD_CONFIG_REQ); addRecSignal(GSN_STTOR, &Backup::execSTTOR); addRecSignal(GSN_DUMP_STATE_ORD, &Backup::execDUMP_STATE_ORD); addRecSignal(GSN_READ_NODESCONF, &Backup::execREAD_NODESCONF); addRecSignal(GSN_NODE_FAILREP, &Backup::execNODE_FAILREP); addRecSignal(GSN_INCL_NODEREQ, &Backup::execINCL_NODEREQ); addRecSignal(GSN_CONTINUEB, &Backup::execCONTINUEB); addRecSignal(GSN_READ_CONFIG_REQ, &Backup::execREAD_CONFIG_REQ, true); addRecSignal(GSN_SCAN_HBREP, &Backup::execSCAN_HBREP); addRecSignal(GSN_TRANSID_AI, &Backup::execTRANSID_AI); addRecSignal(GSN_SCAN_FRAGREF, &Backup::execSCAN_FRAGREF); addRecSignal(GSN_SCAN_FRAGCONF, &Backup::execSCAN_FRAGCONF); addRecSignal(GSN_BACKUP_TRIG_REQ, &Backup::execBACKUP_TRIG_REQ); addRecSignal(GSN_TRIG_ATTRINFO, &Backup::execTRIG_ATTRINFO); addRecSignal(GSN_FIRE_TRIG_ORD, &Backup::execFIRE_TRIG_ORD); addRecSignal(GSN_LIST_TABLES_CONF, &Backup::execLIST_TABLES_CONF); addRecSignal(GSN_GET_TABINFOREF, &Backup::execGET_TABINFOREF); addRecSignal(GSN_GET_TABINFO_CONF, &Backup::execGET_TABINFO_CONF); addRecSignal(GSN_CREATE_TRIG_IMPL_REF, &Backup::execCREATE_TRIG_IMPL_REF); addRecSignal(GSN_CREATE_TRIG_IMPL_CONF, &Backup::execCREATE_TRIG_IMPL_CONF); addRecSignal(GSN_DROP_TRIG_IMPL_REF, &Backup::execDROP_TRIG_IMPL_REF); addRecSignal(GSN_DROP_TRIG_IMPL_CONF, &Backup::execDROP_TRIG_IMPL_CONF); addRecSignal(GSN_DIH_SCAN_TAB_CONF, &Backup::execDIH_SCAN_TAB_CONF); addRecSignal(GSN_DIH_SCAN_GET_NODES_CONF, &Backup::execDIH_SCAN_GET_NODES_CONF); addRecSignal(GSN_FSOPENREF, &Backup::execFSOPENREF, true); addRecSignal(GSN_FSOPENCONF, &Backup::execFSOPENCONF); addRecSignal(GSN_FSCLOSEREF, &Backup::execFSCLOSEREF, true); addRecSignal(GSN_FSCLOSECONF, &Backup::execFSCLOSECONF); addRecSignal(GSN_FSAPPENDREF, &Backup::execFSAPPENDREF, true); addRecSignal(GSN_FSAPPENDCONF, &Backup::execFSAPPENDCONF); addRecSignal(GSN_FSREMOVEREF, &Backup::execFSREMOVEREF, true); addRecSignal(GSN_FSREMOVECONF, &Backup::execFSREMOVECONF); /*****/ addRecSignal(GSN_BACKUP_REQ, &Backup::execBACKUP_REQ); addRecSignal(GSN_ABORT_BACKUP_ORD, &Backup::execABORT_BACKUP_ORD); addRecSignal(GSN_DEFINE_BACKUP_REQ, &Backup::execDEFINE_BACKUP_REQ); addRecSignal(GSN_DEFINE_BACKUP_REF, &Backup::execDEFINE_BACKUP_REF); addRecSignal(GSN_DEFINE_BACKUP_CONF, &Backup::execDEFINE_BACKUP_CONF); addRecSignal(GSN_START_BACKUP_REQ, &Backup::execSTART_BACKUP_REQ); addRecSignal(GSN_START_BACKUP_REF, &Backup::execSTART_BACKUP_REF); addRecSignal(GSN_START_BACKUP_CONF, &Backup::execSTART_BACKUP_CONF); addRecSignal(GSN_BACKUP_FRAGMENT_REQ, &Backup::execBACKUP_FRAGMENT_REQ); addRecSignal(GSN_BACKUP_FRAGMENT_REF, &Backup::execBACKUP_FRAGMENT_REF); addRecSignal(GSN_BACKUP_FRAGMENT_CONF, &Backup::execBACKUP_FRAGMENT_CONF); addRecSignal(GSN_BACKUP_FRAGMENT_COMPLETE_REP, &Backup::execBACKUP_FRAGMENT_COMPLETE_REP); addRecSignal(GSN_STOP_BACKUP_REQ, &Backup::execSTOP_BACKUP_REQ); addRecSignal(GSN_STOP_BACKUP_REF, &Backup::execSTOP_BACKUP_REF); addRecSignal(GSN_STOP_BACKUP_CONF, &Backup::execSTOP_BACKUP_CONF); //addRecSignal(GSN_BACKUP_STATUS_REQ, &Backup::execBACKUP_STATUS_REQ); //addRecSignal(GSN_BACKUP_STATUS_CONF, &Backup::execBACKUP_STATUS_CONF); addRecSignal(GSN_UTIL_SEQUENCE_REF, &Backup::execUTIL_SEQUENCE_REF); addRecSignal(GSN_UTIL_SEQUENCE_CONF, &Backup::execUTIL_SEQUENCE_CONF); addRecSignal(GSN_WAIT_GCP_REF, &Backup::execWAIT_GCP_REF); addRecSignal(GSN_WAIT_GCP_CONF, &Backup::execWAIT_GCP_CONF); addRecSignal(GSN_BACKUP_LOCK_TAB_CONF, &Backup::execBACKUP_LOCK_TAB_CONF); addRecSignal(GSN_BACKUP_LOCK_TAB_REF, &Backup::execBACKUP_LOCK_TAB_REF); addRecSignal(GSN_LCP_STATUS_REQ, &Backup::execLCP_STATUS_REQ); /** * Testing */ addRecSignal(GSN_BACKUP_REF, &Backup::execBACKUP_REF); addRecSignal(GSN_BACKUP_CONF, &Backup::execBACKUP_CONF); addRecSignal(GSN_BACKUP_ABORT_REP, &Backup::execBACKUP_ABORT_REP); addRecSignal(GSN_BACKUP_COMPLETE_REP, &Backup::execBACKUP_COMPLETE_REP); addRecSignal(GSN_LCP_PREPARE_REQ, &Backup::execLCP_PREPARE_REQ); addRecSignal(GSN_END_LCPREQ, &Backup::execEND_LCPREQ); addRecSignal(GSN_DBINFO_SCANREQ, &Backup::execDBINFO_SCANREQ); }
Dblqh::Dblqh(Block_context& ctx): SimulatedBlock(DBLQH, ctx), c_lcp_waiting_fragments(c_fragment_pool), c_lcp_restoring_fragments(c_fragment_pool), c_lcp_complete_fragments(c_fragment_pool), m_commitAckMarkerHash(m_commitAckMarkerPool), c_scanTakeOverHash(c_scanRecordPool) { BLOCK_CONSTRUCTOR(Dblqh); addRecSignal(GSN_PACKED_SIGNAL, &Dblqh::execPACKED_SIGNAL); addRecSignal(GSN_DEBUG_SIG, &Dblqh::execDEBUG_SIG); addRecSignal(GSN_ATTRINFO, &Dblqh::execATTRINFO); addRecSignal(GSN_KEYINFO, &Dblqh::execKEYINFO); addRecSignal(GSN_LQHKEYREQ, &Dblqh::execLQHKEYREQ); addRecSignal(GSN_LQHKEYREF, &Dblqh::execLQHKEYREF); addRecSignal(GSN_COMMIT, &Dblqh::execCOMMIT); addRecSignal(GSN_COMPLETE, &Dblqh::execCOMPLETE); addRecSignal(GSN_LQHKEYCONF, &Dblqh::execLQHKEYCONF); #ifdef VM_TRACE addRecSignal(GSN_TESTSIG, &Dblqh::execTESTSIG); #endif addRecSignal(GSN_CONTINUEB, &Dblqh::execCONTINUEB); addRecSignal(GSN_START_RECREQ, &Dblqh::execSTART_RECREQ); addRecSignal(GSN_START_RECCONF, &Dblqh::execSTART_RECCONF); addRecSignal(GSN_EXEC_FRAGREQ, &Dblqh::execEXEC_FRAGREQ); addRecSignal(GSN_EXEC_FRAGCONF, &Dblqh::execEXEC_FRAGCONF); addRecSignal(GSN_EXEC_FRAGREF, &Dblqh::execEXEC_FRAGREF); addRecSignal(GSN_START_EXEC_SR, &Dblqh::execSTART_EXEC_SR); addRecSignal(GSN_EXEC_SRREQ, &Dblqh::execEXEC_SRREQ); addRecSignal(GSN_EXEC_SRCONF, &Dblqh::execEXEC_SRCONF); addRecSignal(GSN_SCAN_HBREP, &Dblqh::execSCAN_HBREP); addRecSignal(GSN_ALTER_TAB_REQ, &Dblqh::execALTER_TAB_REQ); // Trigger signals, transit to from TUP addRecSignal(GSN_CREATE_TRIG_REQ, &Dblqh::execCREATE_TRIG_REQ); addRecSignal(GSN_CREATE_TRIG_CONF, &Dblqh::execCREATE_TRIG_CONF); addRecSignal(GSN_CREATE_TRIG_REF, &Dblqh::execCREATE_TRIG_REF); addRecSignal(GSN_DROP_TRIG_REQ, &Dblqh::execDROP_TRIG_REQ); addRecSignal(GSN_DROP_TRIG_CONF, &Dblqh::execDROP_TRIG_CONF); addRecSignal(GSN_DROP_TRIG_REF, &Dblqh::execDROP_TRIG_REF); addRecSignal(GSN_DUMP_STATE_ORD, &Dblqh::execDUMP_STATE_ORD); addRecSignal(GSN_NODE_FAILREP, &Dblqh::execNODE_FAILREP); addRecSignal(GSN_CHECK_LCP_STOP, &Dblqh::execCHECK_LCP_STOP); addRecSignal(GSN_SEND_PACKED, &Dblqh::execSEND_PACKED); addRecSignal(GSN_TUP_ATTRINFO, &Dblqh::execTUP_ATTRINFO); addRecSignal(GSN_READ_CONFIG_REQ, &Dblqh::execREAD_CONFIG_REQ, true); addRecSignal(GSN_LQHFRAGREQ, &Dblqh::execLQHFRAGREQ); addRecSignal(GSN_LQHADDATTREQ, &Dblqh::execLQHADDATTREQ); addRecSignal(GSN_TUP_ADD_ATTCONF, &Dblqh::execTUP_ADD_ATTCONF); addRecSignal(GSN_TUP_ADD_ATTRREF, &Dblqh::execTUP_ADD_ATTRREF); addRecSignal(GSN_ACCFRAGCONF, &Dblqh::execACCFRAGCONF); addRecSignal(GSN_ACCFRAGREF, &Dblqh::execACCFRAGREF); addRecSignal(GSN_TUPFRAGCONF, &Dblqh::execTUPFRAGCONF); addRecSignal(GSN_TUPFRAGREF, &Dblqh::execTUPFRAGREF); addRecSignal(GSN_TAB_COMMITREQ, &Dblqh::execTAB_COMMITREQ); addRecSignal(GSN_ACCSEIZECONF, &Dblqh::execACCSEIZECONF); addRecSignal(GSN_ACCSEIZEREF, &Dblqh::execACCSEIZEREF); addRecSignal(GSN_READ_NODESCONF, &Dblqh::execREAD_NODESCONF); addRecSignal(GSN_READ_NODESREF, &Dblqh::execREAD_NODESREF); addRecSignal(GSN_STTOR, &Dblqh::execSTTOR); addRecSignal(GSN_NDB_STTOR, &Dblqh::execNDB_STTOR); addRecSignal(GSN_TUPSEIZECONF, &Dblqh::execTUPSEIZECONF); addRecSignal(GSN_TUPSEIZEREF, &Dblqh::execTUPSEIZEREF); addRecSignal(GSN_ACCKEYCONF, &Dblqh::execACCKEYCONF); addRecSignal(GSN_ACCKEYREF, &Dblqh::execACCKEYREF); addRecSignal(GSN_TUPKEYCONF, &Dblqh::execTUPKEYCONF); addRecSignal(GSN_TUPKEYREF, &Dblqh::execTUPKEYREF); addRecSignal(GSN_ABORT, &Dblqh::execABORT); addRecSignal(GSN_ABORTREQ, &Dblqh::execABORTREQ); addRecSignal(GSN_COMMITREQ, &Dblqh::execCOMMITREQ); addRecSignal(GSN_COMPLETEREQ, &Dblqh::execCOMPLETEREQ); #ifdef VM_TRACE addRecSignal(GSN_MEMCHECKREQ, &Dblqh::execMEMCHECKREQ); #endif addRecSignal(GSN_SCAN_FRAGREQ, &Dblqh::execSCAN_FRAGREQ); addRecSignal(GSN_SCAN_NEXTREQ, &Dblqh::execSCAN_NEXTREQ); addRecSignal(GSN_ACC_SCANCONF, &Dblqh::execACC_SCANCONF); addRecSignal(GSN_ACC_SCANREF, &Dblqh::execACC_SCANREF); addRecSignal(GSN_NEXT_SCANCONF, &Dblqh::execNEXT_SCANCONF); addRecSignal(GSN_NEXT_SCANREF, &Dblqh::execNEXT_SCANREF); addRecSignal(GSN_STORED_PROCCONF, &Dblqh::execSTORED_PROCCONF); addRecSignal(GSN_STORED_PROCREF, &Dblqh::execSTORED_PROCREF); addRecSignal(GSN_COPY_FRAGREQ, &Dblqh::execCOPY_FRAGREQ); addRecSignal(GSN_COPY_ACTIVEREQ, &Dblqh::execCOPY_ACTIVEREQ); addRecSignal(GSN_COPY_STATEREQ, &Dblqh::execCOPY_STATEREQ); addRecSignal(GSN_LQH_TRANSREQ, &Dblqh::execLQH_TRANSREQ); addRecSignal(GSN_TRANSID_AI, &Dblqh::execTRANSID_AI); addRecSignal(GSN_INCL_NODEREQ, &Dblqh::execINCL_NODEREQ); addRecSignal(GSN_LCP_PREPARE_REF, &Dblqh::execLCP_PREPARE_REF); addRecSignal(GSN_LCP_PREPARE_CONF, &Dblqh::execLCP_PREPARE_CONF); addRecSignal(GSN_END_LCPCONF, &Dblqh::execEND_LCPCONF); addRecSignal(GSN_EMPTY_LCP_REQ, &Dblqh::execEMPTY_LCP_REQ); addRecSignal(GSN_LCP_FRAG_ORD, &Dblqh::execLCP_FRAG_ORD); addRecSignal(GSN_START_FRAGREQ, &Dblqh::execSTART_FRAGREQ); addRecSignal(GSN_START_RECREF, &Dblqh::execSTART_RECREF); addRecSignal(GSN_GCP_SAVEREQ, &Dblqh::execGCP_SAVEREQ); addRecSignal(GSN_FSOPENREF, &Dblqh::execFSOPENREF, true); addRecSignal(GSN_FSOPENCONF, &Dblqh::execFSOPENCONF); addRecSignal(GSN_FSCLOSECONF, &Dblqh::execFSCLOSECONF); addRecSignal(GSN_FSWRITECONF, &Dblqh::execFSWRITECONF); addRecSignal(GSN_FSWRITEREF, &Dblqh::execFSWRITEREF, true); addRecSignal(GSN_FSREADCONF, &Dblqh::execFSREADCONF); addRecSignal(GSN_FSREADREF, &Dblqh::execFSREADREF, true); addRecSignal(GSN_ACC_ABORTCONF, &Dblqh::execACC_ABORTCONF); addRecSignal(GSN_TIME_SIGNAL, &Dblqh::execTIME_SIGNAL); addRecSignal(GSN_FSSYNCCONF, &Dblqh::execFSSYNCCONF); addRecSignal(GSN_REMOVE_MARKER_ORD, &Dblqh::execREMOVE_MARKER_ORD); //addRecSignal(GSN_DROP_TAB_REQ, &Dblqh::execDROP_TAB_REQ); addRecSignal(GSN_PREP_DROP_TAB_REQ, &Dblqh::execPREP_DROP_TAB_REQ); addRecSignal(GSN_WAIT_DROP_TAB_REQ, &Dblqh::execWAIT_DROP_TAB_REQ); addRecSignal(GSN_DROP_TAB_REQ, &Dblqh::execDROP_TAB_REQ); addRecSignal(GSN_LQH_ALLOCREQ, &Dblqh::execLQH_ALLOCREQ); addRecSignal(GSN_LQH_WRITELOG_REQ, &Dblqh::execLQH_WRITELOG_REQ); addRecSignal(GSN_TUP_DEALLOCREQ, &Dblqh::execTUP_DEALLOCREQ); // TUX addRecSignal(GSN_TUXFRAGCONF, &Dblqh::execTUXFRAGCONF); addRecSignal(GSN_TUXFRAGREF, &Dblqh::execTUXFRAGREF); addRecSignal(GSN_TUX_ADD_ATTRCONF, &Dblqh::execTUX_ADD_ATTRCONF); addRecSignal(GSN_TUX_ADD_ATTRREF, &Dblqh::execTUX_ADD_ATTRREF); addRecSignal(GSN_READ_PSEUDO_REQ, &Dblqh::execREAD_PSEUDO_REQ); addRecSignal(GSN_DEFINE_BACKUP_REF, &Dblqh::execDEFINE_BACKUP_REF); addRecSignal(GSN_DEFINE_BACKUP_CONF, &Dblqh::execDEFINE_BACKUP_CONF); addRecSignal(GSN_BACKUP_FRAGMENT_REF, &Dblqh::execBACKUP_FRAGMENT_REF); addRecSignal(GSN_BACKUP_FRAGMENT_CONF, &Dblqh::execBACKUP_FRAGMENT_CONF); addRecSignal(GSN_RESTORE_LCP_REF, &Dblqh::execRESTORE_LCP_REF); addRecSignal(GSN_RESTORE_LCP_CONF, &Dblqh::execRESTORE_LCP_CONF); addRecSignal(GSN_UPDATE_FRAG_DIST_KEY_ORD, &Dblqh::execUPDATE_FRAG_DIST_KEY_ORD); addRecSignal(GSN_PREPARE_COPY_FRAG_REQ, &Dblqh::execPREPARE_COPY_FRAG_REQ); initData(); #ifdef VM_TRACE { void* tmp[] = { &addfragptr, &attrinbufptr, &databufptr, &fragptr, &gcpPtr, &lcpPtr, &logPartPtr, &logFilePtr, &lfoPtr, &logPagePtr, &pageRefPtr, &scanptr, &tabptr, &tcConnectptr, &tcNodeFailptr, }; init_globals_list(tmp, sizeof(tmp)/sizeof(tmp[0])); } #endif }//Dblqh::Dblqh()
Dbdih::Dbdih(Block_context& ctx): SimulatedBlock(DBDIH, ctx), c_waitGCPProxyList(waitGCPProxyPool), c_waitGCPMasterList(waitGCPMasterPool) { BLOCK_CONSTRUCTOR(Dbdih); addRecSignal(GSN_DUMP_STATE_ORD, &Dbdih::execDUMP_STATE_ORD); addRecSignal(GSN_NDB_TAMPER, &Dbdih::execNDB_TAMPER, true); addRecSignal(GSN_DEBUG_SIG, &Dbdih::execDEBUG_SIG); addRecSignal(GSN_MASTER_GCPREQ, &Dbdih::execMASTER_GCPREQ); addRecSignal(GSN_MASTER_GCPREF, &Dbdih::execMASTER_GCPREF); addRecSignal(GSN_MASTER_GCPCONF, &Dbdih::execMASTER_GCPCONF); addRecSignal(GSN_EMPTY_LCP_CONF, &Dbdih::execEMPTY_LCP_CONF); addRecSignal(GSN_MASTER_LCPREQ, &Dbdih::execMASTER_LCPREQ); addRecSignal(GSN_MASTER_LCPREF, &Dbdih::execMASTER_LCPREF); addRecSignal(GSN_MASTER_LCPCONF, &Dbdih::execMASTER_LCPCONF); addRecSignal(GSN_NF_COMPLETEREP, &Dbdih::execNF_COMPLETEREP); addRecSignal(GSN_START_PERMREQ, &Dbdih::execSTART_PERMREQ); addRecSignal(GSN_START_PERMCONF, &Dbdih::execSTART_PERMCONF); addRecSignal(GSN_START_PERMREF, &Dbdih::execSTART_PERMREF); addRecSignal(GSN_INCL_NODEREQ, &Dbdih::execINCL_NODEREQ); addRecSignal(GSN_INCL_NODECONF, &Dbdih::execINCL_NODECONF); addRecSignal(GSN_END_TOREQ, &Dbdih::execEND_TOREQ); addRecSignal(GSN_END_TOCONF, &Dbdih::execEND_TOCONF); addRecSignal(GSN_START_TOREQ, &Dbdih::execSTART_TOREQ); addRecSignal(GSN_START_TOCONF, &Dbdih::execSTART_TOCONF); addRecSignal(GSN_START_MEREQ, &Dbdih::execSTART_MEREQ); addRecSignal(GSN_START_MECONF, &Dbdih::execSTART_MECONF); addRecSignal(GSN_START_MEREF, &Dbdih::execSTART_MEREF); addRecSignal(GSN_START_COPYREQ, &Dbdih::execSTART_COPYREQ); addRecSignal(GSN_START_COPYCONF, &Dbdih::execSTART_COPYCONF); addRecSignal(GSN_START_COPYREF, &Dbdih::execSTART_COPYREF); addRecSignal(GSN_CREATE_FRAGREQ, &Dbdih::execCREATE_FRAGREQ); addRecSignal(GSN_CREATE_FRAGCONF, &Dbdih::execCREATE_FRAGCONF); addRecSignal(GSN_DIVERIFYREQ, &Dbdih::execDIVERIFYREQ); addRecSignal(GSN_GCP_SAVECONF, &Dbdih::execGCP_SAVECONF); addRecSignal(GSN_GCP_PREPARECONF, &Dbdih::execGCP_PREPARECONF); addRecSignal(GSN_GCP_PREPARE, &Dbdih::execGCP_PREPARE); addRecSignal(GSN_GCP_NODEFINISH, &Dbdih::execGCP_NODEFINISH); addRecSignal(GSN_GCP_COMMIT, &Dbdih::execGCP_COMMIT); addRecSignal(GSN_DIHNDBTAMPER, &Dbdih::execDIHNDBTAMPER); addRecSignal(GSN_CONTINUEB, &Dbdih::execCONTINUEB); addRecSignal(GSN_COPY_GCIREQ, &Dbdih::execCOPY_GCIREQ); addRecSignal(GSN_COPY_GCICONF, &Dbdih::execCOPY_GCICONF); addRecSignal(GSN_COPY_TABREQ, &Dbdih::execCOPY_TABREQ); addRecSignal(GSN_COPY_TABCONF, &Dbdih::execCOPY_TABCONF); addRecSignal(GSN_TCGETOPSIZECONF, &Dbdih::execTCGETOPSIZECONF); addRecSignal(GSN_TC_CLOPSIZECONF, &Dbdih::execTC_CLOPSIZECONF); addRecSignal(GSN_LCP_COMPLETE_REP, &Dbdih::execLCP_COMPLETE_REP); addRecSignal(GSN_LCP_FRAG_REP, &Dbdih::execLCP_FRAG_REP); addRecSignal(GSN_START_LCP_REQ, &Dbdih::execSTART_LCP_REQ); addRecSignal(GSN_START_LCP_CONF, &Dbdih::execSTART_LCP_CONF); addRecSignal(GSN_READ_CONFIG_REQ, &Dbdih::execREAD_CONFIG_REQ, true); addRecSignal(GSN_UNBLO_DICTCONF, &Dbdih::execUNBLO_DICTCONF); addRecSignal(GSN_COPY_ACTIVECONF, &Dbdih::execCOPY_ACTIVECONF); addRecSignal(GSN_TAB_COMMITREQ, &Dbdih::execTAB_COMMITREQ); addRecSignal(GSN_NODE_FAILREP, &Dbdih::execNODE_FAILREP); addRecSignal(GSN_COPY_FRAGCONF, &Dbdih::execCOPY_FRAGCONF); addRecSignal(GSN_COPY_FRAGREF, &Dbdih::execCOPY_FRAGREF); addRecSignal(GSN_DIADDTABREQ, &Dbdih::execDIADDTABREQ); addRecSignal(GSN_DIGETNODESREQ, &Dbdih::execDIGETNODESREQ); addRecSignal(GSN_DIRELEASEREQ, &Dbdih::execDIRELEASEREQ); addRecSignal(GSN_DISEIZEREQ, &Dbdih::execDISEIZEREQ); addRecSignal(GSN_STTOR, &Dbdih::execSTTOR); addRecSignal(GSN_DI_FCOUNTREQ, &Dbdih::execDI_FCOUNTREQ); addRecSignal(GSN_DIGETPRIMREQ, &Dbdih::execDIGETPRIMREQ); addRecSignal(GSN_GCP_SAVEREF, &Dbdih::execGCP_SAVEREF); addRecSignal(GSN_GCP_TCFINISHED, &Dbdih::execGCP_TCFINISHED); addRecSignal(GSN_READ_NODESCONF, &Dbdih::execREAD_NODESCONF); addRecSignal(GSN_NDB_STTOR, &Dbdih::execNDB_STTOR); addRecSignal(GSN_DICTSTARTCONF, &Dbdih::execDICTSTARTCONF); addRecSignal(GSN_NDB_STARTREQ, &Dbdih::execNDB_STARTREQ); addRecSignal(GSN_GETGCIREQ, &Dbdih::execGETGCIREQ); addRecSignal(GSN_DIH_RESTARTREQ, &Dbdih::execDIH_RESTARTREQ); addRecSignal(GSN_START_RECCONF, &Dbdih::execSTART_RECCONF); addRecSignal(GSN_START_FRAGCONF, &Dbdih::execSTART_FRAGCONF); addRecSignal(GSN_ADD_FRAGCONF, &Dbdih::execADD_FRAGCONF); addRecSignal(GSN_ADD_FRAGREF, &Dbdih::execADD_FRAGREF); addRecSignal(GSN_FSOPENCONF, &Dbdih::execFSOPENCONF); addRecSignal(GSN_FSOPENREF, &Dbdih::execFSOPENREF, true); addRecSignal(GSN_FSCLOSECONF, &Dbdih::execFSCLOSECONF); addRecSignal(GSN_FSCLOSEREF, &Dbdih::execFSCLOSEREF, true); addRecSignal(GSN_FSREADCONF, &Dbdih::execFSREADCONF); addRecSignal(GSN_FSREADREF, &Dbdih::execFSREADREF, true); addRecSignal(GSN_FSWRITECONF, &Dbdih::execFSWRITECONF); addRecSignal(GSN_FSWRITEREF, &Dbdih::execFSWRITEREF, true); addRecSignal(GSN_START_INFOREQ, &Dbdih::execSTART_INFOREQ); addRecSignal(GSN_START_INFOREF, &Dbdih::execSTART_INFOREF); addRecSignal(GSN_START_INFOCONF, &Dbdih::execSTART_INFOCONF); addRecSignal(GSN_CHECKNODEGROUPSREQ, &Dbdih::execCHECKNODEGROUPSREQ); addRecSignal(GSN_BLOCK_COMMIT_ORD, &Dbdih::execBLOCK_COMMIT_ORD); addRecSignal(GSN_UNBLOCK_COMMIT_ORD, &Dbdih::execUNBLOCK_COMMIT_ORD); addRecSignal(GSN_DIH_SWITCH_REPLICA_REQ, &Dbdih::execDIH_SWITCH_REPLICA_REQ); addRecSignal(GSN_DIH_SWITCH_REPLICA_REF, &Dbdih::execDIH_SWITCH_REPLICA_REF); addRecSignal(GSN_DIH_SWITCH_REPLICA_CONF, &Dbdih::execDIH_SWITCH_REPLICA_CONF); addRecSignal(GSN_STOP_PERM_REQ, &Dbdih::execSTOP_PERM_REQ); addRecSignal(GSN_STOP_PERM_REF, &Dbdih::execSTOP_PERM_REF); addRecSignal(GSN_STOP_PERM_CONF, &Dbdih::execSTOP_PERM_CONF); addRecSignal(GSN_STOP_ME_REQ, &Dbdih::execSTOP_ME_REQ); addRecSignal(GSN_STOP_ME_REF, &Dbdih::execSTOP_ME_REF); addRecSignal(GSN_STOP_ME_CONF, &Dbdih::execSTOP_ME_CONF); addRecSignal(GSN_WAIT_GCP_REQ, &Dbdih::execWAIT_GCP_REQ); addRecSignal(GSN_WAIT_GCP_REF, &Dbdih::execWAIT_GCP_REF); addRecSignal(GSN_WAIT_GCP_CONF, &Dbdih::execWAIT_GCP_CONF); addRecSignal(GSN_UPDATE_TOREQ, &Dbdih::execUPDATE_TOREQ); addRecSignal(GSN_UPDATE_TOCONF, &Dbdih::execUPDATE_TOCONF); addRecSignal(GSN_PREP_DROP_TAB_REQ, &Dbdih::execPREP_DROP_TAB_REQ); addRecSignal(GSN_WAIT_DROP_TAB_REF, &Dbdih::execWAIT_DROP_TAB_REF); addRecSignal(GSN_WAIT_DROP_TAB_CONF, &Dbdih::execWAIT_DROP_TAB_CONF); addRecSignal(GSN_DROP_TAB_REQ, &Dbdih::execDROP_TAB_REQ); addRecSignal(GSN_ALTER_TAB_REQ, &Dbdih::execALTER_TAB_REQ); addRecSignal(GSN_CREATE_FRAGMENTATION_REQ, &Dbdih::execCREATE_FRAGMENTATION_REQ); addRecSignal(GSN_DICT_LOCK_CONF, &Dbdih::execDICT_LOCK_CONF); addRecSignal(GSN_DICT_LOCK_REF, &Dbdih::execDICT_LOCK_REF); addRecSignal(GSN_NODE_START_REP, &Dbdih::execNODE_START_REP, true); addRecSignal(GSN_START_FRAGREF, &Dbdih::execSTART_FRAGREF); addRecSignal(GSN_PREPARE_COPY_FRAG_REF, &Dbdih::execPREPARE_COPY_FRAG_REF); addRecSignal(GSN_PREPARE_COPY_FRAG_CONF, &Dbdih::execPREPARE_COPY_FRAG_CONF); apiConnectRecord = 0; connectRecord = 0; fileRecord = 0; fragmentstore = 0; pageRecord = 0; replicaRecord = 0; tabRecord = 0; takeOverRecord = 0; createReplicaRecord = 0; nodeGroupRecord = 0; nodeRecord = 0; c_nextNodeGroup = 0; }//Dbdih::Dbdih()