Commit 0fbbaf9e authored by unknown's avatar unknown
Browse files

NDB dbtux - remove obsolete code


ndb/src/kernel/blocks/dbtux/Dbtux.hpp:
  remove obsolete node-access-size stuff
ndb/src/kernel/blocks/dbtux/DbtuxDebug.cpp:
  remove obsolete node-access-size stuff
ndb/src/kernel/blocks/dbtux/DbtuxNode.cpp:
  remove obsolete node-access-size stuff
ndb/src/kernel/blocks/dbtux/DbtuxScan.cpp:
  remove obsolete node-access-size stuff
ndb/src/kernel/blocks/dbtux/DbtuxSearch.cpp:
  remove obsolete node-access-size stuff
ndb/src/kernel/blocks/dbtux/DbtuxTree.cpp:
  remove obsolete node-access-size stuff
parent bba3ab07
Loading
Loading
Loading
Loading
+6 −17
Original line number Diff line number Diff line
@@ -250,8 +250,8 @@ private:
  static const unsigned NodeHeadSize = sizeof(TreeNode) >> 2;

  /*
   * Tree nodes are not always accessed fully, for cache reasons.  There
   * are 3 access sizes.
   * Tree node "access size" was for an early version with signal
   * interface to TUP.  It is now used only to compute sizes.
   */
  enum AccSize {
    AccNone = 0,
@@ -522,7 +522,6 @@ private:
    Frag& m_frag;               // fragment using the node
    TupLoc m_loc;               // physical node address
    TreeNode* m_node;           // pointer to node storage
    AccSize m_acc;              // accessed size
    NodeHandle(Frag& frag);
    NodeHandle(const NodeHandle& node);
    NodeHandle& operator=(const NodeHandle& node);
@@ -583,9 +582,8 @@ private:
   * DbtuxNode.cpp
   */
  int allocNode(Signal* signal, NodeHandle& node);
  void accessNode(Signal* signal, NodeHandle& node, AccSize acc);
  void selectNode(Signal* signal, NodeHandle& node, TupLoc loc, AccSize acc);
  void insertNode(Signal* signal, NodeHandle& node, AccSize acc);
  void selectNode(Signal* signal, NodeHandle& node, TupLoc loc);
  void insertNode(Signal* signal, NodeHandle& node);
  void deleteNode(Signal* signal, NodeHandle& node);
  void setNodePref(Signal* signal, NodeHandle& node);
  // node operations
@@ -1086,8 +1084,7 @@ inline
Dbtux::NodeHandle::NodeHandle(Frag& frag) :
  m_frag(frag),
  m_loc(),
  m_node(0),
  m_acc(AccNone)
  m_node(0)
{
}

@@ -1095,8 +1092,7 @@ inline
Dbtux::NodeHandle::NodeHandle(const NodeHandle& node) :
  m_frag(node.m_frag),
  m_loc(node.m_loc),
  m_node(node.m_node),
  m_acc(node.m_acc)
  m_node(node.m_node)
{
}

@@ -1106,7 +1102,6 @@ Dbtux::NodeHandle::operator=(const NodeHandle& node)
  ndbassert(&m_frag == &node.m_frag);
  m_loc = node.m_loc;
  m_node = node.m_node;
  m_acc = node.m_acc;
  return *this;
}

@@ -1192,7 +1187,6 @@ inline Dbtux::Data
Dbtux::NodeHandle::getPref()
{
  TreeHead& tree = m_frag.m_tree;
  ndbrequire(m_acc >= AccPref);
  return tree.getPref(m_node);
}

@@ -1203,11 +1197,6 @@ Dbtux::NodeHandle::getEnt(unsigned pos)
  TreeEnt* entList = tree.getEntList(m_node);
  const unsigned occup = m_node->m_occup;
  ndbrequire(pos < occup);
  if (pos == 0 || pos == occup - 1) {
    ndbrequire(m_acc >= AccPref)
  } else {
    ndbrequire(m_acc == AccFull)
  }
  return entList[(1 + pos) % occup];
}

+15 −22
Original line number Diff line number Diff line
@@ -122,7 +122,7 @@ Dbtux::printNode(Signal* signal, Frag& frag, NdbOut& out, TupLoc loc, PrintPar&
  }
  TreeHead& tree = frag.m_tree;
  NodeHandle node(frag);
  selectNode(signal, node, loc, AccFull);
  selectNode(signal, node, loc);
  out << par.m_path << " " << node << endl;
  // check children
  PrintPar cpar[2];
@@ -407,9 +407,7 @@ operator<<(NdbOut& out, const Dbtux::NodeHandle& node)
  const Dbtux::TreeHead& tree = frag.m_tree;
  out << "[NodeHandle " << hex << &node;
  out << " [loc " << node.m_loc << "]";
  out << " [acc " << dec << node.m_acc << "]";
  out << " [node " << *node.m_node << "]";
  if (node.m_acc >= Dbtux::AccPref) {
  const Uint32* data;
  out << " [pref";
  data = (const Uint32*)node.m_node + Dbtux::NodeHeadSize;
@@ -418,17 +416,12 @@ operator<<(NdbOut& out, const Dbtux::NodeHandle& node)
  out << "]";
  out << " [entList";
  unsigned numpos = node.m_node->m_occup;
    if (node.m_acc < Dbtux::AccFull && numpos > 2) {
      numpos = 2;
      out << "(" << dec << numpos << ")";
    }
  data = (const Uint32*)node.m_node + Dbtux::NodeHeadSize + tree.m_prefSize;
  const Dbtux::TreeEnt* entList = (const Dbtux::TreeEnt*)data;
  // print entries in logical order
  for (unsigned pos = 1; pos <= numpos; pos++)
    out << " " << entList[pos % numpos];
  out << "]";
  }
  out << "]";
  return out;
}
+3 −19
Original line number Diff line number Diff line
@@ -33,30 +33,16 @@ Dbtux::allocNode(Signal* signal, NodeHandle& node)
    jam();
    node.m_loc = TupLoc(pageId, pageOffset);
    node.m_node = reinterpret_cast<TreeNode*>(node32);
    node.m_acc = AccNone;
    ndbrequire(node.m_loc != NullTupLoc && node.m_node != 0);
  }
  return errorCode;
}

/*
 * Access more of the node.
 */
void
Dbtux::accessNode(Signal* signal, NodeHandle& node, AccSize acc)
{
  ndbrequire(node.m_loc != NullTupLoc && node.m_node != 0);
  if (node.m_acc >= acc)
    return;
  // XXX could do prefetch
  node.m_acc = acc;
}

/*
 * Set handle to point to existing node.
 */
void
Dbtux::selectNode(Signal* signal, NodeHandle& node, TupLoc loc, AccSize acc)
Dbtux::selectNode(Signal* signal, NodeHandle& node, TupLoc loc)
{
  Frag& frag = node.m_frag;
  ndbrequire(loc != NullTupLoc);
@@ -67,21 +53,19 @@ Dbtux::selectNode(Signal* signal, NodeHandle& node, TupLoc loc, AccSize acc)
  jamEntry();
  node.m_loc = loc;
  node.m_node = reinterpret_cast<TreeNode*>(node32);
  node.m_acc = AccNone;
  ndbrequire(node.m_loc != NullTupLoc && node.m_node != 0);
  accessNode(signal, node, acc);
}

/*
 * Set handle to point to new node.  Uses the pre-allocated node.
 */
void
Dbtux::insertNode(Signal* signal, NodeHandle& node, AccSize acc)
Dbtux::insertNode(Signal* signal, NodeHandle& node)
{
  Frag& frag = node.m_frag;
  TupLoc loc = frag.m_freeLoc;
  frag.m_freeLoc = NullTupLoc;
  selectNode(signal, node, loc, acc);
  selectNode(signal, node, loc);
  new (node.m_node) TreeNode();
#ifdef VM_TRACE
  TreeHead& tree = frag.m_tree;
+4 −6
Original line number Diff line number Diff line
@@ -275,7 +275,7 @@ Dbtux::execNEXT_SCANREQ(Signal* signal)
      jam();
      const TupLoc loc = scan.m_scanPos.m_loc;
      NodeHandle node(frag);
      selectNode(signal, node, loc, AccHead);
      selectNode(signal, node, loc);
      unlinkScan(node, scanPtr);
      scan.m_scanPos.m_loc = NullTupLoc;
    }
@@ -710,7 +710,7 @@ Dbtux::scanFirst(Signal* signal, ScanOpPtr scanPtr)
  scan.m_state = ScanOp::Next;
  // link the scan to node found
  NodeHandle node(frag);
  selectNode(signal, node, treePos.m_loc, AccFull);
  selectNode(signal, node, treePos.m_loc);
  linkScan(node, scanPtr);
}

@@ -767,7 +767,7 @@ Dbtux::scanNext(Signal* signal, ScanOpPtr scanPtr)
  TreePos pos = scan.m_scanPos;
  // get and remember original node
  NodeHandle origNode(frag);
  selectNode(signal, origNode, pos.m_loc, AccHead);
  selectNode(signal, origNode, pos.m_loc);
  ndbrequire(islinkScan(origNode, scanPtr));
  // current node in loop
  NodeHandle node = origNode;
@@ -784,7 +784,7 @@ Dbtux::scanNext(Signal* signal, ScanOpPtr scanPtr)
    }
    if (node.m_loc != pos.m_loc) {
      jam();
      selectNode(signal, node, pos.m_loc, AccHead);
      selectNode(signal, node, pos.m_loc);
    }
    if (pos.m_dir == 4) {
      // coming down from parent proceed to left child
@@ -811,8 +811,6 @@ Dbtux::scanNext(Signal* signal, ScanOpPtr scanPtr)
      jam();
      unsigned occup = node.getOccup();
      ndbrequire(occup >= 1);
      // access full node
      accessNode(signal, node, AccFull);
      // advance position
      if (! pos.m_match)
        pos.m_match = true;
+3 −9
Original line number Diff line number Diff line
@@ -46,7 +46,7 @@ Dbtux::searchToAdd(Signal* signal, Frag& frag, ConstData searchKey, TreeEnt sear
  NodeHandle bottomNode(frag);
  while (true) {
    jam();
    selectNode(signal, currNode, currNode.m_loc, AccPref);
    selectNode(signal, currNode, currNode.m_loc);
    int ret;
    // compare prefix
    unsigned start = 0;
@@ -100,8 +100,6 @@ Dbtux::searchToAdd(Signal* signal, Frag& frag, ConstData searchKey, TreeEnt sear
    }
    break;
  }
  // access rest of current node
  accessNode(signal, currNode, AccFull);
  // anticipate
  treePos.m_loc = currNode.m_loc;
  // binary search
@@ -184,7 +182,7 @@ Dbtux::searchToRemove(Signal* signal, Frag& frag, ConstData searchKey, TreeEnt s
  NodeHandle glbNode(frag);     // potential g.l.b of final node
  while (true) {
    jam();
    selectNode(signal, currNode, currNode.m_loc, AccPref);
    selectNode(signal, currNode, currNode.m_loc);
    int ret;
    // compare prefix
    unsigned start = 0;
@@ -235,8 +233,6 @@ Dbtux::searchToRemove(Signal* signal, Frag& frag, ConstData searchKey, TreeEnt s
    }
    break;
  }
  // access rest of current node
  accessNode(signal, currNode, AccFull);
  // anticipate
  treePos.m_loc = currNode.m_loc;
  // pos 0 was handled above
@@ -275,7 +271,7 @@ Dbtux::searchToScan(Signal* signal, Frag& frag, ConstData boundInfo, unsigned bo
  NodeHandle bottomNode(frag);
  while (true) {
    jam();
    selectNode(signal, currNode, currNode.m_loc, AccPref);
    selectNode(signal, currNode, currNode.m_loc);
    int ret;
    // compare prefix
    ret = cmpScanBound(frag, 0, boundInfo, boundCount, currNode.getPref(), tree.m_prefSize);
@@ -324,8 +320,6 @@ Dbtux::searchToScan(Signal* signal, Frag& frag, ConstData boundInfo, unsigned bo
    }
    break;
  }
  // access rest of current node
  accessNode(signal, currNode, AccFull);
  for (unsigned j = 0, occup = currNode.getOccup(); j < occup; j++) {
    jam();
    int ret;
Loading