=== modified file 'storage/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp' --- storage/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp 2009-05-26 18:53:34 +0000 +++ storage/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp 2009-08-07 07:38:08 +0000 @@ -970,7 +970,17 @@ void Dbacc::initOpRec(Signal* signal) opbits |= ((Treqinfo >> 4) & 0x3) ? (Uint32) Operationrec::OP_LOCK_MODE : 0; opbits |= ((Treqinfo >> 4) & 0x3) ? (Uint32) Operationrec::OP_ACC_LOCK_MODE : 0; opbits |= (dirtyReadFlag) ? (Uint32) Operationrec::OP_DIRTY_READ : 0; - opbits |= ((Treqinfo >> 31) & 0x1) ? (Uint32) Operationrec::OP_LOCK_REQ : 0; + if ((Treqinfo >> 31) & 0x1) + { + opbits |= Operationrec::OP_LOCK_REQ; // TUX LOCK_REQ + + /** + * A lock req is roughly a scan, a can't delete a row, + * so OP_COMMIT_DELETE_CHECK should be set like for SCAN + * see initScanOpRec + */ + opbits |= Operationrec::OP_COMMIT_DELETE_CHECK; + } //operationRecPtr.p->nodeType = (Treqinfo >> 7) & 0x3; operationRecPtr.p->fid = fragrecptr.p->myfid;