4185 Jonas Oreland 2011-02-09
ndb - bug#52298 - remove extra unneccesary (but harmless) wakeups for scan
modified:
storage/ndb/src/ndbapi/NdbTransactionScan.cpp
4184 Jonas Oreland 2011-02-08
ndb - add NdbInterpretedCode::copy(const NdbInterpretedCode& src) - which does deep copy of code
modified:
storage/ndb/include/ndbapi/NdbInterpretedCode.hpp
storage/ndb/src/ndbapi/NdbInterpretedCode.cpp
=== modified file 'storage/ndb/src/ndbapi/NdbTransactionScan.cpp'
--- a/storage/ndb/src/ndbapi/NdbTransactionScan.cpp 2011-02-01 23:27:25 +0000
+++ b/storage/ndb/src/ndbapi/NdbTransactionScan.cpp 2011-02-09 09:46:34 +0000
@@ -88,6 +88,7 @@ NdbTransaction::receiveSCAN_TABCONF(cons
return 0;
}
+ int retVal = -1;
for(Uint32 i = 0; i<len; i += 3){
Uint32 opCount, totalLen;
Uint32 ptrI = * ops++;
@@ -95,19 +96,25 @@ NdbTransaction::receiveSCAN_TABCONF(cons
Uint32 info = * ops++;
opCount = ScanTabConf::getRows(info);
totalLen = ScanTabConf::getLength(info);
-
+
void * tPtr = theNdb->int2void(ptrI);
assert(tPtr); // For now
NdbReceiver* tOp = theNdb->void2rec(tPtr);
if (tOp && tOp->checkMagicNumber())
{
- if (tcPtrI == RNIL && opCount == 0)
- theScanningOp->receiver_completed(tOp);
- else if (tOp->execSCANOPCONF(tcPtrI, totalLen, opCount))
- theScanningOp->receiver_delivered(tOp);
+ if (tcPtrI == RNIL && opCount == 0)
+ {
+ theScanningOp->receiver_completed(tOp);
+ retVal = 0;
+ }
+ else if (tOp->execSCANOPCONF(tcPtrI, totalLen, opCount))
+ {
+ theScanningOp->receiver_delivered(tOp);
+ retVal = 0;
+ }
}
}
- return 0;
+ return retVal;
} else {
#ifdef NDB_NO_DROPPED_SIGNAL
abort();
No bundle (reason: useless for push emails).
| Thread |
|---|
| • bzr push into mysql-5.1-telco-7.0 branch (jonas:4184 to 4185) Bug#52298 | Jonas Oreland | 9 Feb |