List:Commits« Previous MessageNext Message »
From:Jonas Oreland Date:September 18 2008 4:29pm
Subject:bzr commit into mysql-5.1 branch (jonas:2667) Bug#39518
View as plain text  
#At file:///home/jonas/src/telco-6.2/

 2667 Jonas Oreland	2008-09-18
      ndb - bug#39518 - report error back on SUB_CREATE_REF
modified:
  storage/ndb/src/kernel/blocks/trix/Trix.cpp

=== modified file 'storage/ndb/src/kernel/blocks/trix/Trix.cpp'
--- a/storage/ndb/src/kernel/blocks/trix/Trix.cpp	2008-02-20 09:04:29 +0000
+++ b/storage/ndb/src/kernel/blocks/trix/Trix.cpp	2008-09-18 14:29:25 +0000
@@ -541,7 +541,11 @@ void Trix::execUTIL_PREPARE_REF(Signal* 
     return;
   }
   subRecPtr.p = subRec;
-  subRec->errorCode = BuildIndxRef::InternalError;
+  subRec->errorCode = (BuildIndxRef::ErrorCode)utilPrepareRef->errorCode;
+
+  UtilReleaseConf* conf = (UtilReleaseConf*)signal->getDataPtrSend();
+  conf->senderData = subRecPtr.i;
+  execUTIL_RELEASE_CONF(signal);
 }
 
 void Trix::execUTIL_EXECUTE_CONF(Signal* signal)
@@ -611,20 +615,27 @@ void Trix::execSUB_CREATE_REF(Signal* si
 {
   jamEntry();
   DBUG_ENTER("Trix::execSUB_CREATE_REF");
-  // THIS SIGNAL IS NEVER SENT FROM SUMA?
-  /*
+
   SubCreateRef * subCreateRef = (SubCreateRef *)signal->getDataPtr();
   SubscriptionRecPtr subRecPtr;
   SubscriptionRecord* subRec;
 
-  subRecPtr.i = subCreateRef->subscriberData;
-  if ((subRec = c_theSubscriptions.getPtr(subRecPtr.i)) == NULL) {
+  subRecPtr.i = subCreateRef->senderData;
+  if ((subRec = c_theSubscriptions.getPtr(subRecPtr.i)) == NULL)
+  {
     printf("Trix::execSUB_CREATE_REF: Failed to find subscription data %u\n",
subRecPtr.i);
     return;
   }
   subRecPtr.p = subRec;
-  buildFailed(signal, subRecPtr, BuildIndxRef::InternalError);
-  */
+  subRecPtr.p->errorCode = (BuildIndxRef::ErrorCode)subCreateRef->errorCode;
+
+  UtilReleaseReq * const req = (UtilReleaseReq*)signal->getDataPtrSend();
+  req->prepareId = subRecPtr.p->prepareId;
+  req->senderData = subRecPtr.i;
+
+  sendSignal(DBUTIL_REF, GSN_UTIL_RELEASE_REQ, signal,
+	     UtilReleaseReq::SignalLength, JBB);
+
   DBUG_VOID_RETURN;
 }
 
@@ -731,6 +742,7 @@ void Trix::setupSubscription(Signal* sig
 
   sendSignal(SUMA_REF, GSN_SUB_CREATE_REQ, 
 	     signal, SubCreateReq::SignalLength, JBB);
+
   DBUG_VOID_RETURN;
 }
 

Thread
bzr commit into mysql-5.1 branch (jonas:2667) Bug#39518Jonas Oreland18 Sep