List:Commits« Previous MessageNext Message »
From:tomas Date:May 8 2006 12:56pm
Subject:bk commit into 5.1 tree (tomas:1.2019)
View as plain text  
Below is the list of changes that have just been committed into a local
5.1 repository of tomas. When tomas does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet
  1.2019 06/05/08 14:55:43 tomas@stripped +14 -0
  remove TransporterFacade singleton

  storage/ndb/src/ndbapi/ndb_cluster_connection.cpp
    1.37 06/05/08 14:55:19 tomas@stripped +8 -9
    remove TransporterFacade singleton

  storage/ndb/src/ndbapi/TransporterFacade.hpp
    1.32 06/05/08 14:55:19 tomas@stripped +1 -10
    remove TransporterFacade singleton

  storage/ndb/src/ndbapi/TransporterFacade.cpp
    1.48 06/05/08 14:55:19 tomas@stripped +2 -7
    remove TransporterFacade singleton

  storage/ndb/src/ndbapi/Ndbinit.cpp
    1.38 06/05/08 14:55:17 tomas@stripped +5 -4
    remove TransporterFacade singleton

  storage/ndb/src/ndbapi/Ndbif.cpp
    1.37 06/05/08 14:55:17 tomas@stripped +38 -34
    remove TransporterFacade singleton

  storage/ndb/src/ndbapi/NdbTransaction.cpp
    1.50 06/05/08 14:55:17 tomas@stripped +4 -4
    remove TransporterFacade singleton

  storage/ndb/src/ndbapi/NdbScanOperation.cpp
    1.73 06/05/08 14:55:17 tomas@stripped +9 -9
    remove TransporterFacade singleton

  storage/ndb/src/ndbapi/NdbReceiver.cpp
    1.17 06/05/08 14:55:16 tomas@stripped +1 -1
    remove TransporterFacade singleton

  storage/ndb/src/ndbapi/NdbOperationExec.cpp
    1.21 06/05/08 14:55:16 tomas@stripped +1 -1
    remove TransporterFacade singleton

  storage/ndb/src/ndbapi/NdbImpl.hpp
    1.17 06/05/08 14:55:16 tomas@stripped +1 -0
    remove TransporterFacade singleton

  storage/ndb/src/ndbapi/Ndb.cpp
    1.61 06/05/08 14:55:15 tomas@stripped +2 -2
    remove TransporterFacade singleton

  storage/ndb/src/mgmsrv/MgmtSrvr.cpp
    1.90 06/05/08 14:55:15 tomas@stripped +1 -2
    remove TransporterFacade singleton

  storage/ndb/include/ndbapi/NdbTransaction.hpp
    1.45 06/05/08 14:55:15 tomas@stripped +1 -1
    remove TransporterFacade singleton

  sql/log_event.cc
    1.206 06/05/08 14:55:14 tomas@stripped +1 -1
    remove TransporterFacade singleton

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	tomas
# Host:	poseidon.ndb.mysql.com
# Root:	/home/tomas/wl2325-alcatel

--- 1.205/sql/log_event.cc	2006-05-08 13:44:27 +02:00
+++ 1.206/sql/log_event.cc	2006-05-08 14:55:14 +02:00
@@ -5123,7 +5123,7 @@
   Field **field_ptr;
   {
     char const *ptr= row + master_null_bytes;
-    Field const **end_field_ptr= begin_ptr + column_count;
+    Field **const end_field_ptr= begin_ptr + column_count;
     for (field_ptr= begin_ptr; field_ptr < end_field_ptr; ++field_ptr)
     {
       Field *const f= *field_ptr;

--- 1.44/storage/ndb/include/ndbapi/NdbTransaction.hpp	2005-10-06 10:26:06 +02:00
+++ 1.45/storage/ndb/include/ndbapi/NdbTransaction.hpp	2006-05-08 14:55:15 +02:00
@@ -792,7 +792,7 @@
   bool theBlobFlag;
   Uint8 thePendingBlobOps;
 
-  static void sendTC_COMMIT_ACK(NdbApiSignal *,
+  static void sendTC_COMMIT_ACK(class TransporterFacade *, NdbApiSignal *,
 				Uint32 transId1, Uint32 transId2, 
 				Uint32 aBlockRef);
 

--- 1.89/storage/ndb/src/mgmsrv/MgmtSrvr.cpp	2006-04-26 15:58:17 +02:00
+++ 1.90/storage/ndb/src/mgmsrv/MgmtSrvr.cpp	2006-05-08 14:55:15 +02:00
@@ -552,8 +552,7 @@
       DBUG_RETURN(false);
     }
   }
-  theFacade= TransporterFacade::theFacadeInstance
-    = new TransporterFacade();
+  theFacade= new TransporterFacade();
   
   if(theFacade == 0) {
     DEBUG("MgmtSrvr.cpp: theFacade is NULL.");

--- 1.60/storage/ndb/src/ndbapi/Ndb.cpp	2005-11-01 10:46:50 +01:00
+++ 1.61/storage/ndb/src/ndbapi/Ndb.cpp	2006-05-08 14:55:15 +02:00
@@ -139,7 +139,7 @@
 //***************************************************************************
   
   int	         tReturnCode;
-  TransporterFacade *tp = TransporterFacade::instance();
+  TransporterFacade *tp = theImpl->m_transporter_facade;
 
   DBUG_ENTER("Ndb::NDB_connect");
 
@@ -609,7 +609,7 @@
   tSignal.setData(tNdbConn->ptr2int(),2);
   tSignal.setData(theMyRef,3);		// Set return block reference
   tNdbConn->Status(NdbTransaction::Connecting); // Set status to connecting
-  TransporterFacade *tp = TransporterFacade::instance();
+  TransporterFacade *tp = theImpl->m_transporter_facade;
   if (tAction == 3) {
     tp->lock_mutex();
     tp->sendSignal(&tSignal, aNode);

--- 1.49/storage/ndb/src/ndbapi/NdbTransaction.cpp	2006-03-24 17:11:39 +01:00
+++ 1.50/storage/ndb/src/ndbapi/NdbTransaction.cpp	2006-05-08 14:55:17 +02:00
@@ -434,7 +434,7 @@
 //------------------------------------------------------------------------
   Ndb* tNdb = theNdb;
 
-  Uint32 timeout = TransporterFacade::instance()->m_waitfor_timeout;
+  Uint32 timeout = theNdb->theImpl->m_transporter_facade->m_waitfor_timeout;
   m_waitForReply = false;
   executeAsynchPrepare(aTypeOfExec, NULL, NULL, abortOption);
   if (m_waitForReply){
@@ -706,7 +706,7 @@
   tcHbRep->transId1      = tTransId1;
   tcHbRep->transId2      = tTransId2;
  
-  TransporterFacade *tp = TransporterFacade::instance();
+  TransporterFacade *tp = theNdb->theImpl->m_transporter_facade;
   tp->lock_mutex(); 
   const int res = tp->sendSignal(tSignal,theDBnode);
   tp->unlock_mutex(); 
@@ -812,7 +812,7 @@
  *************************************************************************/
     NdbApiSignal tSignal(tNdb->theMyRef);
     Uint32 tTransId1, tTransId2;
-    TransporterFacade *tp = TransporterFacade::instance();
+    TransporterFacade *tp = theNdb->theImpl->m_transporter_facade;
     int	  tReturnCode;
 
     tTransId1 = (Uint32) theTransactionId;
@@ -859,7 +859,7 @@
 {
   NdbApiSignal tSignal(theNdb->theMyRef);
   Uint32 tTransId1, tTransId2;
-  TransporterFacade *tp = TransporterFacade::instance(); 
+  TransporterFacade *tp = theNdb->theImpl->m_transporter_facade;
   int	  tReturnCode;
 
   tTransId1 = (Uint32) theTransactionId;

--- 1.16/storage/ndb/src/ndbapi/NdbImpl.hpp	2006-01-18 11:52:09 +01:00
+++ 1.17/storage/ndb/src/ndbapi/NdbImpl.hpp	2006-05-08 14:55:16 +02:00
@@ -60,6 +60,7 @@
   Ndb &m_ndb;
 
   Ndb_cluster_connection_impl &m_ndb_cluster_connection;
+  TransporterFacade *m_transporter_facade;
 
   NdbDictionaryImpl m_dictionary;
 

--- 1.20/storage/ndb/src/ndbapi/NdbOperationExec.cpp	2005-06-07 12:21:22 +02:00
+++ 1.21/storage/ndb/src/ndbapi/NdbOperationExec.cpp	2006-05-08 14:55:16 +02:00
@@ -59,7 +59,7 @@
   int tSignalCount = 0;
   assert(theTCREQ != NULL);
   setLastFlag(theTCREQ, lastFlag);
-  TransporterFacade *tp = TransporterFacade::instance();
+  TransporterFacade *tp = theNdb->theImpl->m_transporter_facade;
   tReturnCode = tp->sendSignal(theTCREQ, aNodeId);
   tSignalCount++;
   if (tReturnCode == -1) {

--- 1.16/storage/ndb/src/ndbapi/NdbReceiver.cpp	2005-04-08 02:44:10 +02:00
+++ 1.17/storage/ndb/src/ndbapi/NdbReceiver.cpp	2006-05-08 14:55:16 +02:00
@@ -101,7 +101,7 @@
                                   Uint32& batch_byte_size,
                                   Uint32& first_batch_size)
 {
-  TransporterFacade *tp= TransporterFacade::instance();
+  TransporterFacade *tp= m_ndb->theImpl->m_transporter_facade;
   Uint32 max_scan_batch_size= tp->get_scan_batch_size();
   Uint32 max_batch_byte_size= tp->get_batch_byte_size();
   Uint32 max_batch_size= tp->get_batch_size();

--- 1.72/storage/ndb/src/ndbapi/NdbScanOperation.cpp	2005-09-20 12:23:32 +02:00
+++ 1.73/storage/ndb/src/ndbapi/NdbScanOperation.cpp	2006-05-08 14:55:17 +02:00
@@ -358,7 +358,7 @@
 int
 NdbScanOperation::executeCursor(int nodeId){
   NdbTransaction * tCon = theNdbCon;
-  TransporterFacade* tp = TransporterFacade::instance();
+  TransporterFacade* tp = theNdb->theImpl->m_transporter_facade;
   Guard guard(tp->theMutexPtr);
 
   Uint32 magic = tCon->theMagicNumber;
@@ -459,7 +459,7 @@
   }
   
   Uint32 nodeId = theNdbCon->theDBnode;
-  TransporterFacade* tp = TransporterFacade::instance();
+  TransporterFacade* tp = theNdb->theImpl->m_transporter_facade;
   /*
     The PollGuard has an implicit call of unlock_and_signal through the
     ~PollGuard method. This method is called implicitly by the compiler
@@ -599,7 +599,7 @@
     if(sent)
     {
       Uint32 nodeId = theNdbCon->theDBnode;
-      TransporterFacade * tp = TransporterFacade::instance();
+      TransporterFacade * tp = theNdb->theImpl->m_transporter_facade;
       if(cnt > 21){
 	tSignal.setLength(4);
 	LinearSectionPtr ptr[3];
@@ -654,7 +654,7 @@
 	       m_conf_receivers_count,
 	       m_sent_receivers_count);
     
-    TransporterFacade* tp = TransporterFacade::instance();
+    TransporterFacade* tp = theNdb->theImpl->m_transporter_facade;
     /*
       The PollGuard has an implicit call of unlock_and_signal through the
       ~PollGuard method. This method is called implicitly by the compiler
@@ -817,7 +817,7 @@
   req->requestInfo = tmp;
   tSignal->setLength(ScanTabReq::StaticLength + theDistrKeyIndicator_);
 
-  TransporterFacade *tp = TransporterFacade::instance();
+  TransporterFacade *tp = theNdb->theImpl->m_transporter_facade;
   LinearSectionPtr ptr[3];
   ptr[0].p = m_prepared_receivers;
   ptr[0].sz = theParallelism;
@@ -1362,7 +1362,7 @@
   if(fetchNeeded){
     if(fetchAllowed){
       if(DEBUG_NEXT_RESULT) ndbout_c("performing fetch...");
-      TransporterFacade* tp = TransporterFacade::instance();
+      TransporterFacade* tp = theNdb->theImpl->m_transporter_facade;
       /*
         The PollGuard has an implicit call of unlock_and_signal through the
         ~PollGuard method. This method is called implicitly by the compiler
@@ -1505,7 +1505,7 @@
   m_sent_receivers_count = last + 1;
   
   Uint32 nodeId = theNdbCon->theDBnode;
-  TransporterFacade * tp = TransporterFacade::instance();
+  TransporterFacade * tp = theNdb->theImpl->m_transporter_facade;
   tSignal.setLength(4+1);
   int ret= tp->sendSignal(&tSignal, nodeId);
   return ret;
@@ -1638,7 +1638,7 @@
 NdbScanOperation::restart(bool forceSend)
 {
   
-  TransporterFacade* tp = TransporterFacade::instance();
+  TransporterFacade* tp = theNdb->theImpl->m_transporter_facade;
   /*
     The PollGuard has an implicit call of unlock_and_signal through the
     ~PollGuard method. This method is called implicitly by the compiler
@@ -1673,7 +1673,7 @@
   int res;
   
   {
-    TransporterFacade* tp = TransporterFacade::instance();
+    TransporterFacade* tp = theNdb->theImpl->m_transporter_facade;
     /*
       The PollGuard has an implicit call of unlock_and_signal through the
       ~PollGuard method. This method is called implicitly by the compiler

--- 1.36/storage/ndb/src/ndbapi/Ndbif.cpp	2006-04-26 17:05:48 +02:00
+++ 1.37/storage/ndb/src/ndbapi/Ndbif.cpp	2006-05-08 14:55:17 +02:00
@@ -79,7 +79,7 @@
     DBUG_RETURN(-1);
   }//if
   theInitState = StartingInit;
-  TransporterFacade * theFacade =  TransporterFacade::instance();
+  TransporterFacade * theFacade =  theImpl->m_transporter_facade;
   theFacade->lock_mutex();
   
   const int tBlockNo = theFacade->open(this,
@@ -147,7 +147,7 @@
   ndbout << "error_handler" << endl;
   releaseTransactionArrays();
   delete theDictionary;
-  TransporterFacade::instance()->close(theNdbBlockNumber, 0);
+  theImpl->m_transporter_facade->close(theNdbBlockNumber, 0);
   DBUG_RETURN(-1);
 }
 
@@ -185,7 +185,7 @@
     assert(theMyRef == numberToRef(theNdbBlockNumber, tmpTheNode));
   }
   
-  TransporterFacade * theFacade =  TransporterFacade::instance();
+  TransporterFacade * theFacade =  theImpl->m_transporter_facade;
   int i, n= 0;
   for (i = 1; i < MAX_NDB_NODES; i++){
     if (theFacade->getIsDbNode(i)){
@@ -254,7 +254,7 @@
 Ndb::report_node_failure_completed(Uint32 node_id)
 {
   if (theEventBuffer && 
-      !TransporterFacade::instance()->theClusterMgr->isClusterAlive())
+      !theImpl->m_transporter_facade->theClusterMgr->isClusterAlive())
   {
     // cluster is unavailable, 
     // eventOperations in the ndb object should be notified
@@ -369,10 +369,11 @@
         }//if
 
 	if(TcKeyConf::getMarkerFlag(keyConf->confInfo)){
-	  NdbTransaction::sendTC_COMMIT_ACK(theCommitAckSignal,
-					   keyConf->transId1, 
-					   keyConf->transId2,
-					   aTCRef);
+	  NdbTransaction::sendTC_COMMIT_ACK(theImpl->m_transporter_facade,
+                                            theCommitAckSignal,
+                                            keyConf->transId1, 
+                                            keyConf->transId2,
+                                            aTCRef);
 	}
       
 	return;
@@ -448,10 +449,11 @@
 #endif
       }
       if(tFirstData & 1){
-	NdbTransaction::sendTC_COMMIT_ACK(theCommitAckSignal,
-					 failConf->transId1, 
-					 failConf->transId2,
-					 aTCRef);
+	NdbTransaction::sendTC_COMMIT_ACK(theImpl->m_transporter_facade,
+                                          theCommitAckSignal,
+                                          failConf->transId1, 
+                                          failConf->transId2,
+                                          aTCRef);
       }
       return;
     }
@@ -520,10 +522,11 @@
 	}//if
 
 	if(tFirstData & 1){
-	  NdbTransaction::sendTC_COMMIT_ACK(theCommitAckSignal,
-					   commitConf->transId1, 
-					   commitConf->transId2,
-					   aTCRef);
+	  NdbTransaction::sendTC_COMMIT_ACK(theImpl->m_transporter_facade,
+                                            theCommitAckSignal,
+                                            commitConf->transId1, 
+                                            commitConf->transId2,
+                                            aTCRef);
 	}
 	return;
       }
@@ -843,10 +846,11 @@
     }//if
     
     if(TcIndxConf::getMarkerFlag(indxConf->confInfo)){
-      NdbTransaction::sendTC_COMMIT_ACK(theCommitAckSignal,
-				       indxConf->transId1, 
-				       indxConf->transId2,
-				       aTCRef);
+      NdbTransaction::sendTC_COMMIT_ACK(theImpl->m_transporter_facade,
+                                        theCommitAckSignal,
+                                        indxConf->transId1, 
+                                        indxConf->transId2,
+                                        aTCRef);
     }
     return;
   }
@@ -888,7 +892,7 @@
       its conditional wait. This will wake up this thread so that it
       can continue its work.
     */
-    TransporterFacade *tp= TransporterFacade::instance();
+    TransporterFacade *tp= theImpl->m_transporter_facade;
     if (tp->get_poll_owner() != t_waiter)
     {
       /*
@@ -952,7 +956,7 @@
     if ((theMinNoOfEventsToWakeUp != 0) &&
         (theNoOfCompletedTransactions >= theMinNoOfEventsToWakeUp)) {
       theMinNoOfEventsToWakeUp = 0;
-      TransporterFacade *tp = TransporterFacade::instance();
+      TransporterFacade *tp = theImpl->m_transporter_facade;
       NdbWaiter *t_waiter= &theImpl->theWaiter;
       if (tp->get_poll_owner() != t_waiter) {
         /*
@@ -1034,7 +1038,7 @@
 void
 Ndb::check_send_timeout()
 {
-  Uint32 timeout = TransporterFacade::instance()->m_waitfor_timeout;
+  Uint32 timeout = theImpl->m_transporter_facade->m_waitfor_timeout;
   NDB_TICKS current_time = NdbTick_CurrentMillisecond();
   if (current_time - the_last_check_time > 1000) {
     the_last_check_time = current_time;
@@ -1122,7 +1126,7 @@
      and we keep a small space for messages like that.
   */
   Uint32 i;
-  TransporterFacade* tp = TransporterFacade::instance();
+  TransporterFacade* tp = theImpl->m_transporter_facade;
   Uint32 no_of_prep_trans = theNoOfPreparedTransactions;
   for (i = 0; i < no_of_prep_trans; i++) {
     NdbTransaction * a_con = thePreparedTransactionsArray[i];
@@ -1263,9 +1267,9 @@
 void	
 Ndb::sendPreparedTransactions(int forceSend)
 {
-  TransporterFacade::instance()->lock_mutex();
+  theImpl->m_transporter_facade->lock_mutex();
   sendPrepTrans(forceSend);
-  TransporterFacade::instance()->unlock_mutex();
+  theImpl->m_transporter_facade->unlock_mutex();
   return;
 }//Ndb::sendPreparedTransactions()
 
@@ -1286,7 +1290,7 @@
     in all places where the object is out of context due to a return,
     break, continue or simply end of statement block
   */
-  PollGuard pg(TransporterFacade::instance(), &theImpl->theWaiter,
+  PollGuard pg(theImpl->m_transporter_facade, &theImpl->theWaiter,
                theNdbBlockNumber);
   sendPrepTrans(forceSend);
   return poll_trans(aMillisecondNumber, minNoOfEventsToWakeup, &pg);
@@ -1330,7 +1334,7 @@
     in all places where the object is out of context due to a return,
     break, continue or simply end of statement block
   */
-  PollGuard pg(TransporterFacade::instance(), &theImpl->theWaiter,
+  PollGuard pg(theImpl->m_transporter_facade, &theImpl->theWaiter,
                theNdbBlockNumber);
   return poll_trans(aMillisecondNumber, minNoOfEventsToWakeup, &pg);
 }
@@ -1354,7 +1358,7 @@
 
   int return_code;
   Uint32 read_conn_seq;
-  TransporterFacade* tp = TransporterFacade::instance();
+  TransporterFacade* tp = theImpl->m_transporter_facade;
   Uint32 send_size = 1; // Always sends one signal only
   // Protected area
   /*
@@ -1395,16 +1399,16 @@
 }//Ndb::sendRecSignal()
 
 void
-NdbTransaction::sendTC_COMMIT_ACK(NdbApiSignal * aSignal,
-				 Uint32 transId1, Uint32 transId2, 
-				 Uint32 aTCRef){
+NdbTransaction::sendTC_COMMIT_ACK(TransporterFacade *tp,
+                                  NdbApiSignal * aSignal,
+                                  Uint32 transId1, Uint32 transId2, 
+                                  Uint32 aTCRef){
 #ifdef MARKER_TRACE
   ndbout_c("Sending TC_COMMIT_ACK(0x%.8x, 0x%.8x) to -> %d",
 	   transId1,
 	   transId2,
 	   refToNode(aTCRef));
 #endif  
-  TransporterFacade *tp = TransporterFacade::instance();
   aSignal->theTrace                = TestOrd::TraceAPI;
   aSignal->theReceiversBlockNumber = DBTC;
   aSignal->theVerId_signalNumber   = GSN_TC_COMMIT_ACK;
@@ -1421,7 +1425,7 @@
 NdbImpl::send_event_report(Uint32 *data, Uint32 length)
 {
   NdbApiSignal aSignal(m_ndb.theMyRef);
-  TransporterFacade *tp = TransporterFacade::instance();
+  TransporterFacade *tp = m_transporter_facade;
   aSignal.theTrace                = TestOrd::TraceAPI;
   aSignal.theReceiversBlockNumber = CMVMI;
   aSignal.theVerId_signalNumber   = GSN_EVENT_REP;

--- 1.37/storage/ndb/src/ndbapi/Ndbinit.cpp	2005-10-07 10:58:08 +02:00
+++ 1.38/storage/ndb/src/ndbapi/Ndbinit.cpp	2006-05-08 14:55:17 +02:00
@@ -108,7 +108,7 @@
   theImpl->m_schemaname.assign(aSchema);
   theImpl->update_prefix();
 
-  theImpl->theWaiter.m_mutex =  TransporterFacade::instance()->theMutexPtr;
+  theImpl->theWaiter.m_mutex =  theImpl->m_transporter_facade->theMutexPtr;
 
   // Signal that the constructor has finished OK
   if (theInitState == NotConstructed)
@@ -148,8 +148,8 @@
 
   delete theEventBuffer;
 
-  if (TransporterFacade::instance() != NULL && theNdbBlockNumber > 0){
-    TransporterFacade::instance()->close(theNdbBlockNumber, theFirstTransId);
+  if (theImpl->m_transporter_facade != NULL && theNdbBlockNumber > 0){
+    theImpl->m_transporter_facade->close(theNdbBlockNumber, theFirstTransId);
   }
   
   releaseTransactionArrays();
@@ -205,9 +205,10 @@
 		 Ndb& ndb)
   : m_ndb(ndb),
     m_ndb_cluster_connection(ndb_cluster_connection->m_impl),
+    m_transporter_facade(ndb_cluster_connection->m_impl.m_transporter_facade),
     m_dictionary(ndb),
     theCurrentConnectIndex(0),
-    theNdbObjectIdMap(ndb_cluster_connection->m_impl.m_transporter_facade->theMutexPtr,
+    theNdbObjectIdMap(m_transporter_facade->theMutexPtr,
 		      1024,1024),
     theNoOfDBnodes(0),
     m_ev_op(0)

--- 1.47/storage/ndb/src/ndbapi/TransporterFacade.cpp	2006-04-26 17:08:11 +02:00
+++ 1.48/storage/ndb/src/ndbapi/TransporterFacade.cpp	2006-05-08 14:55:19 +02:00
@@ -57,8 +57,6 @@
 #define TRP_DEBUG(t)
 #endif
 
-TransporterFacade* TransporterFacade::theFacadeInstance = NULL;
-
 /*****************************************************************************
  * Call back functions
  *****************************************************************************/
@@ -116,7 +114,6 @@
   ndbout_c("REPORT_TRANSP: API reportConnect (nodeId=%d)", (int)nodeId);
 #endif
   ((TransporterFacade*)(callbackObj))->reportConnected(nodeId);
-  //  TransporterFacade::instance()->reportConnected(nodeId);
 }
 
 /**
@@ -128,7 +125,6 @@
   ndbout_c("REPORT_TRANSP: API reportDisconnect (nodeId=%d)", (int)nodeId);
 #endif
   ((TransporterFacade*)(callbackObj))->reportDisconnected(nodeId);
-  //TransporterFacade::instance()->reportDisconnected(nodeId);
 }
 
 void
@@ -392,7 +388,7 @@
 TransporterFacade::start_instance(int nodeId, 
 				  const ndb_mgm_configuration* props)
 {
-  if (! theFacadeInstance->init(nodeId, props)) {
+  if (! init(nodeId, props)) {
     return -1;
   }
   
@@ -418,8 +414,7 @@
 void
 TransporterFacade::stop_instance(){
   DBUG_ENTER("TransporterFacade::stop_instance");
-  if(theFacadeInstance)
-    theFacadeInstance->doStop();
+  doStop();
   DBUG_VOID_RETURN;
 }
 

--- 1.31/storage/ndb/src/ndbapi/TransporterFacade.hpp	2006-05-08 12:26:06 +02:00
+++ 1.32/storage/ndb/src/ndbapi/TransporterFacade.hpp	2006-05-08 14:55:19 +02:00
@@ -57,9 +57,8 @@
   virtual ~TransporterFacade();
   bool init(Uint32, const ndb_mgm_configuration *);
 
-  static TransporterFacade* instance();
   int start_instance(int, const ndb_mgm_configuration*);
-  static void stop_instance();
+  void stop_instance();
   
   /**
    * Register this block for sending/receiving signals
@@ -279,8 +278,6 @@
   
 public:
   NdbMutex* theMutexPtr;
-private:
-  static TransporterFacade* theFacadeInstance;
 
 public:
   GlobalDictCache m_globalDictCache;
@@ -304,12 +301,6 @@
   bool m_locked;
 };
 
-inline
-TransporterFacade*
-TransporterFacade::instance()
-{
-  return theFacadeInstance;
-}
 
 inline
 void 

--- 1.36/storage/ndb/src/ndbapi/ndb_cluster_connection.cpp	2005-10-14 11:55:29 +02:00
+++ 1.37/storage/ndb/src/ndbapi/ndb_cluster_connection.cpp	2006-05-08 14:55:19 +02:00
@@ -189,7 +189,7 @@
 
 int Ndb_cluster_connection::get_no_ready()
 {
-  TransporterFacade *tp = TransporterFacade::instance();
+  TransporterFacade *tp = m_impl.m_transporter_facade;
   if (tp == 0 || tp->ownId() == 0)
     return -1;
 
@@ -214,7 +214,7 @@
 					 int timeout_after_first_alive)
 {
   DBUG_ENTER("Ndb_cluster_connection::wait_until_ready");
-  TransporterFacade *tp = TransporterFacade::instance();
+  TransporterFacade *tp = m_impl.m_transporter_facade;
   if (tp == 0)
   {
     DBUG_RETURN(-1);
@@ -288,9 +288,7 @@
     m_config_retriever= 0;
   }
 
-  m_transporter_facade=
-    TransporterFacade::theFacadeInstance= 
-    new TransporterFacade();
+  m_transporter_facade= new TransporterFacade();
   
   DBUG_VOID_RETURN;
 }
@@ -298,7 +296,10 @@
 Ndb_cluster_connection_impl::~Ndb_cluster_connection_impl()
 {
   DBUG_ENTER("~Ndb_cluster_connection");
-  TransporterFacade::stop_instance();
+  if (m_transporter_facade != 0)
+  {
+    m_transporter_facade->stop_instance();
+  }
   if (m_connect_thread)
   {
     void *status;
@@ -310,9 +311,7 @@
   if (m_transporter_facade != 0)
   {
     delete m_transporter_facade;
-    if (m_transporter_facade != TransporterFacade::theFacadeInstance)
-      abort();
-    TransporterFacade::theFacadeInstance= 0;
+    m_transporter_facade = 0;
   }
   if (m_config_retriever)
   {
Thread
bk commit into 5.1 tree (tomas:1.2019)tomas8 May