mirror of
https://github.com/MariaDB/server.git
synced 2025-02-01 11:31:51 +01:00
Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.1-jonas
into perch.ndb.mysql.com:/home/jonas/src/51-jonas
This commit is contained in:
commit
989b98128c
2 changed files with 10 additions and 47 deletions
|
@ -358,7 +358,6 @@ struct Fragmentrec {
|
|||
// List of lock owners and list of lock waiters to support LCP handling
|
||||
//-----------------------------------------------------------------------------
|
||||
Uint32 lockOwnersList;
|
||||
Uint32 m_current_sequence_no;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// References to Directory Ranges (which in turn references directories, which
|
||||
|
@ -478,7 +477,6 @@ struct Fragmentrec {
|
|||
/* OPERATIONREC */
|
||||
/* --------------------------------------------------------------------------------- */
|
||||
struct Operationrec {
|
||||
Uint32 keydata[8];
|
||||
Uint32 localdata[2];
|
||||
Uint32 elementIsforward;
|
||||
Uint32 elementPage;
|
||||
|
@ -488,23 +486,17 @@ struct Operationrec {
|
|||
Uint32 hashvaluePart;
|
||||
Uint32 hashValue;
|
||||
Uint32 insertDeleteLen;
|
||||
Uint32 keyinfoPage;
|
||||
Uint32 nextLockOwnerOp;
|
||||
Uint32 nextOp;
|
||||
Uint32 nextParallelQue;
|
||||
Uint32 nextQueOp;
|
||||
Uint32 nextSerialQue;
|
||||
Uint32 prevOp;
|
||||
Uint32 prevLockOwnerOp;
|
||||
Uint32 prevParallelQue;
|
||||
Uint32 prevQueOp;
|
||||
Uint32 prevSerialQue;
|
||||
Uint32 scanRecPtr;
|
||||
Uint32 transId1;
|
||||
Uint32 transId2;
|
||||
Uint32 longPagePtr;
|
||||
Uint32 longKeyPageIndex;
|
||||
Uint32 m_sequence_no;
|
||||
State opState;
|
||||
Uint32 userptr;
|
||||
State transactionstate;
|
||||
|
|
|
@ -974,31 +974,19 @@ void Dbacc::initOpRec(Signal* signal)
|
|||
operationRecPtr.p->fragptr = fragrecptr.i;
|
||||
operationRecPtr.p->nextParallelQue = RNIL;
|
||||
operationRecPtr.p->prevParallelQue = RNIL;
|
||||
operationRecPtr.p->prevQueOp = RNIL;
|
||||
operationRecPtr.p->nextQueOp = RNIL;
|
||||
operationRecPtr.p->nextSerialQue = RNIL;
|
||||
operationRecPtr.p->prevSerialQue = RNIL;
|
||||
operationRecPtr.p->elementPage = RNIL;
|
||||
operationRecPtr.p->keyinfoPage = RNIL;
|
||||
operationRecPtr.p->lockOwner = ZFALSE;
|
||||
operationRecPtr.p->insertIsDone = ZFALSE;
|
||||
operationRecPtr.p->elementIsDisappeared = ZFALSE;
|
||||
operationRecPtr.p->insertDeleteLen = fragrecptr.p->elementLength;
|
||||
operationRecPtr.p->longPagePtr = RNIL;
|
||||
operationRecPtr.p->longKeyPageIndex = RNIL;
|
||||
operationRecPtr.p->scanRecPtr = RNIL;
|
||||
|
||||
// bit to mark lock operation
|
||||
operationRecPtr.p->isAccLockReq = (Treqinfo >> 31) & 0x1;
|
||||
// undo log is not run via ACCKEYREQ
|
||||
|
||||
if(ERROR_INSERTED(5900) || ERROR_INSERTED(5901))
|
||||
{
|
||||
for(unsigned i = 0; i<8 && i<signal->theData[4]; i++){
|
||||
operationRecPtr.p->keydata[i] = signal->theData[i+7];
|
||||
}
|
||||
}
|
||||
|
||||
}//Dbacc::initOpRec()
|
||||
|
||||
/* --------------------------------------------------------------------------------- */
|
||||
|
@ -1642,13 +1630,6 @@ void Dbacc::placeSerialQueueWrite(Signal* signal)
|
|||
/* ------------------------------------------------------------------------- */
|
||||
void Dbacc::acckeyref1Lab(Signal* signal, Uint32 result_code)
|
||||
{
|
||||
if (operationRecPtr.p->keyinfoPage != RNIL) {
|
||||
jam();
|
||||
rpPageptr.i = operationRecPtr.p->keyinfoPage;
|
||||
ptrCheckGuard(rpPageptr, cpagesize, page8);
|
||||
releasePage(signal);
|
||||
operationRecPtr.p->keyinfoPage = RNIL;
|
||||
}//if
|
||||
operationRecPtr.p->transactionstate = WAIT_COMMIT_ABORT;
|
||||
/* ************************<< */
|
||||
/* ACCKEYREF */
|
||||
|
@ -4042,12 +4023,9 @@ void Dbacc::insertLockOwnersList(Signal* signal,
|
|||
insOperPtr.p->lockOwner = ZTRUE;
|
||||
insOperPtr.p->prevLockOwnerOp = RNIL;
|
||||
tmpOperPtr.i = fragrecptr.p->lockOwnersList;
|
||||
const Uint32 seq = fragrecptr.p->m_current_sequence_no;
|
||||
insOperPtr.p->nextLockOwnerOp = tmpOperPtr.i;
|
||||
insOperPtr.p->m_sequence_no = seq;
|
||||
|
||||
fragrecptr.p->lockOwnersList = insOperPtr.i;
|
||||
fragrecptr.p->m_current_sequence_no = seq+1;
|
||||
if (tmpOperPtr.i == RNIL) {
|
||||
return;
|
||||
} else {
|
||||
|
@ -6016,9 +5994,6 @@ void Dbacc::initScanOpRec(Signal* signal)
|
|||
operationRecPtr.p->prevParallelQue = RNIL;
|
||||
operationRecPtr.p->nextSerialQue = RNIL;
|
||||
operationRecPtr.p->prevSerialQue = RNIL;
|
||||
operationRecPtr.p->prevQueOp = RNIL;
|
||||
operationRecPtr.p->nextQueOp = RNIL;
|
||||
operationRecPtr.p->keyinfoPage = RNIL; // Safety precaution
|
||||
operationRecPtr.p->transId1 = scanPtr.p->scanTrid1;
|
||||
operationRecPtr.p->transId2 = scanPtr.p->scanTrid2;
|
||||
operationRecPtr.p->lockOwner = ZFALSE;
|
||||
|
@ -6038,7 +6013,6 @@ void Dbacc::initScanOpRec(Signal* signal)
|
|||
tisoLocalPtr = tisoLocalPtr + tisoIsforward;
|
||||
}//for
|
||||
arrGuard(tisoLocalPtr, 2048);
|
||||
operationRecPtr.p->keydata[0] = isoPageptr.p->word32[tisoLocalPtr];
|
||||
operationRecPtr.p->tupkeylen = fragrecptr.p->keyLength;
|
||||
operationRecPtr.p->xfrmtupkeylen = 0; // not used
|
||||
}//Dbacc::initScanOpRec()
|
||||
|
@ -7412,21 +7386,18 @@ Dbacc::execDUMP_STATE_ORD(Signal* signal)
|
|||
infoEvent("fid=%d, fragptr=%d, hashvaluePart=%d ",
|
||||
tmpOpPtr.p->fid, tmpOpPtr.p->fragptr,
|
||||
tmpOpPtr.p->hashvaluePart);
|
||||
infoEvent("hashValue=%d, insertDeleteLen=%d, keyinfoPage=%d ",
|
||||
tmpOpPtr.p->hashValue, tmpOpPtr.p->insertDeleteLen,
|
||||
tmpOpPtr.p->keyinfoPage);
|
||||
infoEvent("hashValue=%d, insertDeleteLen=%d",
|
||||
tmpOpPtr.p->hashValue, tmpOpPtr.p->insertDeleteLen);
|
||||
infoEvent("nextLockOwnerOp=%d, nextOp=%d, nextParallelQue=%d ",
|
||||
tmpOpPtr.p->nextLockOwnerOp, tmpOpPtr.p->nextOp,
|
||||
tmpOpPtr.p->nextParallelQue);
|
||||
infoEvent("nextQueOp=%d, nextSerialQue=%d, prevOp=%d ",
|
||||
tmpOpPtr.p->nextQueOp, tmpOpPtr.p->nextSerialQue,
|
||||
infoEvent("nextSerialQue=%d, prevOp=%d ",
|
||||
tmpOpPtr.p->nextSerialQue,
|
||||
tmpOpPtr.p->prevOp);
|
||||
infoEvent("prevLockOwnerOp=%d, prevParallelQue=%d, prevQueOp=%d ",
|
||||
tmpOpPtr.p->prevLockOwnerOp, tmpOpPtr.p->nextParallelQue,
|
||||
tmpOpPtr.p->prevQueOp);
|
||||
infoEvent("prevSerialQue=%d, scanRecPtr=%d, longPagePtr=%d ",
|
||||
tmpOpPtr.p->prevSerialQue, tmpOpPtr.p->scanRecPtr,
|
||||
tmpOpPtr.p->longPagePtr);
|
||||
infoEvent("prevLockOwnerOp=%d, prevParallelQue=%d",
|
||||
tmpOpPtr.p->prevLockOwnerOp, tmpOpPtr.p->nextParallelQue);
|
||||
infoEvent("prevSerialQue=%d, scanRecPtr=%d",
|
||||
tmpOpPtr.p->prevSerialQue, tmpOpPtr.p->scanRecPtr);
|
||||
infoEvent("transactionstate=%d, elementIsDisappeared=%d, insertIsDone=%d ",
|
||||
tmpOpPtr.p->transactionstate, tmpOpPtr.p->elementIsDisappeared,
|
||||
tmpOpPtr.p->insertIsDone);
|
||||
|
|
Loading…
Add table
Reference in a new issue