Loading ndb/include/kernel/signaldata/TupAccess.hpp +2 −0 Original line number Diff line number Diff line Loading @@ -129,6 +129,8 @@ private: /* * Operate on entire tuple. Used by TUX where the table has a single * Uint32 array attribute representing an index tree node. * * XXX this signal is no longer used by TUX and can be removed */ class TupStoreTh { friend class Dbtup; Loading ndb/include/kernel/signaldata/TupFrag.hpp +4 −1 Original line number Diff line number Diff line Loading @@ -69,7 +69,7 @@ class TuxFragReq { friend class Dblqh; friend class Dbtux; public: STATIC_CONST( SignalLength = 9 ); STATIC_CONST( SignalLength = 14 ); private: Uint32 userPtr; Uint32 userRef; Loading @@ -80,6 +80,9 @@ private: Uint32 fragOff; Uint32 tableType; Uint32 primaryTableId; Uint32 tupIndexFragPtrI; Uint32 tupTableFragPtrI[2]; Uint32 accTableFragPtrI[2]; }; class TuxFragConf { Loading ndb/src/kernel/blocks/dbacc/DbaccMain.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -2432,6 +2432,7 @@ void Dbacc::execACC_LOCKREQ(Signal* signal) } fragrecptr.i = req->fragPtrI; ptrCheckGuard(fragrecptr, cfragmentsize, fragmentrec); ndbrequire(req->fragId == fragrecptr.p->myfid); // caller must be explicit here ndbrequire(req->accOpPtr == RNIL); // seize operation to hold the lock Loading ndb/src/kernel/blocks/dblqh/DblqhMain.cpp +12 −0 Original line number Diff line number Diff line Loading @@ -1225,6 +1225,18 @@ Dblqh::sendAddFragReq(Signal* signal) tuxreq->fragOff = addfragptr.p->lh3DistrBits; tuxreq->tableType = addfragptr.p->tableType; tuxreq->primaryTableId = addfragptr.p->primaryTableId; // pointer to index fragment in TUP tuxreq->tupIndexFragPtrI = addfragptr.p->addfragStatus == AddFragRecord::WAIT_TWO_TUX ? fragptr.p->tupFragptr[0] : fragptr.p->tupFragptr[1]; // pointers to table fragments in TUP and ACC FragrecordPtr tFragPtr; tFragPtr.i = fragptr.p->tableFragptr; ptrCheckGuard(tFragPtr, cfragrecFileSize, fragrecord); tuxreq->tupTableFragPtrI[0] = tFragPtr.p->tupFragptr[0]; tuxreq->tupTableFragPtrI[1] = tFragPtr.p->tupFragptr[1]; tuxreq->accTableFragPtrI[0] = tFragPtr.p->accFragptr[0]; tuxreq->accTableFragPtrI[1] = tFragPtr.p->accFragptr[1]; sendSignal(fragptr.p->tuxBlockref, GSN_TUXFRAGREQ, signal, TuxFragReq::SignalLength, JBB); return; Loading ndb/src/kernel/blocks/dbtup/Dbtup.hpp +8 −0 Original line number Diff line number Diff line Loading @@ -996,6 +996,14 @@ public: Dbtup(const class Configuration &); virtual ~Dbtup(); /* * TUX index in TUP has single Uint32 array attribute which stores an * index node. TUX uses following methods. */ int tuxAllocNode(Signal* signal, Uint32 fragPtrI, Uint32& pageId, Uint32& pageOffset, Uint32*& node); void tuxFreeNode(Signal* signal, Uint32 fragPtrI, Uint32 pageId, Uint32 pageOffset, Uint32* node); void tuxGetNode(Uint32 fragPtrI, Uint32 pageId, Uint32 pageOffset, Uint32*& node); private: BLOCK_DEFINES(Dbtup); Loading Loading
ndb/include/kernel/signaldata/TupAccess.hpp +2 −0 Original line number Diff line number Diff line Loading @@ -129,6 +129,8 @@ private: /* * Operate on entire tuple. Used by TUX where the table has a single * Uint32 array attribute representing an index tree node. * * XXX this signal is no longer used by TUX and can be removed */ class TupStoreTh { friend class Dbtup; Loading
ndb/include/kernel/signaldata/TupFrag.hpp +4 −1 Original line number Diff line number Diff line Loading @@ -69,7 +69,7 @@ class TuxFragReq { friend class Dblqh; friend class Dbtux; public: STATIC_CONST( SignalLength = 9 ); STATIC_CONST( SignalLength = 14 ); private: Uint32 userPtr; Uint32 userRef; Loading @@ -80,6 +80,9 @@ private: Uint32 fragOff; Uint32 tableType; Uint32 primaryTableId; Uint32 tupIndexFragPtrI; Uint32 tupTableFragPtrI[2]; Uint32 accTableFragPtrI[2]; }; class TuxFragConf { Loading
ndb/src/kernel/blocks/dbacc/DbaccMain.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -2432,6 +2432,7 @@ void Dbacc::execACC_LOCKREQ(Signal* signal) } fragrecptr.i = req->fragPtrI; ptrCheckGuard(fragrecptr, cfragmentsize, fragmentrec); ndbrequire(req->fragId == fragrecptr.p->myfid); // caller must be explicit here ndbrequire(req->accOpPtr == RNIL); // seize operation to hold the lock Loading
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp +12 −0 Original line number Diff line number Diff line Loading @@ -1225,6 +1225,18 @@ Dblqh::sendAddFragReq(Signal* signal) tuxreq->fragOff = addfragptr.p->lh3DistrBits; tuxreq->tableType = addfragptr.p->tableType; tuxreq->primaryTableId = addfragptr.p->primaryTableId; // pointer to index fragment in TUP tuxreq->tupIndexFragPtrI = addfragptr.p->addfragStatus == AddFragRecord::WAIT_TWO_TUX ? fragptr.p->tupFragptr[0] : fragptr.p->tupFragptr[1]; // pointers to table fragments in TUP and ACC FragrecordPtr tFragPtr; tFragPtr.i = fragptr.p->tableFragptr; ptrCheckGuard(tFragPtr, cfragrecFileSize, fragrecord); tuxreq->tupTableFragPtrI[0] = tFragPtr.p->tupFragptr[0]; tuxreq->tupTableFragPtrI[1] = tFragPtr.p->tupFragptr[1]; tuxreq->accTableFragPtrI[0] = tFragPtr.p->accFragptr[0]; tuxreq->accTableFragPtrI[1] = tFragPtr.p->accFragptr[1]; sendSignal(fragptr.p->tuxBlockref, GSN_TUXFRAGREQ, signal, TuxFragReq::SignalLength, JBB); return; Loading
ndb/src/kernel/blocks/dbtup/Dbtup.hpp +8 −0 Original line number Diff line number Diff line Loading @@ -996,6 +996,14 @@ public: Dbtup(const class Configuration &); virtual ~Dbtup(); /* * TUX index in TUP has single Uint32 array attribute which stores an * index node. TUX uses following methods. */ int tuxAllocNode(Signal* signal, Uint32 fragPtrI, Uint32& pageId, Uint32& pageOffset, Uint32*& node); void tuxFreeNode(Signal* signal, Uint32 fragPtrI, Uint32 pageId, Uint32 pageOffset, Uint32* node); void tuxGetNode(Uint32 fragPtrI, Uint32 pageId, Uint32 pageOffset, Uint32*& node); private: BLOCK_DEFINES(Dbtup); Loading