From dbf58f97813c17b7d93a2f49523e7443488a15b4 Mon Sep 17 00:00:00 2001 From: "jonas@perch.ndb.mysql.com" <> Date: Tue, 8 May 2007 12:53:12 +0200 Subject: [PATCH] ndb - bug#27437 redo extra verification code so that tupkeyref is reset just before tupkeyreq --- ndb/src/kernel/blocks/dblqh/DblqhMain.cpp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp b/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp index b8ab0eec902..f4b99e8be2f 100644 --- a/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp +++ b/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp @@ -3338,7 +3338,7 @@ void Dblqh::seizeTcrec() locTcConnectptr.p->tableref = RNIL; locTcConnectptr.p->savePointId = 0; #ifdef VM_TRACE - locTcConnectptr.p->tupkeyref = 0; + locTcConnectptr.p->tupkeyref = 1; #endif cfirstfreeTcConrec = nextTc; @@ -4060,6 +4060,9 @@ void Dblqh::execACCKEYCONF(Signal* signal) tupKeyReq->tcOpIndex = tcConnectptr.p->tcOprec; tupKeyReq->savePointId = tcConnectptr.p->savePointId; +#ifdef VM_TRACE + tcConnectptr.p->tupkeyref = 0; +#endif EXECUTE_DIRECT(tup, GSN_TUPKEYREQ, signal, TupKeyReq::SignalLength); }//Dblqh::execACCKEYCONF() @@ -5872,7 +5875,7 @@ void Dblqh::releaseTcrec(Signal* signal, TcConnectionrecPtr locTcConnectptr) { jam(); #ifdef VM_TRACE - locTcConnectptr.p->tupkeyref = 0; + locTcConnectptr.p->tupkeyref = 1; #endif locTcConnectptr.p->tcTimer = 0; @@ -5898,7 +5901,7 @@ void Dblqh::releaseTcrecLog(Signal* signal, TcConnectionrecPtr locTcConnectptr) { jam(); #ifdef VM_TRACE - locTcConnectptr.p->tupkeyref = 0; + locTcConnectptr.p->tupkeyref = 1; #endif locTcConnectptr.p->tcTimer = 0; locTcConnectptr.p->transactionState = TcConnectionrec::TC_NOT_CONNECTED; @@ -8356,8 +8359,11 @@ void Dblqh::nextScanConfLoopLab(Signal* signal) tupKeyReq->tcOpIndex = tcConnectptr.p->tcOprec; tupKeyReq->savePointId = tcConnectptr.p->savePointId; Uint32 blockNo = refToBlock(tcConnectptr.p->tcTupBlockref); +#ifdef VM_TRACE + tcConnectptr.p->tupkeyref = 0; +#endif EXECUTE_DIRECT(blockNo, GSN_TUPKEYREQ, signal, - TupKeyReq::SignalLength); + TupKeyReq::SignalLength); } } @@ -9479,6 +9485,9 @@ void Dblqh::copySendTupkeyReqLab(Signal* signal) tupKeyReq->tcOpIndex = tcConnectptr.p->tcOprec; tupKeyReq->savePointId = tcConnectptr.p->savePointId; Uint32 blockNo = refToBlock(tcConnectptr.p->tcTupBlockref); +#ifdef VM_TRACE + tcConnectptr.p->tupkeyref = 0; +#endif EXECUTE_DIRECT(blockNo, GSN_TUPKEYREQ, signal, TupKeyReq::SignalLength); }