Commit d3b0753d authored by unknown's avatar unknown
Browse files

Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1

into mc05.(none):/space2/tomas/mysql-4.1-ndb-test

parents a9eb4993 6b099d2c
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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;
+4 −1
Original line number Diff line number Diff line
@@ -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;
@@ -80,6 +80,9 @@ private:
  Uint32 fragOff;
  Uint32 tableType;
  Uint32 primaryTableId;
  Uint32 tupIndexFragPtrI;
  Uint32 tupTableFragPtrI[2];
  Uint32 accTableFragPtrI[2];
};

class TuxFragConf {
+1 −0
Original line number Diff line number Diff line
@@ -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
+12 −0
Original line number Diff line number Diff line
@@ -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;
+8 −0
Original line number Diff line number Diff line
@@ -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