Xbase64 Class Library
3.1.2
|
Go to the documentation of this file.
44 #ifdef __GNU_LesserG__
57 #define XB_INLINE_GETDBFNO
59 #define XB_NDX_NODE_BASESIZE 24 // size of base header data
61 #define XB_VAR_NODESIZE // define to enable variable node sizes
63 #ifndef XB_VAR_NODESIZE
64 #define XB_NDX_NODE_SIZE 2048
67 #define XB_DEFAULT_NDX_NODE_SIZE 512
68 #define XB_MAX_NDX_NODE_SIZE 4096
69 #define XB_NDX_NODE_SIZE NodeSize
70 #define XB_NDX_NODE_MULTIPLE 512
71 #endif // XB_VAR_NODESIZE
89 #ifndef XB_VAR_NODESIZE
93 #endif // XB_VAR_NODESIZE
102 #ifndef XB_VAR_NODESIZE
106 #endif // XB_VAR_NODESIZE
149 void DumpHdrNode(
xbShort Option );
150 void DumpNodeRec(
xbLong NodeNo );
151 void DumpNodeChain();
190 #ifndef XB_VAR_NODESIZE
194 #endif // XB_VAR_NODESIZE
215 if(!( Key1 && Key2 ))
return -1;
221 c = memcmp(Key1, Key2, Klen);
230 d1 = dbf->xbase->GetDouble( Key1 );
231 d2 = dbf->xbase->GetDouble( Key2 );
232 if( d1 == d2 )
return 0;
233 else if( d1 > d2 )
return 1;
238 #ifndef XB_INLINE_GETDBFNO
252 p += RecNo * ( 8 + HeadNode.
KeyLen );
253 return( dbf->xbase->GetLong( p ));
264 xbLong GetLeafFromInteriorNode(
const char *Tkey,
xbShort Klen );
284 void ProcessDeleteList();
virtual xbShort GetFirstKey()=0
virtual void SetNodeSize(xbShort size)
Definition: xbindex.h:92
xbUShort KeyType
Definition: xbndx.h:84
char KeyRecs[XB_MAX_NDX_NODE_SIZE - 4]
Definition: xbndx.h:105
char Unknown2
Definition: xbndx.h:86
xbNdxNodeLink * FreeNodeChain
Definition: xbndx.h:197
virtual xbShort CreateIndex(const char *, const char *, xbShort, xbShort)=0
xbLong TotalNodes
Definition: xbndx.h:79
char Unique
Definition: xbndx.h:87
xbMH struct
Definition: xbdbf.h:190
xbLong NoOfKeysThisNode
Definition: xbndx.h:101
xbShort GetFirstKey()
Short description.
Definition: xbndx.h:165
#define XBDLLEXPORT
Definition: xbase64.h:87
virtual xbShort KeyWasChanged()=0
xbNdxHeadnode struct
Definition: xbndx.h:77
xbLong KeySize
Definition: xbndx.h:85
struct xbNdxLeafNode Leaf
Definition: xbndx.h:118
double xbDouble
xbDouble type
Definition: xbtypes.h:73
unsigned long int xbULong
xbULong type
Definition: xbtypes.h:50
short int xbShort
xbShort type
Definition: xbtypes.h:60
xbLong StartNode
Definition: xbndx.h:78
virtual xbShort KeyExists(xbDouble)=0
short int xbBool
xbBool type
Definition: xbtypes.h:78
xbLong ReusedxbNodeLinks
Definition: xbndx.h:188
long xbLong
Definition: xbtypes.h:61
virtual xbUShort GetKeyLen()=0
xbNdxNodeLink * NextNode
Definition: xbndx.h:115
xbNdxNodeLink * CurNode
Definition: xbndx.h:198
virtual xbShort GetPrevKey()=0
virtual const char * GetKeyExpression()=0
xbNdxLeafNode LeafNode
Definition: xbndx.h:186
xbShort KeyExists(const char *Key)
Definition: xbndx.h:171
xbIndex class
Definition: xbindex.h:62
#define XB_NDX_NODE_SIZE
Definition: xbndx.h:69
virtual xbShort CreateKey(xbShort, xbShort)=0
unsigned short int xbUShort
xbUShort type
Definition: xbtypes.h:55
virtual xbLong GetTotalNodes()=0
virtual xbShort GetNextKey()=0
xbLong GetDbfNo(xbShort RecNo, xbNdxNodeLink *n)
Short description.
Definition: xbndx.h:244
xbNdx class
Definition: xbndx.h:125
virtual xbShort ReIndex(void(*statusFunc)(xbLong itemNum, xbLong numItems)=0)=0
xbNdxNodeLink struct
Definition: xbndx.h:113
xbULong GetCurDbfRec()
Definition: xbndx.h:138
xbNdxLeafNode struct
Definition: xbndx.h:100
xbLong NodeNo
Definition: xbndx.h:117
virtual xbShort GetLastKey()=0
virtual void GetExpression(char *buf, int len)=0
xbNdxHeadNode HeadNode
Definition: xbndx.h:185
xbULong CurDbfRec
Definition: xbindex.h:126
virtual xbShort DeleteKey(xbLong)=0
xbShort UniqueIndex()
Definition: xbndx.h:142
virtual xbShort AddKey(xbLong)=0
xbLong CurKeyNo
Definition: xbndx.h:116
virtual xbShort FindKey()=0
xbLong NoOfKeys
Definition: xbndx.h:80
xbNdxNodeLink * PrevNode
Definition: xbndx.h:114
virtual xbShort GetCurrentKey(char *key)=0
xbShort CompareKey(const char *Key1, const char *Key2, xbShort Klen)
Short description.
Definition: xbndx.h:210
xbLong xbNodeLinkCtr
Definition: xbndx.h:187
virtual xbShort GetHeadNode()=0
xbNdxNodeLink * DeleteChain
Definition: xbndx.h:199
xbShort GetLastKey()
Short description.
Definition: xbndx.h:161
virtual void FreeNodesMemory()=0
xbShort GetPrevKey()
Short description.
Definition: xbndx.h:169
#define XB_MAX_NDX_NODE_SIZE
Definition: xbndx.h:68
xbNdxNodeLink * NodeChain
Definition: xbndx.h:196
xbShort GetNextKey()
Short description.
Definition: xbndx.h:157
xbUShort KeysPerNode
Definition: xbndx.h:83
xbUShort KeyLen
Definition: xbndx.h:82
virtual const char * GetExtWithDot(bool lower)=0