Loading ndb/src/kernel/blocks/dbtc/Dbtc.hpp +2 −28 Original line number Diff line number Diff line Loading @@ -585,34 +585,8 @@ public: */ ArrayPool<TcIndexOperation> c_theIndexOperationPool; /** * The list of index operations */ ArrayList<TcIndexOperation> c_theIndexOperations; UintR c_maxNumberOfIndexOperations; struct TcSeizedIndexOperation { /** * Next ptr (used in pool/list) */ union { Uint32 nextPool; Uint32 nextList; }; /** * Prev pointer (used in list) */ Uint32 prevList; }; /** * Pool of seized index operations */ ArrayPool<TcSeizedIndexOperation> c_theSeizedIndexOperationPool; typedef Ptr<TcSeizedIndexOperation> TcSeizedIndexOperationPtr; /************************** API CONNECT RECORD *********************** * The API connect record contains the connection record to which the * application connects. Loading Loading @@ -650,7 +624,7 @@ public: struct ApiConnectRecord { ApiConnectRecord(ArrayPool<TcFiredTriggerData> & firedTriggerPool, ArrayPool<TcSeizedIndexOperation> & seizedIndexOpPool): ArrayPool<TcIndexOperation> & seizedIndexOpPool): theFiredTriggers(firedTriggerPool), isIndexOp(false), theSeizedIndexOperations(seizedIndexOpPool) Loading Loading @@ -763,7 +737,7 @@ public: UintR accumulatingIndexOp; UintR executingIndexOp; UintR tcIndxSendArray[6]; ArrayList<TcSeizedIndexOperation> theSeizedIndexOperations; ArrayList<TcIndexOperation> theSeizedIndexOperations; }; typedef Ptr<ApiConnectRecord> ApiConnectRecordPtr; Loading ndb/src/kernel/blocks/dbtc/DbtcInit.cpp +1 −3 Original line number Diff line number Diff line Loading @@ -65,7 +65,6 @@ void Dbtc::initData() c_theFiredTriggerPool.setSize(c_maxNumberOfFiredTriggers); c_theIndexPool.setSize(c_maxNumberOfIndexes); c_theIndexOperationPool.setSize(c_maxNumberOfIndexOperations); c_theSeizedIndexOperationPool.setSize(c_maxNumberOfIndexOperations); c_theAttributeBufferPool.setSize(c_transactionBufferSpace); c_firedTriggerHash.setSize((c_maxNumberOfFiredTriggers+10)/10); }//Dbtc::initData() Loading @@ -85,7 +84,7 @@ void Dbtc::initRecords() for(unsigned i = 0; i<capiConnectFilesize; i++) { p = &apiConnectRecord[i]; new (p) ApiConnectRecord(c_theFiredTriggerPool, c_theSeizedIndexOperationPool); c_theIndexOperationPool); } // Init all fired triggers DLFifoList<TcFiredTriggerData> triggers(c_theFiredTriggerPool); Loading Loading @@ -177,7 +176,6 @@ Dbtc::Dbtc(const class Configuration & conf): c_maxNumberOfFiredTriggers(0), c_theIndexes(c_theIndexPool), c_maxNumberOfIndexes(0), c_theIndexOperations(c_theIndexOperationPool), c_maxNumberOfIndexOperations(0), m_commitAckMarkerHash(m_commitAckMarkerPool) { Loading ndb/src/kernel/blocks/dbtc/DbtcMain.cpp +39 −42 Original line number Diff line number Diff line Loading @@ -11161,8 +11161,13 @@ void Dbtc::execTCINDXREQ(Signal* signal) jam(); // This is a newly started transaction, clean-up releaseAllSeizedIndexOperations(regApiPtr); regApiPtr->transid[0] = tcIndxReq->transId1; regApiPtr->transid[1] = tcIndxReq->transId2; }//if if (!seizeIndexOperation(regApiPtr, indexOpPtr)) { ndbout_c("here"); if (ERROR_INSERTED(8036) || !seizeIndexOperation(regApiPtr, indexOpPtr)) { jam(); // Failed to allocate index operation TcIndxRef * const tcIndxRef = (TcIndxRef *)signal->getDataPtrSend(); Loading @@ -11170,7 +11175,7 @@ void Dbtc::execTCINDXREQ(Signal* signal) tcIndxRef->connectPtr = tcIndxReq->senderData; tcIndxRef->transId[0] = regApiPtr->transid[0]; tcIndxRef->transId[1] = regApiPtr->transid[1]; tcIndxRef->errorCode = 4000; tcIndxRef->errorCode = 288; sendSignal(regApiPtr->ndbapiBlockref, GSN_TCINDXREF, signal, TcIndxRef::SignalLength, JBB); return; Loading Loading @@ -11307,8 +11312,9 @@ void Dbtc::execINDXKEYINFO(Signal* signal) TcIndexOperationPtr indexOpPtr; TcIndexOperation* indexOp; indexOpPtr.i = regApiPtr->accumulatingIndexOp; indexOp = c_theIndexOperations.getPtr(indexOpPtr.i); if((indexOpPtr.i = regApiPtr->accumulatingIndexOp) != RNIL) { indexOp = c_theIndexOperationPool.getPtr(indexOpPtr.i); if (saveINDXKEYINFO(signal, indexOp, src, Loading @@ -11318,6 +11324,7 @@ void Dbtc::execINDXKEYINFO(Signal* signal) readIndexTable(signal, regApiPtr, indexOp); } } } void Dbtc::execINDXATTRINFO(Signal* signal) { Loading @@ -11338,8 +11345,9 @@ void Dbtc::execINDXATTRINFO(Signal* signal) TcIndexOperationPtr indexOpPtr; TcIndexOperation* indexOp; indexOpPtr.i = regApiPtr->accumulatingIndexOp; indexOp = c_theIndexOperations.getPtr(indexOpPtr.i); if((indexOpPtr.i = regApiPtr->accumulatingIndexOp) != RNIL) { indexOp = c_theIndexOperationPool.getPtr(indexOpPtr.i); if (saveINDXATTRINFO(signal, indexOp, src, Loading @@ -11349,6 +11357,7 @@ void Dbtc::execINDXATTRINFO(Signal* signal) readIndexTable(signal, regApiPtr, indexOp); } } } /** * Save signal INDXKEYINFO Loading @@ -11371,7 +11380,7 @@ bool Dbtc::saveINDXKEYINFO(Signal* signal, releaseIndexOperation(apiConnectptr.p, indexOp); terrorCode = 4000; abortErrorLab(signal); return true; return false; } if (receivedAllINDXKEYINFO(indexOp) && receivedAllINDXATTRINFO(indexOp)) { jam(); Loading Loading @@ -11404,7 +11413,7 @@ bool Dbtc::saveINDXATTRINFO(Signal* signal, releaseIndexOperation(apiConnectptr.p, indexOp); terrorCode = 4000; abortErrorLab(signal); return true; return false; } if (receivedAllINDXKEYINFO(indexOp) && receivedAllINDXATTRINFO(indexOp)) { jam(); Loading Loading @@ -11464,7 +11473,7 @@ void Dbtc::execTCKEYCONF(Signal* signal) jamEntry(); indexOpPtr.i = tcKeyConf->apiConnectPtr; TcIndexOperation* indexOp = c_theIndexOperations.getPtr(indexOpPtr.i); TcIndexOperation* indexOp = c_theIndexOperationPool.getPtr(indexOpPtr.i); Uint32 confInfo = tcKeyConf->confInfo; /** Loading Loading @@ -11553,7 +11562,7 @@ void Dbtc::execTCKEYREF(Signal* signal) jamEntry(); indexOpPtr.i = tcKeyRef->connectPtr; TcIndexOperation* indexOp = c_theIndexOperations.getPtr(indexOpPtr.i); TcIndexOperation* indexOp = c_theIndexOperationPool.getPtr(indexOpPtr.i); indexOpPtr.p = indexOp; if (!indexOp) { jam(); Loading Loading @@ -11654,7 +11663,7 @@ void Dbtc::execTRANSID_AI(Signal* signal) jamEntry(); TcIndexOperationPtr indexOpPtr; indexOpPtr.i = transIdAI->connectPtr; TcIndexOperation* indexOp = c_theIndexOperations.getPtr(indexOpPtr.i); TcIndexOperation* indexOp = c_theIndexOperationPool.getPtr(indexOpPtr.i); indexOpPtr.p = indexOp; if (!indexOp) { jam(); Loading Loading @@ -11762,7 +11771,7 @@ void Dbtc::execTCROLLBACKREP(Signal* signal) jamEntry(); TcIndexOperationPtr indexOpPtr; indexOpPtr.i = tcRollbackRep->connectPtr; TcIndexOperation* indexOp = c_theIndexOperations.getPtr(indexOpPtr.i); TcIndexOperation* indexOp = c_theIndexOperationPool.getPtr(indexOpPtr.i); indexOpPtr.p = indexOp; tcRollbackRep = (TcRollbackRep *)signal->getDataPtrSend(); tcRollbackRep->connectPtr = indexOp->tcIndxReq.senderData; Loading Loading @@ -12090,16 +12099,7 @@ void Dbtc::executeIndexOperation(Signal* signal, bool Dbtc::seizeIndexOperation(ApiConnectRecord* regApiPtr, TcIndexOperationPtr& indexOpPtr) { bool seizeOk; seizeOk = c_theIndexOperations.seize(indexOpPtr); if (seizeOk) { jam(); TcSeizedIndexOperationPtr seizedIndexOpPtr; seizeOk &= regApiPtr->theSeizedIndexOperations.seizeId(seizedIndexOpPtr, indexOpPtr.i); } return seizeOk; return regApiPtr->theSeizedIndexOperations.seize(indexOpPtr); } void Dbtc::releaseIndexOperation(ApiConnectRecord* regApiPtr, Loading @@ -12113,18 +12113,16 @@ void Dbtc::releaseIndexOperation(ApiConnectRecord* regApiPtr, indexOp->expectedTransIdAI = 0; indexOp->transIdAI.release(); regApiPtr->theSeizedIndexOperations.release(indexOp->indexOpId); c_theIndexOperations.release(indexOp->indexOpId); } void Dbtc::releaseAllSeizedIndexOperations(ApiConnectRecord* regApiPtr) { TcSeizedIndexOperationPtr seizedIndexOpPtr; TcIndexOperationPtr seizedIndexOpPtr; regApiPtr->theSeizedIndexOperations.first(seizedIndexOpPtr); while(seizedIndexOpPtr.i != RNIL) { jam(); TcIndexOperation* indexOp = c_theIndexOperations.getPtr(seizedIndexOpPtr.i); TcIndexOperation* indexOp = seizedIndexOpPtr.p; indexOp->indexOpState = IOS_NOOP; indexOp->expectedKeyInfo = 0; Loading @@ -12133,7 +12131,6 @@ void Dbtc::releaseAllSeizedIndexOperations(ApiConnectRecord* regApiPtr) indexOp->attrInfo.release(); indexOp->expectedTransIdAI = 0; indexOp->transIdAI.release(); c_theIndexOperations.release(seizedIndexOpPtr.i); regApiPtr->theSeizedIndexOperations.next(seizedIndexOpPtr); } regApiPtr->theSeizedIndexOperations.release(); Loading ndb/src/kernel/error/ErrorReporter.cpp +3 −2 Original line number Diff line number Diff line Loading @@ -130,7 +130,7 @@ ErrorReporter::formatMessage(ErrorCategory type, "Date/Time: %s\nType of error: %s\n" "Message: %s\nFault ID: %d\nProblem data: %s" "\nObject of reference: %s\nProgramName: %s\n" "ProcessID: %d\nTraceFile: %s\n***EOM***\n", "ProcessID: %d\nTraceFile: %s\n%s\n***EOM***\n", formatTimeStampString() , errorType[type], lookupErrorMessage(faultID), Loading @@ -139,7 +139,8 @@ ErrorReporter::formatMessage(ErrorCategory type, objRef, my_progname, processId, theNameOfTheTraceFile ? theNameOfTheTraceFile : "<no tracefile>"); theNameOfTheTraceFile ? theNameOfTheTraceFile : "<no tracefile>", NDB_VERSION_STRING); // Add trailing blanks to get a fixed lenght of the message while (strlen(messptr) <= MESSAGE_LENGTH-3){ Loading ndb/src/ndbapi/NdbIndexOperation.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -752,5 +752,5 @@ NdbIndexOperation::receiveTCINDXREF( NdbApiSignal* aSignal) Uint32 errorCode = tcIndxRef->errorCode; theError.code = errorCode; theNdbCon->setOperationErrorCodeAbort(errorCode); return theNdbCon->OpCompleteFailure(theNdbCon->m_abortOption); return theNdbCon->OpCompleteFailure(AbortOnError); }//NdbIndexOperation::receiveTCINDXREF() Loading
ndb/src/kernel/blocks/dbtc/Dbtc.hpp +2 −28 Original line number Diff line number Diff line Loading @@ -585,34 +585,8 @@ public: */ ArrayPool<TcIndexOperation> c_theIndexOperationPool; /** * The list of index operations */ ArrayList<TcIndexOperation> c_theIndexOperations; UintR c_maxNumberOfIndexOperations; struct TcSeizedIndexOperation { /** * Next ptr (used in pool/list) */ union { Uint32 nextPool; Uint32 nextList; }; /** * Prev pointer (used in list) */ Uint32 prevList; }; /** * Pool of seized index operations */ ArrayPool<TcSeizedIndexOperation> c_theSeizedIndexOperationPool; typedef Ptr<TcSeizedIndexOperation> TcSeizedIndexOperationPtr; /************************** API CONNECT RECORD *********************** * The API connect record contains the connection record to which the * application connects. Loading Loading @@ -650,7 +624,7 @@ public: struct ApiConnectRecord { ApiConnectRecord(ArrayPool<TcFiredTriggerData> & firedTriggerPool, ArrayPool<TcSeizedIndexOperation> & seizedIndexOpPool): ArrayPool<TcIndexOperation> & seizedIndexOpPool): theFiredTriggers(firedTriggerPool), isIndexOp(false), theSeizedIndexOperations(seizedIndexOpPool) Loading Loading @@ -763,7 +737,7 @@ public: UintR accumulatingIndexOp; UintR executingIndexOp; UintR tcIndxSendArray[6]; ArrayList<TcSeizedIndexOperation> theSeizedIndexOperations; ArrayList<TcIndexOperation> theSeizedIndexOperations; }; typedef Ptr<ApiConnectRecord> ApiConnectRecordPtr; Loading
ndb/src/kernel/blocks/dbtc/DbtcInit.cpp +1 −3 Original line number Diff line number Diff line Loading @@ -65,7 +65,6 @@ void Dbtc::initData() c_theFiredTriggerPool.setSize(c_maxNumberOfFiredTriggers); c_theIndexPool.setSize(c_maxNumberOfIndexes); c_theIndexOperationPool.setSize(c_maxNumberOfIndexOperations); c_theSeizedIndexOperationPool.setSize(c_maxNumberOfIndexOperations); c_theAttributeBufferPool.setSize(c_transactionBufferSpace); c_firedTriggerHash.setSize((c_maxNumberOfFiredTriggers+10)/10); }//Dbtc::initData() Loading @@ -85,7 +84,7 @@ void Dbtc::initRecords() for(unsigned i = 0; i<capiConnectFilesize; i++) { p = &apiConnectRecord[i]; new (p) ApiConnectRecord(c_theFiredTriggerPool, c_theSeizedIndexOperationPool); c_theIndexOperationPool); } // Init all fired triggers DLFifoList<TcFiredTriggerData> triggers(c_theFiredTriggerPool); Loading Loading @@ -177,7 +176,6 @@ Dbtc::Dbtc(const class Configuration & conf): c_maxNumberOfFiredTriggers(0), c_theIndexes(c_theIndexPool), c_maxNumberOfIndexes(0), c_theIndexOperations(c_theIndexOperationPool), c_maxNumberOfIndexOperations(0), m_commitAckMarkerHash(m_commitAckMarkerPool) { Loading
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp +39 −42 Original line number Diff line number Diff line Loading @@ -11161,8 +11161,13 @@ void Dbtc::execTCINDXREQ(Signal* signal) jam(); // This is a newly started transaction, clean-up releaseAllSeizedIndexOperations(regApiPtr); regApiPtr->transid[0] = tcIndxReq->transId1; regApiPtr->transid[1] = tcIndxReq->transId2; }//if if (!seizeIndexOperation(regApiPtr, indexOpPtr)) { ndbout_c("here"); if (ERROR_INSERTED(8036) || !seizeIndexOperation(regApiPtr, indexOpPtr)) { jam(); // Failed to allocate index operation TcIndxRef * const tcIndxRef = (TcIndxRef *)signal->getDataPtrSend(); Loading @@ -11170,7 +11175,7 @@ void Dbtc::execTCINDXREQ(Signal* signal) tcIndxRef->connectPtr = tcIndxReq->senderData; tcIndxRef->transId[0] = regApiPtr->transid[0]; tcIndxRef->transId[1] = regApiPtr->transid[1]; tcIndxRef->errorCode = 4000; tcIndxRef->errorCode = 288; sendSignal(regApiPtr->ndbapiBlockref, GSN_TCINDXREF, signal, TcIndxRef::SignalLength, JBB); return; Loading Loading @@ -11307,8 +11312,9 @@ void Dbtc::execINDXKEYINFO(Signal* signal) TcIndexOperationPtr indexOpPtr; TcIndexOperation* indexOp; indexOpPtr.i = regApiPtr->accumulatingIndexOp; indexOp = c_theIndexOperations.getPtr(indexOpPtr.i); if((indexOpPtr.i = regApiPtr->accumulatingIndexOp) != RNIL) { indexOp = c_theIndexOperationPool.getPtr(indexOpPtr.i); if (saveINDXKEYINFO(signal, indexOp, src, Loading @@ -11318,6 +11324,7 @@ void Dbtc::execINDXKEYINFO(Signal* signal) readIndexTable(signal, regApiPtr, indexOp); } } } void Dbtc::execINDXATTRINFO(Signal* signal) { Loading @@ -11338,8 +11345,9 @@ void Dbtc::execINDXATTRINFO(Signal* signal) TcIndexOperationPtr indexOpPtr; TcIndexOperation* indexOp; indexOpPtr.i = regApiPtr->accumulatingIndexOp; indexOp = c_theIndexOperations.getPtr(indexOpPtr.i); if((indexOpPtr.i = regApiPtr->accumulatingIndexOp) != RNIL) { indexOp = c_theIndexOperationPool.getPtr(indexOpPtr.i); if (saveINDXATTRINFO(signal, indexOp, src, Loading @@ -11349,6 +11357,7 @@ void Dbtc::execINDXATTRINFO(Signal* signal) readIndexTable(signal, regApiPtr, indexOp); } } } /** * Save signal INDXKEYINFO Loading @@ -11371,7 +11380,7 @@ bool Dbtc::saveINDXKEYINFO(Signal* signal, releaseIndexOperation(apiConnectptr.p, indexOp); terrorCode = 4000; abortErrorLab(signal); return true; return false; } if (receivedAllINDXKEYINFO(indexOp) && receivedAllINDXATTRINFO(indexOp)) { jam(); Loading Loading @@ -11404,7 +11413,7 @@ bool Dbtc::saveINDXATTRINFO(Signal* signal, releaseIndexOperation(apiConnectptr.p, indexOp); terrorCode = 4000; abortErrorLab(signal); return true; return false; } if (receivedAllINDXKEYINFO(indexOp) && receivedAllINDXATTRINFO(indexOp)) { jam(); Loading Loading @@ -11464,7 +11473,7 @@ void Dbtc::execTCKEYCONF(Signal* signal) jamEntry(); indexOpPtr.i = tcKeyConf->apiConnectPtr; TcIndexOperation* indexOp = c_theIndexOperations.getPtr(indexOpPtr.i); TcIndexOperation* indexOp = c_theIndexOperationPool.getPtr(indexOpPtr.i); Uint32 confInfo = tcKeyConf->confInfo; /** Loading Loading @@ -11553,7 +11562,7 @@ void Dbtc::execTCKEYREF(Signal* signal) jamEntry(); indexOpPtr.i = tcKeyRef->connectPtr; TcIndexOperation* indexOp = c_theIndexOperations.getPtr(indexOpPtr.i); TcIndexOperation* indexOp = c_theIndexOperationPool.getPtr(indexOpPtr.i); indexOpPtr.p = indexOp; if (!indexOp) { jam(); Loading Loading @@ -11654,7 +11663,7 @@ void Dbtc::execTRANSID_AI(Signal* signal) jamEntry(); TcIndexOperationPtr indexOpPtr; indexOpPtr.i = transIdAI->connectPtr; TcIndexOperation* indexOp = c_theIndexOperations.getPtr(indexOpPtr.i); TcIndexOperation* indexOp = c_theIndexOperationPool.getPtr(indexOpPtr.i); indexOpPtr.p = indexOp; if (!indexOp) { jam(); Loading Loading @@ -11762,7 +11771,7 @@ void Dbtc::execTCROLLBACKREP(Signal* signal) jamEntry(); TcIndexOperationPtr indexOpPtr; indexOpPtr.i = tcRollbackRep->connectPtr; TcIndexOperation* indexOp = c_theIndexOperations.getPtr(indexOpPtr.i); TcIndexOperation* indexOp = c_theIndexOperationPool.getPtr(indexOpPtr.i); indexOpPtr.p = indexOp; tcRollbackRep = (TcRollbackRep *)signal->getDataPtrSend(); tcRollbackRep->connectPtr = indexOp->tcIndxReq.senderData; Loading Loading @@ -12090,16 +12099,7 @@ void Dbtc::executeIndexOperation(Signal* signal, bool Dbtc::seizeIndexOperation(ApiConnectRecord* regApiPtr, TcIndexOperationPtr& indexOpPtr) { bool seizeOk; seizeOk = c_theIndexOperations.seize(indexOpPtr); if (seizeOk) { jam(); TcSeizedIndexOperationPtr seizedIndexOpPtr; seizeOk &= regApiPtr->theSeizedIndexOperations.seizeId(seizedIndexOpPtr, indexOpPtr.i); } return seizeOk; return regApiPtr->theSeizedIndexOperations.seize(indexOpPtr); } void Dbtc::releaseIndexOperation(ApiConnectRecord* regApiPtr, Loading @@ -12113,18 +12113,16 @@ void Dbtc::releaseIndexOperation(ApiConnectRecord* regApiPtr, indexOp->expectedTransIdAI = 0; indexOp->transIdAI.release(); regApiPtr->theSeizedIndexOperations.release(indexOp->indexOpId); c_theIndexOperations.release(indexOp->indexOpId); } void Dbtc::releaseAllSeizedIndexOperations(ApiConnectRecord* regApiPtr) { TcSeizedIndexOperationPtr seizedIndexOpPtr; TcIndexOperationPtr seizedIndexOpPtr; regApiPtr->theSeizedIndexOperations.first(seizedIndexOpPtr); while(seizedIndexOpPtr.i != RNIL) { jam(); TcIndexOperation* indexOp = c_theIndexOperations.getPtr(seizedIndexOpPtr.i); TcIndexOperation* indexOp = seizedIndexOpPtr.p; indexOp->indexOpState = IOS_NOOP; indexOp->expectedKeyInfo = 0; Loading @@ -12133,7 +12131,6 @@ void Dbtc::releaseAllSeizedIndexOperations(ApiConnectRecord* regApiPtr) indexOp->attrInfo.release(); indexOp->expectedTransIdAI = 0; indexOp->transIdAI.release(); c_theIndexOperations.release(seizedIndexOpPtr.i); regApiPtr->theSeizedIndexOperations.next(seizedIndexOpPtr); } regApiPtr->theSeizedIndexOperations.release(); Loading
ndb/src/kernel/error/ErrorReporter.cpp +3 −2 Original line number Diff line number Diff line Loading @@ -130,7 +130,7 @@ ErrorReporter::formatMessage(ErrorCategory type, "Date/Time: %s\nType of error: %s\n" "Message: %s\nFault ID: %d\nProblem data: %s" "\nObject of reference: %s\nProgramName: %s\n" "ProcessID: %d\nTraceFile: %s\n***EOM***\n", "ProcessID: %d\nTraceFile: %s\n%s\n***EOM***\n", formatTimeStampString() , errorType[type], lookupErrorMessage(faultID), Loading @@ -139,7 +139,8 @@ ErrorReporter::formatMessage(ErrorCategory type, objRef, my_progname, processId, theNameOfTheTraceFile ? theNameOfTheTraceFile : "<no tracefile>"); theNameOfTheTraceFile ? theNameOfTheTraceFile : "<no tracefile>", NDB_VERSION_STRING); // Add trailing blanks to get a fixed lenght of the message while (strlen(messptr) <= MESSAGE_LENGTH-3){ Loading
ndb/src/ndbapi/NdbIndexOperation.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -752,5 +752,5 @@ NdbIndexOperation::receiveTCINDXREF( NdbApiSignal* aSignal) Uint32 errorCode = tcIndxRef->errorCode; theError.code = errorCode; theNdbCon->setOperationErrorCodeAbort(errorCode); return theNdbCon->OpCompleteFailure(theNdbCon->m_abortOption); return theNdbCon->OpCompleteFailure(AbortOnError); }//NdbIndexOperation::receiveTCINDXREF()