Commit 26917822 authored by unknown's avatar unknown
Browse files

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
parent 8b48a8e8
Loading
Loading
Loading
Loading
+11 −3
Original line number Diff line number Diff line
@@ -478,10 +478,14 @@ int NdbScanOperation::nextResultImpl(bool fetchAllowed, bool forceSend)
  */
  PollGuard poll_guard(tp, &theNdb->theImpl->theWaiter,
                       theNdb->theNdbBlockNumber);

  const Uint32 seq = theNdbCon->theNodeSequence;

  if(theError.code)
    return -1;
  {
    goto err4;
  }
  
  Uint32 seq = theNdbCon->theNodeSequence;
  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;