|
|
BSD 4.3
/*
** Definitions for the range table.
**
** Version:
** @(#)range.h 8.2 1/15/85
*/
# ifndef MAXRANGE
# define MAXRANGE (MAXVAR + 1)
/*
** DESCRIPTOR struct
**
** The DESCRIPTOR struct is initialized by OPENR to describe any
** open relation. The first part of the descriptor is the tuple
** from the RELATION relation. The remainder contains some magic
** numbers and a template initialized from the ATTRIBUTE relation.
**
** This structure also defines the range table.
*/
struct descriptor
{
struct relation reldum;
/*the above part of the descriptor struct is identical
to the relation struct and the inormation in this
part of the struct is read directly from the
relation tuple by openr. the rest of the descriptor
struct is calculated by openr. */
char relvname[MAXNAME]; /* range variable name */
i_2 relfp; /*filep for relation , if open */
i_2 relopn; /*indicates if relation is really open*/
tid_type reltid; /*when relation is open, this indicates
the tid in the relation relation for
this relation */
i_4 reladds; /*no. of additions of tuples during this open*/
i_2 reloff[MAXDOM]; /*reloff[i] is offset to domain i */
c_1 relfrmt[MAXDOM]; /* format of domain i
** INT, FLOAT, or CHAR */
c_1 relfrml[MAXDOM]; /* relfrml[i] is an unsigned integer
which indicates length
in bytes of domain */
c_1 relxtra[MAXDOM]; /*relxtra[i] is non-zero if domain i is
** a key domain for the relation */
c_1 relgiven[MAXDOM]; /*cleared by openr and set before
call to find to indicate value of this
domain has been supplied in the key*/
struct descriptor *relbtree; /* used to store info about
secondary btree stucture */
int btree_fd; /* contains pointer to btree file */
};
typedef struct descriptor DESC;
/*
** Various modes to openr.
*/
# define OR_READ 0 /* Open relation for reading */
# define OR_WRITE 2 /* Open relation for writing */
# define OR_RELTID -1 /* Only get relation relation
** tuple and tid only */
# define OR_AREAD -2 /* Open for reading after OR_RELTID */
# define OR_AWRITE -3 /* Open for writing after OR_RELTID */
# define OR_REREAD -4 /* Open for reading after openr()/closer() */
# define OR_REWRITE -5 /* Open for writing after openr()/closer() */
typedef struct
{
DESC *rngvdesc; /* pointer to descriptor for this var */
bool rngvmark; /* send if marked */
} RANGEV;
# endif MAXRANGE
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.