Main Page | Class Hierarchy | Data Structures | Directories | File List | Data Fields | Related Pages

db_join.h

00001 /*-
00002  * See the file LICENSE for redistribution information.
00003  *
00004  * Copyright (c) 1998-2005
00005  *      Sleepycat Software.  All rights reserved.
00006  *
00007  * $Id: db_join.h,v 12.2 2005/06/16 20:21:47 bostic Exp $
00008  */
00009 
00010 #ifndef _DB_JOIN_H_
00011 #define _DB_JOIN_H_
00012 /*
00013  * Joins use a join cursor that is similar to a regular DB cursor except
00014  * that it only supports c_get and c_close functionality.  Also, it does
00015  * not support the full range of flags for get.
00016  */
00017 typedef struct __join_cursor {
00018         u_int8_t *j_exhausted;  /* Array of flags; is cursor i exhausted? */
00019         DBC     **j_curslist;   /* Array of cursors in the join: constant. */
00020         DBC     **j_fdupcurs;   /* Cursors w/ first instances of current dup. */
00021         DBC     **j_workcurs;   /* Scratch cursor copies to muck with. */
00022         DB       *j_primary;    /* Primary dbp. */
00023         DBT       j_key;        /* Used to do lookups. */
00024         DBT       j_rdata;      /* Memory used for data return. */
00025         u_int32_t j_ncurs;      /* How many cursors do we have? */
00026 #define JOIN_RETRY      0x01    /* Error on primary get; re-return same key. */
00027         u_int32_t flags;
00028 } JOIN_CURSOR;
00029 
00030 #endif /* !_DB_JOIN_H_ */

Generated on Sun Dec 25 12:14:22 2005 for Berkeley DB 4.4.16 by  doxygen 1.4.2