summaryrefslogtreecommitdiff
path: root/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp
diff options
context:
space:
mode:
authorjoreland@mysql.com <>2005-04-25 11:59:50 +0200
committerjoreland@mysql.com <>2005-04-25 11:59:50 +0200
commit004ec3838d7ab7f40bdfd9e309a8f1dfa514bad5 (patch)
tree8d363eb403041e1fc0dc79e360ba8e8a27139fa0 /ndb/src/kernel/blocks/dbacc/DbaccMain.cpp
parentb57eab43774135325685614e931c71581ac0b323 (diff)
parent280bef18457bef5a489020db7c836ad5399378f2 (diff)
downloadmariadb-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.cpp13
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();