diff options
Diffstat (limited to 'ndb/src/ndbapi/Ndbinit.cpp')
-rw-r--r-- | ndb/src/ndbapi/Ndbinit.cpp | 105 |
1 files changed, 9 insertions, 96 deletions
diff --git a/ndb/src/ndbapi/Ndbinit.cpp b/ndb/src/ndbapi/Ndbinit.cpp index 59a6a825be4..40cac675b21 100644 --- a/ndb/src/ndbapi/Ndbinit.cpp +++ b/ndb/src/ndbapi/Ndbinit.cpp @@ -19,12 +19,12 @@ #include "NdbApiSignal.hpp" #include "NdbImpl.hpp" -#include "NdbOperation.hpp" -#include "NdbConnection.hpp" -#include "NdbRecAttr.hpp" -#include "IPCConfig.hpp" +#include <NdbOperation.hpp> +#include <NdbTransaction.hpp> +#include <NdbRecAttr.hpp> +#include <IPCConfig.hpp> #include "TransporterFacade.hpp" -#include "ConfigRetriever.hpp" +#include <ConfigRetriever.hpp> #include <ndb_limits.h> #include <NdbOut.hpp> #include <NdbSleep.h> @@ -34,52 +34,12 @@ #include "NdbUtil.hpp" #include <NdbBlob.hpp> -class NdbGlobalEventBufferHandle; -NdbGlobalEventBufferHandle *NdbGlobalEventBuffer_init(int); -void NdbGlobalEventBuffer_drop(NdbGlobalEventBufferHandle *); - -/** - * Static object for NDB - */ - -// only needed for backwards compatability, before ndb_cluster_connection -static char *ndbConnectString = 0; -static int theNoOfNdbObjects = 0; -static Ndb_cluster_connection *global_ndb_cluster_connection= 0; - - -/*************************************************************************** -Ndb(const char* aDataBase); - -Parameters: aDataBase : Name of the database. -Remark: Connect to the database. -***************************************************************************/ -Ndb::Ndb( const char* aDataBase , const char* aSchema) - : theImpl(NULL) -{ - DBUG_ENTER("Ndb::Ndb()"); - DBUG_PRINT("enter",("(old)Ndb::Ndb this=0x%x", this)); - if (theNoOfNdbObjects < 0) - abort(); // old and new Ndb constructor used mixed - theNoOfNdbObjects++; - if (global_ndb_cluster_connection == 0) { - global_ndb_cluster_connection= new Ndb_cluster_connection(ndbConnectString); - global_ndb_cluster_connection->connect(12,5,1); - } - setup(global_ndb_cluster_connection, aDataBase, aSchema); - DBUG_VOID_RETURN; -} - Ndb::Ndb( Ndb_cluster_connection *ndb_cluster_connection, const char* aDataBase , const char* aSchema) : theImpl(NULL) { DBUG_ENTER("Ndb::Ndb()"); DBUG_PRINT("enter",("Ndb::Ndb this=0x%x", this)); - if (global_ndb_cluster_connection != 0 && - global_ndb_cluster_connection != ndb_cluster_connection) - abort(); // old and new Ndb constructor used mixed - theNoOfNdbObjects= -1; setup(ndb_cluster_connection, aDataBase, aSchema); DBUG_VOID_RETURN; } @@ -99,10 +59,9 @@ void Ndb::setup(Ndb_cluster_connection *ndb_cluster_connection, theNoOfPreparedTransactions= 0; theNoOfSentTransactions= 0; theNoOfCompletedTransactions= 0; - theNoOfAllocatedTransactions= 0; + theRemainingStartTransactions= 0; theMaxNoOfTransactions= 0; theMinNoOfEventsToWakeUp= 0; - prefixEnd= NULL; theTransactionList= NULL; theConnectionArray= NULL; the_last_check_time= 0; @@ -133,21 +92,10 @@ void Ndb::setup(Ndb_cluster_connection *ndb_cluster_connection, for (i = 0; i < MAX_NDB_NODES ; i++) { theConnectionArray[i] = NULL; }//forg - for (i = 0; i < 2048 ; i++) { - theFirstTupleId[i] = 0; - theLastTupleId[i] = 0; - }//for - - BaseString::snprintf(theDataBase, sizeof(theDataBase), "%s", - aDataBase ? aDataBase : ""); - BaseString::snprintf(theDataBaseSchema, sizeof(theDataBaseSchema), "%s", - aSchema ? aSchema : ""); - int len = BaseString::snprintf(prefixName, sizeof(prefixName), "%s%c%s%c", - theDataBase, table_name_separator, - theDataBaseSchema, table_name_separator); - prefixEnd = prefixName + (len < (int) sizeof(prefixName) ? len : - sizeof(prefixName) - 1); + theImpl->m_dbname.assign(aDataBase); + theImpl->m_schemaname.assign(aSchema); + theImpl->update_prefix(); theImpl->theWaiter.m_mutex = TransporterFacade::instance()->theMutexPtr; @@ -155,30 +103,10 @@ void Ndb::setup(Ndb_cluster_connection *ndb_cluster_connection, if (theInitState == NotConstructed) theInitState = NotInitialised; - { - NdbGlobalEventBufferHandle *h= - NdbGlobalEventBuffer_init(NDB_MAX_ACTIVE_EVENTS); - if (h == NULL) { - ndbout_c("Failed NdbGlobalEventBuffer_init(%d)",NDB_MAX_ACTIVE_EVENTS); - exit(-1); - } - theGlobalEventBufferHandle = h; - } - DBUG_VOID_RETURN; } -void Ndb::setConnectString(const char * connectString) -{ - if (ndbConnectString != 0) { - free(ndbConnectString); - ndbConnectString = 0; - } - if (connectString) - ndbConnectString = strdup(connectString); -} - /***************************************************************************** * ~Ndb(); * @@ -190,8 +118,6 @@ Ndb::~Ndb() DBUG_PRINT("enter",("Ndb::~Ndb this=0x%x",this)); doDisconnect(); - NdbGlobalEventBuffer_drop(theGlobalEventBufferHandle); - if (TransporterFacade::instance() != NULL && theNdbBlockNumber > 0){ TransporterFacade::instance()->close(theNdbBlockNumber, theFirstTransId); } @@ -206,19 +132,6 @@ Ndb::~Ndb() delete theImpl; - /** - * This needs to be put after delete theImpl - * as TransporterFacade::instance is delete by global_ndb_cluster_connection - * and used by theImpl - */ - if (global_ndb_cluster_connection != 0) { - theNoOfNdbObjects--; - if(theNoOfNdbObjects == 0){ - delete global_ndb_cluster_connection; - global_ndb_cluster_connection= 0; - } - }//if - /** * This sleep is to make sure that the transporter * send thread will come in and send any |