db

db_page.h File Reference

Go to the source code of this file.


Classes

struct _binternal
struct _bkeydata
struct _boverflow
struct _btmeta31
struct _db_page
struct _dbmeta31
struct _hashmeta31
struct _hkeydata
struct _hoffdup
struct _hoffpage
struct _qmeta31
struct _qpage
struct _rinternal

Defines

#define __P_DUPLICATE 1
#define B_DCLR(t) (t) &= ~B_DELETE
#define B_DELETE (0x80)
#define B_DISSET(t) ((t) & B_DELETE)
#define B_DSET(t) (t) |= B_DELETE
#define B_DUPLICATE 2
#define B_KEYDATA 1
#define B_OVERFLOW 3
#define B_TSET(t, type, deleted)
#define B_TYPE(t) ((t) & ~B_DELETE)
#define BINTERNAL_PSIZE(len) (BINTERNAL_SIZE(len) + sizeof(db_indx_t))
#define BINTERNAL_SIZE(len) ALIGN((len) + SSZA(BINTERNAL, data), 4)
#define BKEYDATA_PSIZE(len) (BKEYDATA_SIZE(len) + sizeof(db_indx_t))
#define BKEYDATA_SIZE(len) ALIGN((len) + SSZA(BKEYDATA, data), 4)
#define BOVERFLOW_PSIZE (BOVERFLOW_SIZE + sizeof(db_indx_t))
#define BOVERFLOW_SIZE ALIGN(sizeof(BOVERFLOW), 4)
#define BTM_DUP 0x001
#define BTM_DUPSORT 0x040
#define BTM_FIXEDLEN 0x008
#define BTM_MASK 0x07f
#define BTM_RECNO 0x002
#define BTM_RECNUM 0x004
#define BTM_RENUMBER 0x010
#define BTM_SUBDB 0x020
#define DB_HASH_DUP 0x01
#define DB_HASH_DUPSORT 0x04
#define DB_HASH_SUBDB 0x02
#define DB_PAGE_DB_LEN 32
#define DBMETASIZE 256
#define GET_BINTERNAL(pg, indx) ((BINTERNAL *)P_ENTRY(pg, indx))
#define GET_BKEYDATA(pg, indx) ((BKEYDATA *)P_ENTRY(pg, indx))
#define GET_BOVERFLOW(pg, indx) ((BOVERFLOW *)P_ENTRY(pg, indx))
#define GET_RINTERNAL(pg, indx) ((RINTERNAL *)P_ENTRY(pg, indx))
#define H_DATAINDEX(indx) ((indx) + 1)
#define H_DUPLICATE 2
#define H_KEYDATA 1
#define H_KEYINDEX(indx) (indx)
#define H_NUMPAIRS(pg) (NUM_ENT(pg) / 2)
#define H_OFFDUP 4
#define H_OFFPAGE 3
#define H_PAIRDATA(pg, indx) P_ENTRY(pg, H_DATAINDEX(indx))
#define H_PAIRKEY(pg, indx) P_ENTRY(pg, H_KEYINDEX(indx))
#define H_PAIRSIZE(pg, psize, indx)
#define HKEYDATA_DATA(p) (((u_int8_t *)p) + SSZA(HKEYDATA, data))
#define HKEYDATA_PSIZE(len) (HKEYDATA_SIZE(len) + sizeof(db_indx_t))
#define HKEYDATA_SIZE(len) ((len) + SSZA(HKEYDATA, data))
#define HOFFDUP_PGNO(p) (((u_int8_t *)p) + SSZ(HOFFDUP, pgno))
#define HOFFDUP_PSIZE (HOFFDUP_SIZE + sizeof(db_indx_t))
#define HOFFDUP_SIZE (sizeof(HOFFDUP))
#define HOFFPAGE_PGNO(p) (((u_int8_t *)p) + SSZ(HOFFPAGE, pgno))
#define HOFFPAGE_PSIZE (HOFFPAGE_SIZE + sizeof(db_indx_t))
#define HOFFPAGE_SIZE (sizeof(HOFFPAGE))
#define HOFFPAGE_TLEN(p) (((u_int8_t *)p) + SSZ(HOFFPAGE, tlen))
#define HOFFSET(p) (((PAGE *)p)->hf_offset)
#define HPAGE_PTYPE(p) (*(u_int8_t *)p)
#define HPAGE_TYPE(pg, indx) (*P_ENTRY(pg, indx))
#define LEAFLEVEL 1
#define LEN_HDATA(p, psize, indx) LEN_HKEYDATA(p, psize, H_DATAINDEX(indx))
#define LEN_HITEM(pg, pgsize, indx)
#define LEN_HKEY(p, psize, indx) LEN_HKEYDATA(p, psize, H_KEYINDEX(indx))
#define LEN_HKEYDATA(pg, psize, indx)
#define LEVEL(p) (((PAGE *)p)->level)
#define LOFFSET(pg) (P_OVERHEAD + NUM_ENT(pg) * sizeof(db_indx_t))
#define LSN(p) (((PAGE *)p)->lsn)
#define MAXBTREELEVEL 255
#define NCACHED 32
#define NEXT_PGNO(p) (((PAGE *)p)->next_pgno)
#define NUM_ENT(p) (((PAGE *)p)->entries)
#define O_INDX 1
#define OV_LEN(p) (((PAGE *)p)->hf_offset)
#define OV_REF(p) (((PAGE *)p)->entries)
#define P_BTREEMETA 9
#define P_CMPR_FREE 14
#define P_CMPR_INTERNAL 13
#define P_ENTRY(pg, indx) ((u_int8_t *)pg + ((PAGE *)pg)->inp[indx])
#define P_FREESPACE(pg) (HOFFSET(pg) - LOFFSET(pg))
#define P_HASH 2
#define P_HASHMETA 8
#define P_IBTREE 3
#define P_INDX 2
#define P_INIT(pg, pg_size, n, pg_prev, pg_next, btl, pg_type, pg_tags)
#define P_INVALID 0
#define P_IRECNO 4
#define P_LBTREE 5
#define P_LDUP 12
#define P_LRECNO 6
#define P_MAXSPACE(psize) ((psize) - P_OVERHEAD)
#define P_OVERFLOW 7
#define P_OVERHEAD (SSZA(PAGE, inp))
#define P_OVFLSPACE(psize, pg) (P_MAXSPACE(psize) - HOFFSET(pg))
#define P_PAGETYPE_MAX 15
#define P_QAMDATA 11
#define P_QAMMETA 10
#define PGNO(p) (((PAGE *)p)->pgno)
#define PGNO_BASE_MD 1
#define PGNO_INVALID 0
#define PREV_PGNO(p) (((PAGE *)p)->prev_pgno)
#define PUT_HKEYDATA(pe, kd, len, type)
#define RE_NREC(p)
#define RE_NREC_ADJ(p, adj) PREV_PGNO(p) += adj;
#define RE_NREC_SET(p, num) PREV_PGNO(p) = num;
#define RINTERNAL_PSIZE (RINTERNAL_SIZE + sizeof(db_indx_t))
#define RINTERNAL_SIZE ALIGN(sizeof(RINTERNAL), 4)
#define TAGS(p) (((PAGE *)p)->type & TAGS_MASK)
#define TAGS_MASK 0xf0
#define TAGS_SET(p, v) (TYPE_TAGS(p) = TYPE(p) | ((v) & TAGS_MASK))
#define TYPE(p) ((((PAGE *)p)->type) & TYPE_MASK)
#define TYPE_MASK 0x0f
#define TYPE_SET(p, v) (TYPE_TAGS(p) = ((v) & TYPE_MASK) | TAGS(p))
#define TYPE_TAGS(p) (((PAGE *)p)->type)

Typedefs

typedef struct _binternal BINTERNAL
typedef struct _bkeydata BKEYDATA
typedef struct _boverflow BOVERFLOW
typedef struct _btmeta31 BTMETA
typedef struct _btmeta31 BTMETA31
typedef struct _dbmeta31 DBMETA
typedef struct _dbmeta31 DBMETA31
typedef struct _hkeydata HKEYDATA
typedef struct _hashmeta31 HMETA
typedef struct _hashmeta31 HMETA31
typedef struct _hoffdup HOFFDUP
typedef struct _hoffpage HOFFPAGE
typedef struct _db_page PAGE
typedef struct _qmeta31 QMETA
typedef struct _qmeta31 QMETA31
typedef struct _qpage QPAGE
typedef struct _rinternal RINTERNAL

Generated on Sun Jun 8 10:56:49 2008 for GNUmifluz by doxygen 1.5.5

AltStyle によって変換されたページ (->オリジナル) /