diff options
Diffstat (limited to 'ndb/src/kernel/blocks/dblqh/DblqhInit.cpp')
-rw-r--r-- | ndb/src/kernel/blocks/dblqh/DblqhInit.cpp | 455 |
1 files changed, 0 insertions, 455 deletions
diff --git a/ndb/src/kernel/blocks/dblqh/DblqhInit.cpp b/ndb/src/kernel/blocks/dblqh/DblqhInit.cpp deleted file mode 100644 index e39d0ca68a6..00000000000 --- a/ndb/src/kernel/blocks/dblqh/DblqhInit.cpp +++ /dev/null @@ -1,455 +0,0 @@ -/* Copyright (C) 2003 MySQL AB - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ - - -#include <pc.hpp> -#define DBLQH_C -#include "Dblqh.hpp" -#include <ndb_limits.h> - -#define DEBUG(x) { ndbout << "LQH::" << x << endl; } - -void Dblqh::initData() -{ - caddfragrecFileSize = ZADDFRAGREC_FILE_SIZE; - cattrinbufFileSize = ZATTRINBUF_FILE_SIZE; - c_no_attrinbuf_recs= ZATTRINBUF_FILE_SIZE; - cdatabufFileSize = ZDATABUF_FILE_SIZE; - cfragrecFileSize = 0; - cgcprecFileSize = ZGCPREC_FILE_SIZE; - chostFileSize = MAX_NDB_NODES; - clcpFileSize = ZNO_CONCURRENT_LCP; - clcpLocrecFileSize = ZLCP_LOCREC_FILE_SIZE; - clfoFileSize = ZLFO_FILE_SIZE; - clogFileFileSize = 0; - clogPartFileSize = ZLOG_PART_FILE_SIZE; - cpageRefFileSize = ZPAGE_REF_FILE_SIZE; - cscanrecFileSize = ZSCANREC_FILE_SIZE; - ctabrecFileSize = 0; - ctcConnectrecFileSize = 0; - ctcNodeFailrecFileSize = MAX_NDB_NODES; - - addFragRecord = 0; - attrbuf = 0; - databuf = 0; - fragrecord = 0; - gcpRecord = 0; - hostRecord = 0; - lcpRecord = 0; - lcpLocRecord = 0; - logPartRecord = 0; - logFileRecord = 0; - logFileOperationRecord = 0; - logPageRecord = 0; - pageRefRecord = 0; - tablerec = 0; - tcConnectionrec = 0; - tcNodeFailRecord = 0; - - // Records with constant sizes - - cLqhTimeOutCount = 0; - cLqhTimeOutCheckCount = 0; - cbookedAccOps = 0; - c_redo_log_complete_frags = RNIL; -}//Dblqh::initData() - -void Dblqh::initRecords() -{ - // Records with dynamic sizes - addFragRecord = (AddFragRecord*)allocRecord("AddFragRecord", - sizeof(AddFragRecord), - caddfragrecFileSize); - attrbuf = (Attrbuf*)allocRecord("Attrbuf", - sizeof(Attrbuf), - cattrinbufFileSize); - - databuf = (Databuf*)allocRecord("Databuf", - sizeof(Databuf), - cdatabufFileSize); - - fragrecord = (Fragrecord*)allocRecord("Fragrecord", - sizeof(Fragrecord), - cfragrecFileSize); - - gcpRecord = (GcpRecord*)allocRecord("GcpRecord", - sizeof(GcpRecord), - cgcprecFileSize); - - hostRecord = (HostRecord*)allocRecord("HostRecord", - sizeof(HostRecord), - chostFileSize); - - lcpRecord = (LcpRecord*)allocRecord("LcpRecord", - sizeof(LcpRecord), - clcpFileSize); - - for(Uint32 i = 0; i<clcpFileSize; i++){ - new (&lcpRecord[i])LcpRecord(); - } - - lcpLocRecord = (LcpLocRecord*)allocRecord("LcpLocRecord", - sizeof(LcpLocRecord), - clcpLocrecFileSize); - - logPartRecord = (LogPartRecord*)allocRecord("LogPartRecord", - sizeof(LogPartRecord), - clogPartFileSize); - - logFileRecord = (LogFileRecord*)allocRecord("LogFileRecord", - sizeof(LogFileRecord), - clogFileFileSize); - - logFileOperationRecord = (LogFileOperationRecord*) - allocRecord("LogFileOperationRecord", - sizeof(LogFileOperationRecord), - clfoFileSize); - - logPageRecord = (LogPageRecord*)allocRecord("LogPageRecord", - sizeof(LogPageRecord), - clogPageFileSize, - false); - - pageRefRecord = (PageRefRecord*)allocRecord("PageRefRecord", - sizeof(PageRefRecord), - cpageRefFileSize); - - cscanNoFreeRec = cscanrecFileSize; - c_scanRecordPool.setSize(cscanrecFileSize); - c_scanTakeOverHash.setSize(64); - - tablerec = (Tablerec*)allocRecord("Tablerec", - sizeof(Tablerec), - ctabrecFileSize); - - tcConnectionrec = (TcConnectionrec*)allocRecord("TcConnectionrec", - sizeof(TcConnectionrec), - ctcConnectrecFileSize); - - m_commitAckMarkerPool.setSize(ctcConnectrecFileSize); - m_commitAckMarkerHash.setSize(1024); - - tcNodeFailRecord = (TcNodeFailRecord*)allocRecord("TcNodeFailRecord", - sizeof(TcNodeFailRecord), - ctcNodeFailrecFileSize); - - /* - ndbout << "FRAGREC SIZE = " << sizeof(Fragrecord) << endl; - ndbout << "TAB SIZE = " << sizeof(Tablerec) << endl; - ndbout << "GCP SIZE = " << sizeof(GcpRecord) << endl; - ndbout << "LCP SIZE = " << sizeof(LcpRecord) << endl; - ndbout << "LCPLOC SIZE = " << sizeof(LcpLocRecord) << endl; - ndbout << "LOGPART SIZE = " << sizeof(LogPartRecord) << endl; - ndbout << "LOGFILE SIZE = " << sizeof(LogFileRecord) << endl; - ndbout << "TC SIZE = " << sizeof(TcConnectionrec) << endl; - ndbout << "HOST SIZE = " << sizeof(HostRecord) << endl; - ndbout << "LFO SIZE = " << sizeof(LogFileOperationRecord) << endl; - ndbout << "PR SIZE = " << sizeof(PageRefRecord) << endl; - ndbout << "SCAN SIZE = " << sizeof(ScanRecord) << endl; -*/ - - // Initialize BAT for interface to file system - NewVARIABLE* bat = allocateBat(2); - bat[1].WA = &logPageRecord->logPageWord[0]; - bat[1].nrr = clogPageFileSize; - bat[1].ClusterSize = sizeof(LogPageRecord); - bat[1].bits.q = ZTWOLOG_PAGE_SIZE; - bat[1].bits.v = 5; -}//Dblqh::initRecords() - -Dblqh::Dblqh(const class Configuration & conf): - SimulatedBlock(DBLQH, conf), - m_commitAckMarkerHash(m_commitAckMarkerPool), - c_scanTakeOverHash(c_scanRecordPool) -{ - Uint32 log_page_size= 0; - BLOCK_CONSTRUCTOR(Dblqh); - - const ndb_mgm_configuration_iterator * p = conf.getOwnConfigIterator(); - ndbrequire(p != 0); - - ndb_mgm_get_int_parameter(p, CFG_DB_REDO_BUFFER, - &log_page_size); - - /** - * Always set page size in half MBytes - */ - clogPageFileSize= (log_page_size / sizeof(LogPageRecord)); - Uint32 mega_byte_part= clogPageFileSize & 15; - if (mega_byte_part != 0) { - jam(); - clogPageFileSize+= (16 - mega_byte_part); - } - - 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_LQH_RESTART_OP, &Dblqh::execLQH_RESTART_OP); - 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_ACC_COM_BLOCK, &Dblqh::execACC_COM_BLOCK); - addRecSignal(GSN_ACC_COM_UNBLOCK, &Dblqh::execACC_COM_UNBLOCK); - addRecSignal(GSN_TUP_COM_BLOCK, &Dblqh::execTUP_COM_BLOCK); - addRecSignal(GSN_TUP_COM_UNBLOCK, &Dblqh::execTUP_COM_UNBLOCK); - 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_ACC_LCPCONF, &Dblqh::execACC_LCPCONF); - addRecSignal(GSN_ACC_LCPREF, &Dblqh::execACC_LCPREF); - addRecSignal(GSN_ACC_LCPSTARTED, &Dblqh::execACC_LCPSTARTED); - addRecSignal(GSN_ACC_CONTOPCONF, &Dblqh::execACC_CONTOPCONF); - addRecSignal(GSN_LCP_FRAGIDCONF, &Dblqh::execLCP_FRAGIDCONF); - addRecSignal(GSN_LCP_FRAGIDREF, &Dblqh::execLCP_FRAGIDREF); - addRecSignal(GSN_LCP_HOLDOPCONF, &Dblqh::execLCP_HOLDOPCONF); - addRecSignal(GSN_LCP_HOLDOPREF, &Dblqh::execLCP_HOLDOPREF); - addRecSignal(GSN_TUP_PREPLCPCONF, &Dblqh::execTUP_PREPLCPCONF); - addRecSignal(GSN_TUP_PREPLCPREF, &Dblqh::execTUP_PREPLCPREF); - addRecSignal(GSN_TUP_LCPCONF, &Dblqh::execTUP_LCPCONF); - addRecSignal(GSN_TUP_LCPREF, &Dblqh::execTUP_LCPREF); - addRecSignal(GSN_TUP_LCPSTARTED, &Dblqh::execTUP_LCPSTARTED); - 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_SR_FRAGIDCONF, &Dblqh::execSR_FRAGIDCONF); - addRecSignal(GSN_SR_FRAGIDREF, &Dblqh::execSR_FRAGIDREF); - addRecSignal(GSN_ACC_SRCONF, &Dblqh::execACC_SRCONF); - addRecSignal(GSN_ACC_SRREF, &Dblqh::execACC_SRREF); - addRecSignal(GSN_TUP_SRCONF, &Dblqh::execTUP_SRCONF); - addRecSignal(GSN_TUP_SRREF, &Dblqh::execTUP_SRREF); - addRecSignal(GSN_GCP_SAVEREQ, &Dblqh::execGCP_SAVEREQ); - addRecSignal(GSN_FSOPENCONF, &Dblqh::execFSOPENCONF); - addRecSignal(GSN_FSOPENREF, &Dblqh::execFSOPENREF); - addRecSignal(GSN_FSCLOSECONF, &Dblqh::execFSCLOSECONF); - addRecSignal(GSN_FSCLOSEREF, &Dblqh::execFSCLOSEREF); - addRecSignal(GSN_FSWRITECONF, &Dblqh::execFSWRITECONF); - addRecSignal(GSN_FSWRITEREF, &Dblqh::execFSWRITEREF); - addRecSignal(GSN_FSREADCONF, &Dblqh::execFSREADCONF); - addRecSignal(GSN_FSREADREF, &Dblqh::execFSREADREF); - addRecSignal(GSN_ACC_ABORTCONF, &Dblqh::execACC_ABORTCONF); - addRecSignal(GSN_SET_VAR_REQ, &Dblqh::execSET_VAR_REQ); - addRecSignal(GSN_TIME_SIGNAL, &Dblqh::execTIME_SIGNAL); - addRecSignal(GSN_FSSYNCCONF, &Dblqh::execFSSYNCCONF); - addRecSignal(GSN_FSSYNCREF, &Dblqh::execFSSYNCREF); - 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); - - // 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_PSUEDO_REQ, &Dblqh::execREAD_PSUEDO_REQ); - - initData(); - -#ifdef VM_TRACE - { - void* tmp[] = { - &addfragptr, - &attrinbufptr, - &databufptr, - &fragptr, - &gcpPtr, - &lcpPtr, - &lcpLocptr, - &logPartPtr, - &logFilePtr, - &lfoPtr, - &logPagePtr, - &pageRefPtr, - &scanptr, - &tabptr, - &tcConnectptr, - &tcNodeFailptr, - }; - init_globals_list(tmp, sizeof(tmp)/sizeof(tmp[0])); - } -#endif - -}//Dblqh::Dblqh() - -Dblqh::~Dblqh() -{ - // Records with dynamic sizes - deallocRecord((void **)&addFragRecord, "AddFragRecord", - sizeof(AddFragRecord), - caddfragrecFileSize); - - deallocRecord((void**)&attrbuf, - "Attrbuf", - sizeof(Attrbuf), - cattrinbufFileSize); - - deallocRecord((void**)&databuf, - "Databuf", - sizeof(Databuf), - cdatabufFileSize); - - deallocRecord((void**)&fragrecord, - "Fragrecord", - sizeof(Fragrecord), - cfragrecFileSize); - - deallocRecord((void**)&gcpRecord, - "GcpRecord", - sizeof(GcpRecord), - cgcprecFileSize); - - deallocRecord((void**)&hostRecord, - "HostRecord", - sizeof(HostRecord), - chostFileSize); - - deallocRecord((void**)&lcpRecord, - "LcpRecord", - sizeof(LcpRecord), - clcpFileSize); - - deallocRecord((void**)&lcpLocRecord, - "LcpLocRecord", - sizeof(LcpLocRecord), - clcpLocrecFileSize); - - deallocRecord((void**)&logPartRecord, - "LogPartRecord", - sizeof(LogPartRecord), - clogPartFileSize); - - deallocRecord((void**)&logFileRecord, - "LogFileRecord", - sizeof(LogFileRecord), - clogFileFileSize); - - deallocRecord((void**)&logFileOperationRecord, - "LogFileOperationRecord", - sizeof(LogFileOperationRecord), - clfoFileSize); - - deallocRecord((void**)&logPageRecord, - "LogPageRecord", - sizeof(LogPageRecord), - clogPageFileSize); - - deallocRecord((void**)&pageRefRecord, - "PageRefRecord", - sizeof(PageRefRecord), - cpageRefFileSize); - - - deallocRecord((void**)&tablerec, - "Tablerec", - sizeof(Tablerec), - ctabrecFileSize); - - deallocRecord((void**)&tcConnectionrec, - "TcConnectionrec", - sizeof(TcConnectionrec), - ctcConnectrecFileSize); - - deallocRecord((void**)&tcNodeFailRecord, - "TcNodeFailRecord", - sizeof(TcNodeFailRecord), - ctcNodeFailrecFileSize); -}//Dblqh::~Dblqh() - -BLOCK_FUNCTIONS(Dblqh) - |