Browse Source

ndb - fix 5.1 scan error handling problem

Make sure that error gets set corretly also
    when error code directly after taking mutex


storage/ndb/src/ndbapi/NdbScanOperation.cpp:
  Make sure that error gets set corretly also
    when error code directly after taking mutex
pull/374/head
unknown 20 years ago
parent
commit
2691782295
  1. 14
      storage/ndb/src/ndbapi/NdbScanOperation.cpp

14
storage/ndb/src/ndbapi/NdbScanOperation.cpp

@ -478,10 +478,14 @@ int NdbScanOperation::nextResultImpl(bool fetchAllowed, bool forceSend)
*/
PollGuard poll_guard(tp, &theNdb->theImpl->theWaiter,
theNdb->theNdbBlockNumber);
if(theError.code)
return -1;
Uint32 seq = theNdbCon->theNodeSequence;
const Uint32 seq = theNdbCon->theNodeSequence;
if(theError.code)
{
goto err4;
}
if(seq == tp->getNodeSequence(nodeId) && send_next_scan(idx, false) == 0)
{
@ -564,6 +568,10 @@ int NdbScanOperation::nextResultImpl(bool fetchAllowed, bool forceSend)
if(theError.code == 0)
setErrorCode(4028); // seq changed = Node fail
break;
case -4:
err4:
setErrorCode(theError.code);
break;
}
theNdbCon->theTransactionIsStarted = false;

Loading…
Cancel
Save