#ifndef INLIST_H #define INLIST_H /****************************************************************************** * * Inlist structures, a bayer tree * * Module %M% Version %I% Date %H% * * (c) Copyright 1998 Ardent Software Inc. - All Rights Reserved * This is unpublished proprietary source code of Ardent Software Inc. * The copyright notice above does not evidence any actual or intented * publication of such source code. * ******************************************************************************* * * Maintenence log - insert most recent change descriptions at top * * Date.... GTAR# WHO Description......................................... * 10/14/98 23801 SAP Change copyrights. * 04/24/95 16305 CSM enhance BTscan,BTprint for a B-tree on disk * 02/02/95 15893 SHK Change page to uvpage * 06/22/94 14292 CSM force B-tree to remain in memory, data ptr * 01/05/93 10506 ENF Add Sql NULL SEEN flag to inlist struct * 10/07/92 10360 JKW Move inlist defs to inlist.h * *****************************************************************************/ /* inlist structures. These are the components of an inlist. */ #define PGN 2 struct item { STRING key; struct uvpage *p; int count; STRING data; }; typedef struct item ITEM; struct uvpage { int m; struct uvpage *p0; ITEM *e[PGN*2]; }; typedef struct uvpage PAGE; struct inlist { int memuse; int count; int sqlnullseen; PAGE *root; DBFILE *t25inlist; unsigned int inmem:1; /* Don't flush tree to disk */ }; typedef struct inlist INLIST; struct inlistc { union { struct memcur { struct inlistc *next; PAGE *pptr; } mem; struct dskcur { struct SHdata *disk_shd; DBFILE *t25inlist; } dsk; } u; int node_m; }; typedef struct inlistc INLISTC; /* Cursor for BT scan */ #define DISKROOT(a) (a->t25inlist) EXTERN INLIST *InsInitRoot(); EXTERN INLISTC *BTinitscan(); EXTERN INLISTC *BTtermscan(); EXTERN INLISTC *BTscan(); #endif