diff options
author | joreland@mysql.com <> | 2005-04-25 11:59:50 +0200 |
---|---|---|
committer | joreland@mysql.com <> | 2005-04-25 11:59:50 +0200 |
commit | 004ec3838d7ab7f40bdfd9e309a8f1dfa514bad5 (patch) | |
tree | 8d363eb403041e1fc0dc79e360ba8e8a27139fa0 /ndb/src/kernel/blocks/dbacc/DbaccMain.cpp | |
parent | b57eab43774135325685614e931c71581ac0b323 (diff) | |
parent | 280bef18457bef5a489020db7c836ad5399378f2 (diff) | |
download | mariadb-git-004ec3838d7ab7f40bdfd9e309a8f1dfa514bad5.tar.gz |
Merge mysql.com:/home/jonas/src/mysql-4.1
into mysql.com:/home/jonas/src/mysql-5.0
Diffstat (limited to 'ndb/src/kernel/blocks/dbacc/DbaccMain.cpp')
-rw-r--r-- | ndb/src/kernel/blocks/dbacc/DbaccMain.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp b/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp index b506bcc4208..0054b935cdb 100644 --- a/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp +++ b/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp @@ -4546,33 +4546,32 @@ Dbacc::check_lock_upgrade(Signal* signal, // Find end of parallell que tmp = lock_owner; + Uint32 lockMode = next.p->lockMode > lock_owner.p->lockMode ? + next.p->lockMode : lock_owner.p->lockMode; while(tmp.p->nextParallelQue != RNIL) { jam(); tmp.i = tmp.p->nextParallelQue; + tmp.p->lockMode = lockMode; ptrCheckGuard(tmp, coprecsize, operationrec); } + tmp.p->lockMode = lockMode; next.p->prevParallelQue = tmp.i; tmp.p->nextParallelQue = next.i; OperationrecPtr save = operationRecPtr; - Uint32 lockMode = lock_owner.p->lockMode; - Uint32 TelementIsDisappeared = 0; // lock upgrade = all reads - Uint32 ThashValue = lock_owner.p->hashValue; Uint32 localdata[2]; localdata[0] = lock_owner.p->localdata[0]; localdata[1] = lock_owner.p->localdata[1]; do { - next.p->elementIsDisappeared = TelementIsDisappeared; - next.p->hashValue = ThashValue; next.p->localdata[0] = localdata[0]; next.p->localdata[1] = localdata[1]; + next.p->lockMode = lockMode; operationRecPtr = next; - next.p->lockMode = lockMode; - TelementIsDisappeared = executeNextOperation(signal); + executeNextOperation(signal); if (next.p->nextParallelQue != RNIL) { jam(); |