Commit f287b4a8 authored by unknown's avatar unknown
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



ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
  Make sure that tupkeyErrorLab is run if interpretedUpdate(fail), so that entry is not inserted into index.
        Yeilding crash on following dml on tupe
parent 42fd7e8f
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) {