|
|
1.1 ! root 1: # ! 2: /* ! 3: ** BTREE.H -- type definitions and constants for B-Tree structures ! 4: ** ! 5: ** Version : ! 6: ** @(#)btree.h 8.1 12/31/84 ! 7: */ ! 8: ! 9: # include <ingres.h> ! 10: # include <access.h> ! 11: ! 12: # define RT 0 /* page number of root */ ! 13: # define MAXLID 3 ! 14: # define MAXPTRS 124 /* maximum number of key/ptr pairs in ! 15: ** an interior node */ ! 16: # define MAXLEAVES 82 /* maximum number of tids in a leaf */ ! 17: # define BTREE "_SYSbtree" /* temporary btree file */ ! 18: # define LIDSIZE 4 ! 19: ! 20: typedef struct ! 21: { ! 22: long key[MAXPTRS]; ! 23: long ptr[MAXPTRS]; ! 24: char excess[4]; ! 25: } Interior; /* BTree interior node */ ! 26: ! 27: typedef struct ! 28: { ! 29: long prevleaf; ! 30: long nextleaf; ! 31: int tid_loc[MAXLEAVES]; ! 32: int back_ptr[MAXLEAVES]; ! 33: long tid_pos[MAXLEAVES]; ! 34: char excess[4]; ! 35: } Leaf; /* BTree leaf node */ ! 36: ! 37: struct BTreeNode ! 38: { ! 39: short depth; ! 40: long prevtree; ! 41: long nexttree; ! 42: TID prttree; ! 43: char nodetype; /* indicates node type */ ! 44: int nelmts; /* number of elements in a node */ ! 45: long parent; /* page number of node's parent */ ! 46: union ! 47: { ! 48: Interior intnode; ! 49: Leaf leafnode; ! 50: } node; ! 51: }; ! 52: ! 53: struct locator ! 54: { ! 55: int offset; /* offset into array of node values */ ! 56: struct BTreeNode page; /* page containing information ! 57: ** in node of BTree */ ! 58: long pageno; /* page number of node */ ! 59: }; ! 60: ! 61: long Prev_lid[MAXLID]; ! 62: long Repl_cnt[MAXLID];
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.