Logo Search packages:      
Sourcecode: maxdb-7.5.00 version File versions  Download package

cbd400_InvTree Class Reference

#include <gbd400.h>

Inheritance diagram for cbd400_InvTree:

cbd500_Tree

List of all members.


Detailed Description

class: cbd400_InvTree description: This class offers methods to handle B*-Trees used for Indexes

TreeLock protocoll is implemented here and InvTree special tree functions. The InvTree inherits from cbd500_Tree

Definition at line 72 of file gbd400.h.


Public Member Functions

void bd400AppendPrimKey (tsp00_KeyPtr pSecKey, tsp00_Int4 SecKeyLen, tsp00_KeyPtr pPrimKey, tsp00_Int4 PrimKeyLen, bool bNextSecKey, bool bInvListRefNeeded, tsp00_Int4 &RecIndex)
void bd400DropTreeKeepLeaves (cbd600_Node &FirstLeaf)
void bd500_WriteTrace (const char *Line, tsp00_Int4 LineLen) const
void bd500Break (const tsp00_Int4 recIndex, const tsp00_KeyPtr rePositionKey, tsp00_Int2 &rePositionKeyLen)
void bd500Continue (const tsp00_KeyPtr rePositionKey, const tsp00_Int2 rePositionKeyLen)
void bd500Copy (const cbd500_Tree &SrcTree)
cbd600_Nodebd500CurrentNode () const
void bd500FindNode (tsp00_KeyPtr pKey, tsp00_Int4 KeyLen, tsp00_Int4 Level)
cbd300_InvCurrentBasisbd500GetTheCurrent () const
tsp00_Int4 bd500LeafCount () const
tsp00_PageNo bd500LeftNeighbor ()
tsp00_PageNo bd500LeftNeighborId (cbd600_Node &auxNode) const
void bd500NextNode ()
void bd500PrevNode ()
void bd500Print (const char *Title=NULL) const
bool bd500PropagationNeeded () const
void bd500ReleaseTree (bool bCurrNodeIsChanged=true) const
void bd500SetToFirstLeaf ()
void bd500SetToLastLeaf ()
void bd500SetToLeftMostPageOnLowerLevel ()
void bd500SetToNodeOnEdge (bool leftEdge, tsp00_Int2 level)
void bd500SetToRoot (bool bCheckLocks=true)
void bd520LeafCountPropagation (tsp00_KeyPtr pKey=NULL, tsp00_Int4 KeyLen=0)
bool bd520LeafOverflow (tsp00_KeyPtr pKey, tsp00_Int4 KeyLen, bool bInsNewRecord, tsp00_Int4 RequiredLen, tsp00_Int4 &RecIndex)
bool bd520LeafUnderFlow (tsp00_KeyPtr pKey, tsp00_Int4 KeyLen)
void bd530AddRecordSpace (tsp00_KeyPtr pKey, tsp00_Int4 KeyLen, tsp00_Int4 RequiredRecLen, tgg00_RecPtr &pRec)
void bd530AppendRecordSpace (tsp00_KeyPtr pKey, tsp00_Int4 KeyLen, tsp00_Int4 RequiredRecLen, tgg00_RecPtr &pRec)
void bd530DelRecord (tsp00_KeyPtr pKey, tsp00_Int4 KeyLen)
void bd530GetRecord (tsp00_KeyPtr pKey, tsp00_Int4 KeyLen, tgg00_RecPtr &pRec)
void bd530UpdRecordSpace (tsp00_KeyPtr pKey, tsp00_Int4 KeyLen, tsp00_Int4 RequiredRecLen, tgg00_RecPtr &pRec)
 cbd400_InvTree (cbd600_Node &LeafNode)

Static Public Member Functions

static void bd500FindBranch (cbd600_Node &Node, tsp00_KeyPtr pSepKey, tsp00_Int4 SepKeyLen, tsp00_Int4 &SepRecIndex)

Protected Member Functions

void bd400_SetToNewSubRoot ()
bool bd500_BeyondStopKey (bool bAscending) const
virtual void bd500_CheckStopKeyAndInterrupt (bool bAscending)
void bd500_FindBranch (tsp00_KeyPtr pSepKey, tsp00_Int4 SepKeyLen, tsp00_Int4 &SepRecIndex) const
void bd500_Init ()
void bd500_InvalidIndexStructure (tsp00_Int4 MsgNo, const char *MsgText, tsp00_Int4 BadValue)
void bd500_NextSubNode (tsp00_Int4 RecIndex, tsp00_Int4 TargetLevel, tbd_node_request NodeRequest)
void bd500_PrevIndexNode ()
void bd510_ExcuteOrdersOnOneLevel (cbd501_IndexOrders &Orders, tsp00_Int4 &NumNodeDiff)
void bd510_ExecuteAddOrder (cbd501_IndexOrder &Order, bool bLastOrderForCurrentNode, bool bFirstKeyIsChanged, cbd520_Separator &Separator, tsp00_Int4 &SepRecIndex, cbd600_Node &Neighbor, cbd600_Node &NextNeighbor, cbd501_IndexOrders &NewOrders, tsp00_Int4 &NumNodeDiff)
void bd510_ExecuteChangeOrder (cbd501_IndexOrder &Order, bool bLastOrderForCurrentNode, bool bFirstKeyIsChanged, bool bUnderflowAllowed, cbd520_Separator &Separator, tsp00_Int4 &SepRecIndex, cbd600_Node &Neighbor, cbd600_Node &NextNeighbor, cbd501_IndexOrders &NewOrders, tsp00_Int4 &NumNodeDiff)
void bd510_ExecuteDeleteOrder (cbd501_IndexOrder &Order, bool bLastOrderForCurrentNode, bool bFirstKeyIsChanged, bool bUnderflowAllowed, cbd520_Separator &Separator, tsp00_Int4 &SepRecIndex, cbd600_Node &Neighbor, cbd600_Node &AuxNode, cbd501_IndexOrders &NewOrders, tsp00_Int4 &NumNodeDiff)
void bd510_InsertNewLevel (cbd600_Node &RightNeighbor, tsp00_KeyPtr pSepKey, tsp00_Int4 SepKeyLen, tsp00_Int4 RecIndex, bool bRecordIsInRightNode, cbd600_Node &NewLeftSubNode, tsp00_Int4 &NumAddedNodes)
void bd510_PrepareOrderExecutionOnNextHigherLevel (cbd501_IndexOrders &Orders)
void bd510_SetLeftMostIdNextLowerLevel (tbd_nodeptr pNode)
bool bd510_TryToRemoveLevel (cbd600_Node &Neighbor)
void bd520_DistributeFromLeft (cbd600_Node &Neighbor, tsp00_Int4 Covering, tsp00_Int4 NeighborCovering, cbd501_IndexOrders &NewOrders)
void bd520_DistributeFromRight (cbd600_Node &Neighbor, tsp00_Int4 Covering, tsp00_Int4 NeighborCovering, bool bFirstRecUpdated, cbd501_IndexOrders &NewOrders)
void bd520_DistributeLeft (cbd600_Node &Neighbor, tgg00_MessType_Enum DistribReason, tsp00_Int4 RequiredLen, tsp00_KeyPtr pKey, tsp00_Int4 KeyLen, tsp00_Int4 LeafCount, tsp00_Int4 &RecIndex, cbd501_IndexOrders &NewOrders)
void bd520_DistributeRight (cbd600_Node &Neighbor, cbd600_Node &NextNeighbor, bool bNewNodeInserted, bool bFirstRecUpdated, tgg00_MessType_Enum DistribReason, tsp00_Int4 RequiredLen, tsp00_KeyPtr pKey, tsp00_Int4 KeyLen, tsp00_Int4 LeafCount, tsp00_Int4 &RecIndex, tsp00_Int4 &NumAddedNodes, cbd501_IndexOrders &NewOrders)
void bd520_Overflow (cbd600_Node &Neighbor, cbd600_Node &NextNeighbor, tsp00_KeyPtr pKey, tsp00_Int4 KeyLen, tsp00_Int4 LeafCount, bool bInsNewRecord, bool bFirstRecUpdated, tsp00_Int4 RequiredLen, tsp00_Int4 &RecIndex, tsp00_Int4 &NumNodeDiff, cbd501_IndexOrders &NewOrders)
void bd520_Propagate (bool bWithKey, cbd501_IndexOrders &NewOrders)
void bd520_ThreeNodeDistribution (cbd600_Node &Neighbor, cbd600_Node &NextNeighbor, tgg00_MessType_Enum DistribReason, bool bNewNodeInserted, bool bFirstRecUpdated, tsp00_KeyPtr pKey, tsp00_Int4 KeyLen, tsp00_Int4 LeafCount, tsp00_Int4 &RecIndex, cbd501_IndexOrders &NewOrders)
void bd520_UnderFlow (cbd600_Node &Neighbor, cbd600_Node &AuxNode, bool bFirstRecUpdated, tsp00_Int4 &NumNodeDiff, cbd501_IndexOrders &NewOrders)

Protected Attributes

tsp00_Int4 m_CurrLevel
const bool m_Interruptible
tsp00_PageNo m_LeftMostIdNextLowerLevel
cbd600_Nodem_Node
tbd500_PathInfo m_PathInfo
tsp00_KeyPtr m_pStopKey
tsp00_Int4 m_RootLevel
tsp00_Int4 m_StopKeyLen
cbd500_Tree m_SubTree
cbd300_InvSubTreeCurrent m_SubTreeCurrent
cbd600_Node m_SubTreeLeaf
tgg00_BasisError & m_TrError

The documentation for this class was generated from the following files:

Generated by  Doxygen 1.6.0   Back to index