Commit 9bf1aec1 authored by jonas@perch.ndb.mysql.com's avatar jonas@perch.ndb.mysql.com
Browse files

ndb - bug#20296 (recommit in 4.1)

   Make sure that tupkeyErrorLab is run if interpretedUpdate(fail), so that entry is not inserted into index.
     Yeilding crash on following dml on tupel
parent cfd29d00
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -1111,14 +1111,16 @@ Dbtup::updateStartLab(Signal* signal,
                                regOperPtr->pageOffset,
                                &cinBuffer[0],
                                regOperPtr->attrinbufLen);
    if (retValue == -1) {
      tupkeyErrorLab(signal);
      return -1;
    }//if
  } else {
    jam();
    retValue = interpreterStartLab(signal, pagePtr, regOperPtr->pageOffset);
  }//if

  if (retValue == -1) {
    tupkeyErrorLab(signal);
    return -1;
  }//if

  ndbrequire(regOperPtr->tupVersion != ZNIL);
  pagePtr->pageWord[regOperPtr->pageOffset + 1] = regOperPtr->tupVersion;
  if (regTabPtr->checksumIndicator) {