mirror of
https://github.com/postgres/postgres.git
synced 2025-10-24 01:29:19 +03:00
Another PGINDENT run that changes variable indenting and case label indenting. Also static variable indenting.
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: attnum.h,v 1.5 1997/09/07 04:55:45 momjian Exp $
|
||||
* $Id: attnum.h,v 1.6 1997/09/08 02:34:02 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -17,7 +17,7 @@
|
||||
/*
|
||||
* user defined attribute numbers start at 1. -ay 2/95
|
||||
*/
|
||||
typedef int16 AttrNumber;
|
||||
typedef int16 AttrNumber;
|
||||
|
||||
#define InvalidAttrNumber 0
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: funcindex.h,v 1.3 1997/09/07 04:55:47 momjian Exp $
|
||||
* $Id: funcindex.h,v 1.4 1997/09/08 02:34:03 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -15,11 +15,11 @@
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int nargs;
|
||||
Oid arglist[8];
|
||||
Oid procOid;
|
||||
NameData funcName;
|
||||
} FuncIndexInfo;
|
||||
int nargs;
|
||||
Oid arglist[8];
|
||||
Oid procOid;
|
||||
NameData funcName;
|
||||
} FuncIndexInfo;
|
||||
|
||||
typedef FuncIndexInfo *FuncIndexInfoPtr;
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: genam.h,v 1.8 1997/09/07 04:55:48 momjian Exp $
|
||||
* $Id: genam.h,v 1.9 1997/09/08 02:34:04 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -24,34 +24,34 @@
|
||||
*/
|
||||
extern Relation index_open(Oid relationId);
|
||||
extern Relation index_openr(char *relationName);
|
||||
extern void index_close(Relation relation);
|
||||
extern InsertIndexResult
|
||||
extern void index_close(Relation relation);
|
||||
extern InsertIndexResult
|
||||
index_insert(Relation relation,
|
||||
Datum * datum, char *nulls,
|
||||
ItemPointer heap_t_ctid,
|
||||
Relation heapRel);
|
||||
extern void index_delete(Relation relation, ItemPointer indexItem);
|
||||
extern IndexScanDesc
|
||||
extern void index_delete(Relation relation, ItemPointer indexItem);
|
||||
extern IndexScanDesc
|
||||
index_beginscan(Relation relation, bool scanFromEnd,
|
||||
uint16 numberOfKeys, ScanKey key);
|
||||
extern void index_rescan(IndexScanDesc scan, bool scanFromEnd, ScanKey key);
|
||||
extern void index_endscan(IndexScanDesc scan);
|
||||
extern RetrieveIndexResult
|
||||
extern void index_rescan(IndexScanDesc scan, bool scanFromEnd, ScanKey key);
|
||||
extern void index_endscan(IndexScanDesc scan);
|
||||
extern RetrieveIndexResult
|
||||
index_getnext(IndexScanDesc scan,
|
||||
ScanDirection direction);
|
||||
extern RegProcedure
|
||||
extern RegProcedure
|
||||
index_getprocid(Relation irel, AttrNumber attnum,
|
||||
uint16 procnum);
|
||||
extern Datum
|
||||
extern Datum
|
||||
GetIndexValue(HeapTuple tuple, TupleDesc hTupDesc,
|
||||
int attOff, AttrNumber attrNums[], FuncIndexInfo * fInfo,
|
||||
bool * attNull, Buffer buffer);
|
||||
|
||||
/* in genam.c */
|
||||
extern IndexScanDesc
|
||||
extern IndexScanDesc
|
||||
RelationGetIndexScan(Relation relation, bool scanFromEnd,
|
||||
uint16 numberOfKeys, ScanKey key);
|
||||
extern void IndexScanMarkPosition(IndexScanDesc scan);
|
||||
extern void IndexScanRestorePosition(IndexScanDesc scan);
|
||||
extern void IndexScanMarkPosition(IndexScanDesc scan);
|
||||
extern void IndexScanRestorePosition(IndexScanDesc scan);
|
||||
|
||||
#endif /* GENAM_H */
|
||||
|
||||
@@ -51,8 +51,8 @@
|
||||
|
||||
typedef struct GISTPageOpaqueData
|
||||
{
|
||||
uint32 flags;
|
||||
} GISTPageOpaqueData;
|
||||
uint32 flags;
|
||||
} GISTPageOpaqueData;
|
||||
|
||||
typedef GISTPageOpaqueData *GISTPageOpaque;
|
||||
|
||||
@@ -65,22 +65,22 @@ typedef GISTPageOpaqueData *GISTPageOpaque;
|
||||
typedef struct GISTSTACK
|
||||
{
|
||||
struct GISTSTACK *gs_parent;
|
||||
OffsetNumber gs_child;
|
||||
BlockNumber gs_blk;
|
||||
} GISTSTACK;
|
||||
OffsetNumber gs_child;
|
||||
BlockNumber gs_blk;
|
||||
} GISTSTACK;
|
||||
|
||||
typedef struct GISTSTATE
|
||||
{
|
||||
func_ptr consistentFn;
|
||||
func_ptr unionFn;
|
||||
func_ptr compressFn;
|
||||
func_ptr decompressFn;
|
||||
func_ptr penaltyFn;
|
||||
func_ptr picksplitFn;
|
||||
func_ptr equalFn;
|
||||
bool haskeytype;
|
||||
bool keytypbyval;
|
||||
} GISTSTATE;
|
||||
func_ptr consistentFn;
|
||||
func_ptr unionFn;
|
||||
func_ptr compressFn;
|
||||
func_ptr decompressFn;
|
||||
func_ptr penaltyFn;
|
||||
func_ptr picksplitFn;
|
||||
func_ptr equalFn;
|
||||
bool haskeytype;
|
||||
bool keytypbyval;
|
||||
} GISTSTATE;
|
||||
|
||||
|
||||
/*
|
||||
@@ -92,9 +92,9 @@ typedef struct GISTScanOpaqueData
|
||||
{
|
||||
struct GISTSTACK *s_stack;
|
||||
struct GISTSTACK *s_markstk;
|
||||
uint16 s_flags;
|
||||
uint16 s_flags;
|
||||
struct GISTSTATE *giststate;
|
||||
} GISTScanOpaqueData;
|
||||
} GISTScanOpaqueData;
|
||||
|
||||
typedef GISTScanOpaqueData *GISTScanOpaque;
|
||||
|
||||
@@ -128,13 +128,13 @@ typedef GISTScanOpaqueData *GISTScanOpaque;
|
||||
*/
|
||||
typedef struct GIST_SPLITVEC
|
||||
{
|
||||
OffsetNumber *spl_left; /* array of entries that go left */
|
||||
int spl_nleft; /* size of this array */
|
||||
char *spl_ldatum; /* Union of keys in spl_left */
|
||||
OffsetNumber *spl_right; /* array of entries that go right */
|
||||
int spl_nright; /* size of the array */
|
||||
char *spl_rdatum; /* Union of keys in spl_right */
|
||||
} GIST_SPLITVEC;
|
||||
OffsetNumber *spl_left; /* array of entries that go left */
|
||||
int spl_nleft; /* size of this array */
|
||||
char *spl_ldatum; /* Union of keys in spl_left */
|
||||
OffsetNumber *spl_right; /* array of entries that go right */
|
||||
int spl_nright; /* size of the array */
|
||||
char *spl_rdatum; /* Union of keys in spl_right */
|
||||
} GIST_SPLITVEC;
|
||||
|
||||
/*
|
||||
** An entry on a GiST node. Contains the key (pred), as well as
|
||||
@@ -144,13 +144,13 @@ typedef struct GIST_SPLITVEC
|
||||
*/
|
||||
typedef struct GISTENTRY
|
||||
{
|
||||
char *pred;
|
||||
Relation rel;
|
||||
Page page;
|
||||
OffsetNumber offset;
|
||||
int bytes;
|
||||
bool leafkey;
|
||||
} GISTENTRY;
|
||||
char *pred;
|
||||
Relation rel;
|
||||
Page page;
|
||||
OffsetNumber offset;
|
||||
int bytes;
|
||||
bool leafkey;
|
||||
} GISTENTRY;
|
||||
|
||||
/*
|
||||
** macro to initialize a GISTENTRY
|
||||
@@ -169,22 +169,22 @@ typedef struct txtrange
|
||||
* flag: NINF means that lower is negative infinity; PINF means that *
|
||||
* upper is positive infinity. 0 means that both are numbers.
|
||||
*/
|
||||
int32 vl_len;
|
||||
int32 flag;
|
||||
char bytes[2];
|
||||
} TXTRANGE;
|
||||
int32 vl_len;
|
||||
int32 flag;
|
||||
char bytes[2];
|
||||
} TXTRANGE;
|
||||
|
||||
typedef struct intrange
|
||||
{
|
||||
int lower;
|
||||
int upper;
|
||||
int lower;
|
||||
int upper;
|
||||
|
||||
/*
|
||||
* flag: NINF means that lower is negative infinity; PINF means that *
|
||||
* upper is positive infinity. 0 means that both are numbers.
|
||||
*/
|
||||
int flag;
|
||||
} INTRANGE;
|
||||
int flag;
|
||||
} INTRANGE;
|
||||
|
||||
extern void
|
||||
gistbuild(Relation heap,
|
||||
@@ -193,12 +193,12 @@ gistbuild(Relation heap,
|
||||
uint16 pint, Datum * params,
|
||||
FuncIndexInfo * finfo,
|
||||
PredInfo * predInfo);
|
||||
extern InsertIndexResult
|
||||
extern InsertIndexResult
|
||||
gistinsert(Relation r, Datum * datum,
|
||||
char *nulls, ItemPointer ht_ctid, Relation heapRel);
|
||||
extern void _gistdump(Relation r);
|
||||
extern void gistfreestack(GISTSTACK * s);
|
||||
extern void initGISTstate(GISTSTATE * giststate, Relation index);
|
||||
extern void _gistdump(Relation r);
|
||||
extern void gistfreestack(GISTSTACK * s);
|
||||
extern void initGISTstate(GISTSTATE * giststate, Relation index);
|
||||
extern void
|
||||
gistdentryinit(GISTSTATE * giststate, GISTENTRY * e, char *pr,
|
||||
Relation r, Page pg, OffsetNumber o, int b, bool l);
|
||||
|
||||
@@ -16,13 +16,13 @@
|
||||
#include <storage/block.h>
|
||||
#include <utils/rel.h>
|
||||
|
||||
extern IndexScanDesc
|
||||
extern IndexScanDesc
|
||||
gistbeginscan(Relation r, bool fromEnd,
|
||||
uint16 nkeys, ScanKey key);
|
||||
extern void gistrescan(IndexScanDesc s, bool fromEnd, ScanKey key);
|
||||
extern void gistmarkpos(IndexScanDesc s);
|
||||
extern void gistrestrpos(IndexScanDesc s);
|
||||
extern void gistendscan(IndexScanDesc s);
|
||||
extern void gistadjscans(Relation r, int op, BlockNumber blkno, OffsetNumber offnum);
|
||||
extern void gistrescan(IndexScanDesc s, bool fromEnd, ScanKey key);
|
||||
extern void gistmarkpos(IndexScanDesc s);
|
||||
extern void gistrestrpos(IndexScanDesc s);
|
||||
extern void gistendscan(IndexScanDesc s);
|
||||
extern void gistadjscans(Relation r, int op, BlockNumber blkno, OffsetNumber offnum);
|
||||
|
||||
#endif /* GISTSCAN_H */
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
#include <access/strat.h>
|
||||
#include <utils/rel.h>
|
||||
|
||||
extern StrategyNumber
|
||||
extern StrategyNumber
|
||||
RelationGetGISTStrategy(Relation r,
|
||||
AttrNumber attnum, RegProcedure proc);
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: hash.h,v 1.8 1997/09/07 04:55:54 momjian Exp $
|
||||
* $Id: hash.h,v 1.9 1997/09/08 02:34:08 momjian Exp $
|
||||
*
|
||||
* NOTES
|
||||
* modeled after Margo Seltzer's hash implementation for unix.
|
||||
@@ -39,10 +39,10 @@
|
||||
* macro OADDR_OF(S, O) where S is the splitnumber and O is the page
|
||||
* offset.
|
||||
*/
|
||||
typedef uint32 Bucket;
|
||||
typedef bits16 OverflowPageAddress;
|
||||
typedef uint32 SplitNumber;
|
||||
typedef uint32 PageOffset;
|
||||
typedef uint32 Bucket;
|
||||
typedef bits16 OverflowPageAddress;
|
||||
typedef uint32 SplitNumber;
|
||||
typedef uint32 PageOffset;
|
||||
|
||||
/* A valid overflow address will always have a page offset >= 1 */
|
||||
#define InvalidOvflAddress 0
|
||||
@@ -77,13 +77,12 @@ typedef uint32 PageOffset;
|
||||
|
||||
typedef struct HashPageOpaqueData
|
||||
{
|
||||
bits16 hasho_flag; /* is this page a bucket or ovfl */
|
||||
Bucket hasho_bucket; /* bucket number this pg belongs
|
||||
* to */
|
||||
bits16 hasho_flag; /* is this page a bucket or ovfl */
|
||||
Bucket hasho_bucket; /* bucket number this pg belongs to */
|
||||
OverflowPageAddress hasho_oaddr; /* ovfl address of this ovfl pg */
|
||||
BlockNumber hasho_nextblkno; /* next ovfl blkno */
|
||||
BlockNumber hasho_prevblkno; /* previous ovfl (or bucket) blkno */
|
||||
} HashPageOpaqueData;
|
||||
BlockNumber hasho_nextblkno;/* next ovfl blkno */
|
||||
BlockNumber hasho_prevblkno;/* previous ovfl (or bucket) blkno */
|
||||
} HashPageOpaqueData;
|
||||
|
||||
typedef HashPageOpaqueData *HashPageOpaque;
|
||||
|
||||
@@ -97,9 +96,9 @@ typedef HashPageOpaqueData *HashPageOpaque;
|
||||
|
||||
typedef struct HashScanOpaqueData
|
||||
{
|
||||
Buffer hashso_curbuf;
|
||||
Buffer hashso_mrkbuf;
|
||||
} HashScanOpaqueData;
|
||||
Buffer hashso_curbuf;
|
||||
Buffer hashso_mrkbuf;
|
||||
} HashScanOpaqueData;
|
||||
|
||||
typedef HashScanOpaqueData *HashScanOpaque;
|
||||
|
||||
@@ -140,31 +139,28 @@ typedef HashScanOpaqueData *HashScanOpaque;
|
||||
|
||||
typedef struct HashMetaPageData
|
||||
{
|
||||
PageHeaderData hashm_phdr; /* pad for page header (do not use) */
|
||||
uint32 hashm_magic;/* magic no. for hash tables */
|
||||
uint32 hashm_version; /* version ID */
|
||||
uint32 hashm_nkeys;/* number of keys stored in the table */
|
||||
uint16 hashm_ffactor; /* fill factor */
|
||||
uint16 hashm_bsize;/* bucket size (bytes) - must be a power
|
||||
PageHeaderData hashm_phdr; /* pad for page header (do not use) */
|
||||
uint32 hashm_magic; /* magic no. for hash tables */
|
||||
uint32 hashm_version; /* version ID */
|
||||
uint32 hashm_nkeys; /* number of keys stored in the table */
|
||||
uint16 hashm_ffactor; /* fill factor */
|
||||
uint16 hashm_bsize; /* bucket size (bytes) - must be a power
|
||||
* of 2 */
|
||||
uint16 hashm_bshift; /* bucket shift */
|
||||
uint16 hashm_bmsize; /* bitmap array size (bytes) -
|
||||
* must be a power of 2 */
|
||||
uint32 hashm_maxbucket; /* ID of maximum bucket in use */
|
||||
uint32 hashm_highmask; /* mask to modulo into entire
|
||||
* table */
|
||||
uint32 hashm_lowmask; /* mask to modulo into lower half
|
||||
* of table */
|
||||
uint32 hashm_ovflpoint; /* pageno. from which ovflpgs
|
||||
* being allocated */
|
||||
uint32 hashm_lastfreed; /* last ovflpage freed */
|
||||
uint32 hashm_nmaps;/* Initial number of bitmaps */
|
||||
uint32 hashm_spares[NCACHED]; /* spare pages available
|
||||
* at splitpoints */
|
||||
BlockNumber hashm_mapp[NCACHED]; /* blknumbers of ovfl page
|
||||
* maps */
|
||||
RegProcedure hashm_procid; /* hash procedure id from pg_proc */
|
||||
} HashMetaPageData;
|
||||
uint16 hashm_bshift; /* bucket shift */
|
||||
uint16 hashm_bmsize; /* bitmap array size (bytes) - must be a
|
||||
* power of 2 */
|
||||
uint32 hashm_maxbucket;/* ID of maximum bucket in use */
|
||||
uint32 hashm_highmask; /* mask to modulo into entire table */
|
||||
uint32 hashm_lowmask; /* mask to modulo into lower half of table */
|
||||
uint32 hashm_ovflpoint;/* pageno. from which ovflpgs being
|
||||
* allocated */
|
||||
uint32 hashm_lastfreed;/* last ovflpage freed */
|
||||
uint32 hashm_nmaps; /* Initial number of bitmaps */
|
||||
uint32 hashm_spares[NCACHED]; /* spare pages available at
|
||||
* splitpoints */
|
||||
BlockNumber hashm_mapp[NCACHED]; /* blknumbers of ovfl page maps */
|
||||
RegProcedure hashm_procid; /* hash procedure id from pg_proc */
|
||||
} HashMetaPageData;
|
||||
|
||||
typedef HashMetaPageData *HashMetaPage;
|
||||
|
||||
@@ -179,12 +175,12 @@ typedef HashMetaPageData *HashMetaPage;
|
||||
#define NKEYS hashm_nkeys
|
||||
#define SPARES hashm_spares
|
||||
|
||||
extern bool BuildingHash;
|
||||
extern bool BuildingHash;
|
||||
|
||||
typedef struct HashItemData
|
||||
{
|
||||
IndexTupleData hash_itup;
|
||||
} HashItemData;
|
||||
IndexTupleData hash_itup;
|
||||
} HashItemData;
|
||||
|
||||
typedef HashItemData *HashItem;
|
||||
|
||||
@@ -256,32 +252,32 @@ extern void
|
||||
hashbuild(Relation heap, Relation index, int natts,
|
||||
AttrNumber * attnum, IndexStrategy istrat, uint16 pcount,
|
||||
Datum * params, FuncIndexInfo * finfo, PredInfo * predInfo);
|
||||
extern InsertIndexResult
|
||||
extern InsertIndexResult
|
||||
hashinsert(Relation rel, Datum * datum, char *nulls,
|
||||
ItemPointer ht_ctid, Relation heapRel);
|
||||
extern char *hashgettuple(IndexScanDesc scan, ScanDirection dir);
|
||||
extern char *
|
||||
extern char *hashgettuple(IndexScanDesc scan, ScanDirection dir);
|
||||
extern char *
|
||||
hashbeginscan(Relation rel, bool fromEnd, uint16 keysz,
|
||||
ScanKey scankey);
|
||||
extern void hashrescan(IndexScanDesc scan, bool fromEnd, ScanKey scankey);
|
||||
extern void hashendscan(IndexScanDesc scan);
|
||||
extern void hashmarkpos(IndexScanDesc scan);
|
||||
extern void hashrestrpos(IndexScanDesc scan);
|
||||
extern void hashdelete(Relation rel, ItemPointer tid);
|
||||
extern void hashrescan(IndexScanDesc scan, bool fromEnd, ScanKey scankey);
|
||||
extern void hashendscan(IndexScanDesc scan);
|
||||
extern void hashmarkpos(IndexScanDesc scan);
|
||||
extern void hashrestrpos(IndexScanDesc scan);
|
||||
extern void hashdelete(Relation rel, ItemPointer tid);
|
||||
|
||||
/* hashfunc.c */
|
||||
extern uint32 hashint2(int16 key);
|
||||
extern uint32 hashint4(uint32 key);
|
||||
extern uint32 hashfloat4(float32 keyp);
|
||||
extern uint32 hashfloat8(float64 keyp);
|
||||
extern uint32 hashoid(Oid key);
|
||||
extern uint32 hashchar(char key);
|
||||
extern uint32 hashchar2(uint16 intkey);
|
||||
extern uint32 hashchar4(uint32 intkey);
|
||||
extern uint32 hashchar8(char *key);
|
||||
extern uint32 hashchar16(char *key);
|
||||
extern uint32 hashtext(struct varlena * key);
|
||||
extern uint32 hashname(NameData * n);
|
||||
extern uint32 hashint2(int16 key);
|
||||
extern uint32 hashint4(uint32 key);
|
||||
extern uint32 hashfloat4(float32 keyp);
|
||||
extern uint32 hashfloat8(float64 keyp);
|
||||
extern uint32 hashoid(Oid key);
|
||||
extern uint32 hashchar(char key);
|
||||
extern uint32 hashchar2(uint16 intkey);
|
||||
extern uint32 hashchar4(uint32 intkey);
|
||||
extern uint32 hashchar8(char *key);
|
||||
extern uint32 hashchar16(char *key);
|
||||
extern uint32 hashtext(struct varlena * key);
|
||||
extern uint32 hashname(NameData * n);
|
||||
|
||||
/* private routines */
|
||||
|
||||
@@ -290,9 +286,9 @@ extern InsertIndexResult _hash_doinsert(Relation rel, HashItem hitem);
|
||||
|
||||
|
||||
/* hashovfl.c */
|
||||
extern Buffer _hash_addovflpage(Relation rel, Buffer * metabufp, Buffer buf);
|
||||
extern Buffer _hash_freeovflpage(Relation rel, Buffer ovflbuf);
|
||||
extern int32
|
||||
extern Buffer _hash_addovflpage(Relation rel, Buffer * metabufp, Buffer buf);
|
||||
extern Buffer _hash_freeovflpage(Relation rel, Buffer ovflbuf);
|
||||
extern int32
|
||||
_hash_initbitmap(Relation rel, HashMetaPage metap, int32 pnum,
|
||||
int32 nbits, int32 ndx);
|
||||
extern void
|
||||
@@ -301,23 +297,23 @@ _hash_squeezebucket(Relation rel, HashMetaPage metap,
|
||||
|
||||
|
||||
/* hashpage.c */
|
||||
extern void _hash_metapinit(Relation rel);
|
||||
extern Buffer _hash_getbuf(Relation rel, BlockNumber blkno, int access);
|
||||
extern void _hash_relbuf(Relation rel, Buffer buf, int access);
|
||||
extern void _hash_wrtbuf(Relation rel, Buffer buf);
|
||||
extern void _hash_wrtnorelbuf(Relation rel, Buffer buf);
|
||||
extern Page
|
||||
extern void _hash_metapinit(Relation rel);
|
||||
extern Buffer _hash_getbuf(Relation rel, BlockNumber blkno, int access);
|
||||
extern void _hash_relbuf(Relation rel, Buffer buf, int access);
|
||||
extern void _hash_wrtbuf(Relation rel, Buffer buf);
|
||||
extern void _hash_wrtnorelbuf(Relation rel, Buffer buf);
|
||||
extern Page
|
||||
_hash_chgbufaccess(Relation rel, Buffer * bufp, int from_access,
|
||||
int to_access);
|
||||
extern void _hash_pageinit(Page page, Size size);
|
||||
extern void _hash_pagedel(Relation rel, ItemPointer tid);
|
||||
extern void _hash_expandtable(Relation rel, Buffer metabuf);
|
||||
extern void _hash_pageinit(Page page, Size size);
|
||||
extern void _hash_pagedel(Relation rel, ItemPointer tid);
|
||||
extern void _hash_expandtable(Relation rel, Buffer metabuf);
|
||||
|
||||
|
||||
/* hashscan.c */
|
||||
extern void _hash_regscan(IndexScanDesc scan);
|
||||
extern void _hash_dropscan(IndexScanDesc scan);
|
||||
extern void _hash_adjscans(Relation rel, ItemPointer tid);
|
||||
extern void _hash_regscan(IndexScanDesc scan);
|
||||
extern void _hash_dropscan(IndexScanDesc scan);
|
||||
extern void _hash_adjscans(Relation rel, ItemPointer tid);
|
||||
|
||||
|
||||
/* hashsearch.c */
|
||||
@@ -326,20 +322,20 @@ _hash_search(Relation rel, int keysz, ScanKey scankey,
|
||||
Buffer * bufP, HashMetaPage metap);
|
||||
extern RetrieveIndexResult _hash_next(IndexScanDesc scan, ScanDirection dir);
|
||||
extern RetrieveIndexResult _hash_first(IndexScanDesc scan, ScanDirection dir);
|
||||
extern bool
|
||||
extern bool
|
||||
_hash_step(IndexScanDesc scan, Buffer * bufP, ScanDirection dir,
|
||||
Buffer metabuf);
|
||||
|
||||
|
||||
/* hashutil.c */
|
||||
extern ScanKey
|
||||
extern ScanKey
|
||||
_hash_mkscankey(Relation rel, IndexTuple itup,
|
||||
HashMetaPage metap);
|
||||
extern void _hash_freeskey(ScanKey skey);
|
||||
extern bool _hash_checkqual(IndexScanDesc scan, IndexTuple itup);
|
||||
extern void _hash_freeskey(ScanKey skey);
|
||||
extern bool _hash_checkqual(IndexScanDesc scan, IndexTuple itup);
|
||||
extern HashItem _hash_formitem(IndexTuple itup);
|
||||
extern Bucket _hash_call(Relation rel, HashMetaPage metap, Datum key);
|
||||
extern uint32 _hash_log2(uint32 num);
|
||||
extern void _hash_checkpage(Page page, int flags);
|
||||
extern Bucket _hash_call(Relation rel, HashMetaPage metap, Datum key);
|
||||
extern uint32 _hash_log2(uint32 num);
|
||||
extern void _hash_checkpage(Page page, int flags);
|
||||
|
||||
#endif /* HASH_H */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: heapam.h,v 1.12 1997/09/07 04:55:55 momjian Exp $
|
||||
* $Id: heapam.h,v 1.13 1997/09/08 02:34:10 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -25,57 +25,54 @@
|
||||
|
||||
typedef struct HeapAccessStatisticsData
|
||||
{
|
||||
time_t init_global_timestamp; /* time global statistics
|
||||
* started */
|
||||
time_t local_reset_timestamp; /* last time local reset
|
||||
* was done */
|
||||
time_t last_request_timestamp; /* last time stats were
|
||||
* requested */
|
||||
time_t init_global_timestamp; /* time global statistics started */
|
||||
time_t local_reset_timestamp; /* last time local reset was done */
|
||||
time_t last_request_timestamp; /* last time stats were requested */
|
||||
|
||||
int global_open;
|
||||
int global_openr;
|
||||
int global_close;
|
||||
int global_beginscan;
|
||||
int global_rescan;
|
||||
int global_endscan;
|
||||
int global_getnext;
|
||||
int global_fetch;
|
||||
int global_insert;
|
||||
int global_delete;
|
||||
int global_replace;
|
||||
int global_markpos;
|
||||
int global_restrpos;
|
||||
int global_BufferGetRelation;
|
||||
int global_RelationIdGetRelation;
|
||||
int global_RelationIdGetRelation_Buf;
|
||||
int global_RelationNameGetRelation;
|
||||
int global_getreldesc;
|
||||
int global_heapgettup;
|
||||
int global_RelationPutHeapTuple;
|
||||
int global_RelationPutLongHeapTuple;
|
||||
int global_open;
|
||||
int global_openr;
|
||||
int global_close;
|
||||
int global_beginscan;
|
||||
int global_rescan;
|
||||
int global_endscan;
|
||||
int global_getnext;
|
||||
int global_fetch;
|
||||
int global_insert;
|
||||
int global_delete;
|
||||
int global_replace;
|
||||
int global_markpos;
|
||||
int global_restrpos;
|
||||
int global_BufferGetRelation;
|
||||
int global_RelationIdGetRelation;
|
||||
int global_RelationIdGetRelation_Buf;
|
||||
int global_RelationNameGetRelation;
|
||||
int global_getreldesc;
|
||||
int global_heapgettup;
|
||||
int global_RelationPutHeapTuple;
|
||||
int global_RelationPutLongHeapTuple;
|
||||
|
||||
int local_open;
|
||||
int local_openr;
|
||||
int local_close;
|
||||
int local_beginscan;
|
||||
int local_rescan;
|
||||
int local_endscan;
|
||||
int local_getnext;
|
||||
int local_fetch;
|
||||
int local_insert;
|
||||
int local_delete;
|
||||
int local_replace;
|
||||
int local_markpos;
|
||||
int local_restrpos;
|
||||
int local_BufferGetRelation;
|
||||
int local_RelationIdGetRelation;
|
||||
int local_RelationIdGetRelation_Buf;
|
||||
int local_RelationNameGetRelation;
|
||||
int local_getreldesc;
|
||||
int local_heapgettup;
|
||||
int local_RelationPutHeapTuple;
|
||||
int local_RelationPutLongHeapTuple;
|
||||
} HeapAccessStatisticsData;
|
||||
int local_open;
|
||||
int local_openr;
|
||||
int local_close;
|
||||
int local_beginscan;
|
||||
int local_rescan;
|
||||
int local_endscan;
|
||||
int local_getnext;
|
||||
int local_fetch;
|
||||
int local_insert;
|
||||
int local_delete;
|
||||
int local_replace;
|
||||
int local_markpos;
|
||||
int local_restrpos;
|
||||
int local_BufferGetRelation;
|
||||
int local_RelationIdGetRelation;
|
||||
int local_RelationIdGetRelation_Buf;
|
||||
int local_RelationNameGetRelation;
|
||||
int local_getreldesc;
|
||||
int local_heapgettup;
|
||||
int local_RelationPutHeapTuple;
|
||||
int local_RelationPutLongHeapTuple;
|
||||
} HeapAccessStatisticsData;
|
||||
|
||||
typedef HeapAccessStatisticsData *HeapAccessStatistics;
|
||||
|
||||
@@ -115,58 +112,58 @@ extern HeapAccessStatistics heap_access_stats; /* in stats.c */
|
||||
/* heap_create, heap_creatr, and heap_destroy are declared in catalog/heap.h */
|
||||
|
||||
/* heapam.c */
|
||||
extern void doinsert(Relation relation, HeapTuple tup);
|
||||
extern void doinsert(Relation relation, HeapTuple tup);
|
||||
|
||||
extern Relation heap_open(Oid relationId);
|
||||
extern Relation heap_openr(char *relationName);
|
||||
extern void heap_close(Relation relation);
|
||||
extern HeapScanDesc
|
||||
extern void heap_close(Relation relation);
|
||||
extern HeapScanDesc
|
||||
heap_beginscan(Relation relation, int atend,
|
||||
TimeQual timeQual, unsigned nkeys, ScanKey key);
|
||||
extern void heap_rescan(HeapScanDesc sdesc, bool scanFromEnd, ScanKey key);
|
||||
extern void heap_endscan(HeapScanDesc sdesc);
|
||||
extern void heap_rescan(HeapScanDesc sdesc, bool scanFromEnd, ScanKey key);
|
||||
extern void heap_endscan(HeapScanDesc sdesc);
|
||||
extern HeapTuple heap_getnext(HeapScanDesc scandesc, int backw, Buffer * b);
|
||||
extern HeapTuple
|
||||
extern HeapTuple
|
||||
heap_fetch(Relation relation, TimeQual timeQual,
|
||||
ItemPointer tid, Buffer * b);
|
||||
extern Oid heap_insert(Relation relation, HeapTuple tup);
|
||||
extern int heap_delete(Relation relation, ItemPointer tid);
|
||||
extern Oid heap_insert(Relation relation, HeapTuple tup);
|
||||
extern int heap_delete(Relation relation, ItemPointer tid);
|
||||
extern int
|
||||
heap_replace(Relation relation, ItemPointer otid,
|
||||
HeapTuple tup);
|
||||
extern void heap_markpos(HeapScanDesc sdesc);
|
||||
extern void heap_restrpos(HeapScanDesc sdesc);
|
||||
extern void heap_markpos(HeapScanDesc sdesc);
|
||||
extern void heap_restrpos(HeapScanDesc sdesc);
|
||||
|
||||
/* in common/heaptuple.c */
|
||||
extern Size ComputeDataSize(TupleDesc tupleDesc, Datum value[], char nulls[]);
|
||||
extern Size ComputeDataSize(TupleDesc tupleDesc, Datum value[], char nulls[]);
|
||||
extern void
|
||||
DataFill(char *data, TupleDesc tupleDesc,
|
||||
Datum value[], char nulls[], char *infomask,
|
||||
bits8 * bit);
|
||||
extern int heap_attisnull(HeapTuple tup, int attnum);
|
||||
extern int heap_sysattrlen(AttrNumber attno);
|
||||
extern bool heap_sysattrbyval(AttrNumber attno);
|
||||
extern char *heap_getsysattr(HeapTuple tup, Buffer b, int attnum);
|
||||
extern char *
|
||||
extern int heap_attisnull(HeapTuple tup, int attnum);
|
||||
extern int heap_sysattrlen(AttrNumber attno);
|
||||
extern bool heap_sysattrbyval(AttrNumber attno);
|
||||
extern char *heap_getsysattr(HeapTuple tup, Buffer b, int attnum);
|
||||
extern char *
|
||||
fastgetattr(HeapTuple tup, int attnum,
|
||||
TupleDesc att, bool * isnull);
|
||||
extern HeapTuple heap_copytuple(HeapTuple tuple);
|
||||
extern HeapTuple
|
||||
extern HeapTuple
|
||||
heap_formtuple(TupleDesc tupleDescriptor,
|
||||
Datum value[], char nulls[]);
|
||||
extern HeapTuple
|
||||
extern HeapTuple
|
||||
heap_modifytuple(HeapTuple tuple, Buffer buffer,
|
||||
Relation relation, Datum replValue[], char replNull[], char repl[]);
|
||||
HeapTuple heap_addheader(uint32 natts, int structlen, char *structure);
|
||||
HeapTuple heap_addheader(uint32 natts, int structlen, char *structure);
|
||||
|
||||
/* in common/heap/stats.c */
|
||||
extern void PrintHeapAccessStatistics(HeapAccessStatistics stats);
|
||||
extern void initam(void);
|
||||
extern void PrintHeapAccessStatistics(HeapAccessStatistics stats);
|
||||
extern void initam(void);
|
||||
|
||||
/* hio.c */
|
||||
extern void
|
||||
RelationPutHeapTuple(Relation relation, BlockNumber blockIndex,
|
||||
HeapTuple tuple);
|
||||
extern void RelationPutHeapTupleAtEnd(Relation relation, HeapTuple tuple);
|
||||
extern void RelationPutHeapTupleAtEnd(Relation relation, HeapTuple tuple);
|
||||
|
||||
#endif /* HEAPAM_H */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: hio.h,v 1.4 1997/09/07 04:55:56 momjian Exp $
|
||||
* $Id: hio.h,v 1.5 1997/09/08 02:34:11 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -20,6 +20,6 @@
|
||||
extern void
|
||||
RelationPutHeapTuple(Relation relation, BlockNumber blockIndex,
|
||||
HeapTuple tuple);
|
||||
extern void RelationPutHeapTupleAtEnd(Relation relation, HeapTuple tuple);
|
||||
extern void RelationPutHeapTupleAtEnd(Relation relation, HeapTuple tuple);
|
||||
|
||||
#endif /* HIO_H */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: htup.h,v 1.4 1997/09/07 04:55:58 momjian Exp $
|
||||
* $Id: htup.h,v 1.5 1997/09/08 02:34:12 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -29,36 +29,36 @@
|
||||
typedef struct HeapTupleData
|
||||
{
|
||||
|
||||
unsigned int t_len; /* length of entire tuple */
|
||||
unsigned int t_len; /* length of entire tuple */
|
||||
|
||||
ItemPointerData t_ctid; /* current TID of this tuple */
|
||||
|
||||
ItemPointerData t_chain; /* replaced tuple TID */
|
||||
|
||||
Oid t_oid; /* OID of this tuple -- 4 bytes */
|
||||
Oid t_oid; /* OID of this tuple -- 4 bytes */
|
||||
|
||||
CommandId t_cmin; /* insert CID stamp -- 2 bytes each */
|
||||
CommandId t_cmax; /* delete CommandId stamp */
|
||||
CommandId t_cmin; /* insert CID stamp -- 2 bytes each */
|
||||
CommandId t_cmax; /* delete CommandId stamp */
|
||||
|
||||
TransactionId t_xmin; /* insert XID stamp -- 4 bytes each */
|
||||
TransactionId t_xmax; /* delete XID stamp */
|
||||
TransactionId t_xmin; /* insert XID stamp -- 4 bytes each */
|
||||
TransactionId t_xmax; /* delete XID stamp */
|
||||
|
||||
AbsoluteTime t_tmin; /* time stamps -- 4 bytes each */
|
||||
AbsoluteTime t_tmax;
|
||||
AbsoluteTime t_tmin; /* time stamps -- 4 bytes each */
|
||||
AbsoluteTime t_tmax;
|
||||
|
||||
int16 t_natts; /* number of attributes */
|
||||
char t_vtype; /* not used - padding */
|
||||
int16 t_natts; /* number of attributes */
|
||||
char t_vtype; /* not used - padding */
|
||||
|
||||
char t_infomask; /* whether tuple as null or variable
|
||||
char t_infomask; /* whether tuple as null or variable
|
||||
* length attributes */
|
||||
|
||||
uint8 t_hoff; /* sizeof tuple header */
|
||||
uint8 t_hoff; /* sizeof tuple header */
|
||||
|
||||
bits8 t_bits[MinHeapTupleBitmapSize / 8];
|
||||
bits8 t_bits[MinHeapTupleBitmapSize / 8];
|
||||
/* bit map of domains */
|
||||
|
||||
/* MORE DATA FOLLOWS AT END OF STRUCT */
|
||||
} HeapTupleData;
|
||||
} HeapTupleData;
|
||||
|
||||
typedef HeapTupleData *HeapTuple;
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: ibit.h,v 1.5 1997/09/07 04:56:01 momjian Exp $
|
||||
* $Id: ibit.h,v 1.6 1997/09/08 02:34:13 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -17,9 +17,9 @@
|
||||
|
||||
typedef struct IndexAttributeBitMapData
|
||||
{
|
||||
char bits[(MaxIndexAttributeNumber + MaxBitsPerByte - 1)
|
||||
/ MaxBitsPerByte];
|
||||
} IndexAttributeBitMapData;
|
||||
char bits[(MaxIndexAttributeNumber + MaxBitsPerByte - 1)
|
||||
/ MaxBitsPerByte];
|
||||
} IndexAttributeBitMapData;
|
||||
|
||||
typedef IndexAttributeBitMapData *IndexAttributeBitMap;
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: iqual.h,v 1.5 1997/09/07 04:56:04 momjian Exp $
|
||||
* $Id: iqual.h,v 1.6 1997/09/08 02:34:14 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -22,9 +22,9 @@
|
||||
* ----------------
|
||||
*/
|
||||
|
||||
extern int NIndexTupleProcessed;
|
||||
extern int NIndexTupleProcessed;
|
||||
|
||||
extern bool
|
||||
extern bool
|
||||
index_keytest(IndexTuple tuple, TupleDesc tupdesc,
|
||||
int scanKeySize, ScanKey key);
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: istrat.h,v 1.6 1997/09/07 04:56:05 momjian Exp $
|
||||
* $Id: istrat.h,v 1.7 1997/09/08 02:34:15 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -47,18 +47,18 @@
|
||||
*/
|
||||
#define IndexStrategyIsValid(s) PointerIsValid(s)
|
||||
|
||||
extern StrategyMap
|
||||
extern StrategyMap
|
||||
IndexStrategyGetStrategyMap(IndexStrategy indexStrategy,
|
||||
StrategyNumber maxStrategyNum, AttrNumber attrNum);
|
||||
|
||||
extern Size
|
||||
extern Size
|
||||
AttributeNumberGetIndexStrategySize(AttrNumber maxAttributeNumber,
|
||||
StrategyNumber maxStrategyNumber);
|
||||
extern StrategyNumber
|
||||
extern StrategyNumber
|
||||
RelationGetStrategy(Relation relation,
|
||||
AttrNumber attributeNumber, StrategyEvaluation evaluation,
|
||||
RegProcedure procedure);
|
||||
extern bool
|
||||
extern bool
|
||||
RelationInvokeStrategy(Relation relation,
|
||||
StrategyEvaluation evaluation, AttrNumber attributeNumber,
|
||||
StrategyNumber strategy, Datum left, Datum right);
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: itup.h,v 1.6 1997/09/07 04:56:05 momjian Exp $
|
||||
* $Id: itup.h,v 1.7 1997/09/08 02:34:16 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -30,14 +30,14 @@ typedef struct IndexTupleData
|
||||
* tuple.
|
||||
*/
|
||||
|
||||
unsigned short t_info; /* various info about tuple */
|
||||
unsigned short t_info; /* various info about tuple */
|
||||
|
||||
/*
|
||||
* please make sure sizeof(IndexTupleData) is MAXALIGN'ed. See
|
||||
* IndexInfoFindDataOffset() for the reason.
|
||||
*/
|
||||
|
||||
} IndexTupleData; /* MORE DATA FOLLOWS AT END OF STRUCT */
|
||||
} IndexTupleData; /* MORE DATA FOLLOWS AT END OF STRUCT */
|
||||
|
||||
typedef IndexTupleData *IndexTuple;
|
||||
|
||||
@@ -45,7 +45,7 @@ typedef IndexTupleData *IndexTuple;
|
||||
typedef struct InsertIndexResultData
|
||||
{
|
||||
ItemPointerData pointerData;
|
||||
} InsertIndexResultData;
|
||||
} InsertIndexResultData;
|
||||
|
||||
typedef InsertIndexResultData *InsertIndexResult;
|
||||
|
||||
@@ -54,7 +54,7 @@ typedef struct RetrieveIndexResultData
|
||||
{
|
||||
ItemPointerData index_iptr;
|
||||
ItemPointerData heap_iptr;
|
||||
} RetrieveIndexResultData;
|
||||
} RetrieveIndexResultData;
|
||||
|
||||
typedef RetrieveIndexResultData *RetrieveIndexResult;
|
||||
|
||||
@@ -66,9 +66,9 @@ typedef RetrieveIndexResultData *RetrieveIndexResult;
|
||||
*/
|
||||
typedef struct PredInfo
|
||||
{
|
||||
Node *pred;
|
||||
Node *oldPred;
|
||||
} PredInfo;
|
||||
Node *pred;
|
||||
Node *oldPred;
|
||||
} PredInfo;
|
||||
|
||||
|
||||
/* ----------------
|
||||
@@ -89,16 +89,16 @@ typedef struct PredInfo
|
||||
|
||||
|
||||
/* indextuple.h */
|
||||
extern IndexTuple
|
||||
extern IndexTuple
|
||||
index_formtuple(TupleDesc tupleDescriptor,
|
||||
Datum value[], char null[]);
|
||||
extern Datum
|
||||
extern Datum
|
||||
index_getattr(IndexTuple tuple, AttrNumber attNum,
|
||||
TupleDesc tupDesc, bool * isNullOutP);
|
||||
extern RetrieveIndexResult
|
||||
extern RetrieveIndexResult
|
||||
FormRetrieveIndexResult(ItemPointer indexItemPointer,
|
||||
ItemPointer heapItemPointer);
|
||||
extern void CopyIndexTuple(IndexTuple source, IndexTuple * target);
|
||||
extern void CopyIndexTuple(IndexTuple source, IndexTuple * target);
|
||||
|
||||
|
||||
#endif /* ITUP_H */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: nbtree.h,v 1.15 1997/09/07 04:56:06 momjian Exp $
|
||||
* $Id: nbtree.h,v 1.16 1997/09/08 02:34:17 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -40,9 +40,9 @@
|
||||
|
||||
typedef struct BTPageOpaqueData
|
||||
{
|
||||
BlockNumber btpo_prev;
|
||||
BlockNumber btpo_next;
|
||||
uint16 btpo_flags;
|
||||
BlockNumber btpo_prev;
|
||||
BlockNumber btpo_next;
|
||||
uint16 btpo_flags;
|
||||
|
||||
#define BTP_LEAF (1 << 0)
|
||||
#define BTP_ROOT (1 << 1)
|
||||
@@ -50,7 +50,7 @@ typedef struct BTPageOpaqueData
|
||||
#define BTP_META (1 << 3)
|
||||
#define BTP_CHAIN (1 << 4)
|
||||
|
||||
} BTPageOpaqueData;
|
||||
} BTPageOpaqueData;
|
||||
|
||||
typedef BTPageOpaqueData *BTPageOpaque;
|
||||
|
||||
@@ -67,14 +67,14 @@ typedef BTPageOpaqueData *BTPageOpaque;
|
||||
|
||||
typedef struct BTScanOpaqueData
|
||||
{
|
||||
Buffer btso_curbuf;
|
||||
Buffer btso_mrkbuf;
|
||||
uint16 qual_ok; /* 0 for quals like key == 1 && key > 2 */
|
||||
uint16 numberOfKeys; /* number of keys */
|
||||
uint16 numberOfFirstKeys; /* number of keys for 1st
|
||||
Buffer btso_curbuf;
|
||||
Buffer btso_mrkbuf;
|
||||
uint16 qual_ok; /* 0 for quals like key == 1 && key > 2 */
|
||||
uint16 numberOfKeys; /* number of keys */
|
||||
uint16 numberOfFirstKeys; /* number of keys for 1st
|
||||
* attribute */
|
||||
ScanKey keyData; /* key descriptor */
|
||||
} BTScanOpaqueData;
|
||||
ScanKey keyData; /* key descriptor */
|
||||
} BTScanOpaqueData;
|
||||
|
||||
typedef BTScanOpaqueData *BTScanOpaque;
|
||||
|
||||
@@ -99,12 +99,12 @@ typedef BTScanOpaqueData *BTScanOpaque;
|
||||
typedef struct BTItemData
|
||||
{
|
||||
#ifndef BTREE_VERSION_1
|
||||
Oid bti_oid;
|
||||
int32 bti_dummy; /* padding to make bti_itup align at
|
||||
Oid bti_oid;
|
||||
int32 bti_dummy; /* padding to make bti_itup align at
|
||||
* 8-byte boundary */
|
||||
#endif
|
||||
IndexTupleData bti_itup;
|
||||
} BTItemData;
|
||||
IndexTupleData bti_itup;
|
||||
} BTItemData;
|
||||
|
||||
typedef BTItemData *BTItem;
|
||||
|
||||
@@ -131,25 +131,25 @@ typedef BTItemData *BTItem;
|
||||
|
||||
typedef struct BTStackData
|
||||
{
|
||||
BlockNumber bts_blkno;
|
||||
OffsetNumber bts_offset;
|
||||
BTItem bts_btitem;
|
||||
BlockNumber bts_blkno;
|
||||
OffsetNumber bts_offset;
|
||||
BTItem bts_btitem;
|
||||
struct BTStackData *bts_parent;
|
||||
} BTStackData;
|
||||
} BTStackData;
|
||||
|
||||
typedef BTStackData *BTStack;
|
||||
|
||||
typedef struct BTPageState
|
||||
{
|
||||
Buffer btps_buf;
|
||||
Page btps_page;
|
||||
BTItem btps_lastbti;
|
||||
OffsetNumber btps_lastoff;
|
||||
OffsetNumber btps_firstoff;
|
||||
int btps_level;
|
||||
bool btps_doupper;
|
||||
Buffer btps_buf;
|
||||
Page btps_page;
|
||||
BTItem btps_lastbti;
|
||||
OffsetNumber btps_lastoff;
|
||||
OffsetNumber btps_firstoff;
|
||||
int btps_level;
|
||||
bool btps_doupper;
|
||||
struct BTPageState *btps_next;
|
||||
} BTPageState;
|
||||
} BTPageState;
|
||||
|
||||
/*
|
||||
* We need to be able to tell the difference between read and write
|
||||
@@ -213,105 +213,105 @@ typedef struct BTPageState
|
||||
/*
|
||||
* prototypes for functions in nbtinsert.c
|
||||
*/
|
||||
extern InsertIndexResult
|
||||
extern InsertIndexResult
|
||||
_bt_doinsert(Relation rel, BTItem btitem,
|
||||
bool index_is_unique, Relation heapRel);
|
||||
|
||||
/* default is to allow duplicates */
|
||||
extern bool
|
||||
extern bool
|
||||
_bt_itemcmp(Relation rel, Size keysz, BTItem item1, BTItem item2,
|
||||
StrategyNumber strat);
|
||||
|
||||
/*
|
||||
* prototypes for functions in nbtpage.c
|
||||
*/
|
||||
extern void _bt_metapinit(Relation rel);
|
||||
extern Buffer _bt_getroot(Relation rel, int access);
|
||||
extern Buffer _bt_getbuf(Relation rel, BlockNumber blkno, int access);
|
||||
extern void _bt_relbuf(Relation rel, Buffer buf, int access);
|
||||
extern void _bt_wrtbuf(Relation rel, Buffer buf);
|
||||
extern void _bt_wrtnorelbuf(Relation rel, Buffer buf);
|
||||
extern void _bt_pageinit(Page page, Size size);
|
||||
extern void _bt_metaproot(Relation rel, BlockNumber rootbknum, int level);
|
||||
extern Buffer _bt_getstackbuf(Relation rel, BTStack stack, int access);
|
||||
extern void _bt_pagedel(Relation rel, ItemPointer tid);
|
||||
extern void _bt_metapinit(Relation rel);
|
||||
extern Buffer _bt_getroot(Relation rel, int access);
|
||||
extern Buffer _bt_getbuf(Relation rel, BlockNumber blkno, int access);
|
||||
extern void _bt_relbuf(Relation rel, Buffer buf, int access);
|
||||
extern void _bt_wrtbuf(Relation rel, Buffer buf);
|
||||
extern void _bt_wrtnorelbuf(Relation rel, Buffer buf);
|
||||
extern void _bt_pageinit(Page page, Size size);
|
||||
extern void _bt_metaproot(Relation rel, BlockNumber rootbknum, int level);
|
||||
extern Buffer _bt_getstackbuf(Relation rel, BTStack stack, int access);
|
||||
extern void _bt_pagedel(Relation rel, ItemPointer tid);
|
||||
|
||||
/*
|
||||
* prototypes for functions in nbtree.c
|
||||
*/
|
||||
extern bool BuildingBtree; /* in nbtree.c */
|
||||
extern bool BuildingBtree; /* in nbtree.c */
|
||||
|
||||
extern void
|
||||
btbuild(Relation heap, Relation index, int natts,
|
||||
AttrNumber * attnum, IndexStrategy istrat, uint16 pcount,
|
||||
Datum * params, FuncIndexInfo * finfo, PredInfo * predInfo);
|
||||
extern InsertIndexResult
|
||||
extern InsertIndexResult
|
||||
btinsert(Relation rel, Datum * datum, char *nulls,
|
||||
ItemPointer ht_ctid, Relation heapRel);
|
||||
extern char *btgettuple(IndexScanDesc scan, ScanDirection dir);
|
||||
extern char *
|
||||
extern char *btgettuple(IndexScanDesc scan, ScanDirection dir);
|
||||
extern char *
|
||||
btbeginscan(Relation rel, bool fromEnd, uint16 keysz,
|
||||
ScanKey scankey);
|
||||
|
||||
extern void btrescan(IndexScanDesc scan, bool fromEnd, ScanKey scankey);
|
||||
extern void btmovescan(IndexScanDesc scan, Datum v);
|
||||
extern void btendscan(IndexScanDesc scan);
|
||||
extern void btmarkpos(IndexScanDesc scan);
|
||||
extern void btrestrpos(IndexScanDesc scan);
|
||||
extern void btdelete(Relation rel, ItemPointer tid);
|
||||
extern void btrescan(IndexScanDesc scan, bool fromEnd, ScanKey scankey);
|
||||
extern void btmovescan(IndexScanDesc scan, Datum v);
|
||||
extern void btendscan(IndexScanDesc scan);
|
||||
extern void btmarkpos(IndexScanDesc scan);
|
||||
extern void btrestrpos(IndexScanDesc scan);
|
||||
extern void btdelete(Relation rel, ItemPointer tid);
|
||||
|
||||
/*
|
||||
* prototypes for functions in nbtscan.c
|
||||
*/
|
||||
extern void _bt_regscan(IndexScanDesc scan);
|
||||
extern void _bt_dropscan(IndexScanDesc scan);
|
||||
extern void _bt_adjscans(Relation rel, ItemPointer tid, int op);
|
||||
extern void _bt_regscan(IndexScanDesc scan);
|
||||
extern void _bt_dropscan(IndexScanDesc scan);
|
||||
extern void _bt_adjscans(Relation rel, ItemPointer tid, int op);
|
||||
|
||||
/*
|
||||
* prototypes for functions in nbtsearch.c
|
||||
*/
|
||||
extern BTStack
|
||||
extern BTStack
|
||||
_bt_search(Relation rel, int keysz, ScanKey scankey,
|
||||
Buffer * bufP);
|
||||
extern Buffer
|
||||
extern Buffer
|
||||
_bt_moveright(Relation rel, Buffer buf, int keysz,
|
||||
ScanKey scankey, int access);
|
||||
extern bool
|
||||
extern bool
|
||||
_bt_skeycmp(Relation rel, Size keysz, ScanKey scankey,
|
||||
Page page, ItemId itemid, StrategyNumber strat);
|
||||
extern OffsetNumber
|
||||
extern OffsetNumber
|
||||
_bt_binsrch(Relation rel, Buffer buf, int keysz,
|
||||
ScanKey scankey, int srchtype);
|
||||
extern RetrieveIndexResult _bt_next(IndexScanDesc scan, ScanDirection dir);
|
||||
extern RetrieveIndexResult _bt_first(IndexScanDesc scan, ScanDirection dir);
|
||||
extern bool _bt_step(IndexScanDesc scan, Buffer * bufP, ScanDirection dir);
|
||||
extern bool _bt_step(IndexScanDesc scan, Buffer * bufP, ScanDirection dir);
|
||||
|
||||
/*
|
||||
* prototypes for functions in nbtstrat.c
|
||||
*/
|
||||
extern StrategyNumber
|
||||
extern StrategyNumber
|
||||
_bt_getstrat(Relation rel, AttrNumber attno,
|
||||
RegProcedure proc);
|
||||
extern bool
|
||||
extern bool
|
||||
_bt_invokestrat(Relation rel, AttrNumber attno,
|
||||
StrategyNumber strat, Datum left, Datum right);
|
||||
|
||||
/*
|
||||
* prototypes for functions in nbtutils.c
|
||||
*/
|
||||
extern ScanKey _bt_mkscankey(Relation rel, IndexTuple itup);
|
||||
extern void _bt_freeskey(ScanKey skey);
|
||||
extern void _bt_freestack(BTStack stack);
|
||||
extern void _bt_orderkeys(Relation relation, BTScanOpaque so);
|
||||
extern bool _bt_checkkeys(IndexScanDesc scan, IndexTuple tuple, Size * keysok);
|
||||
extern BTItem _bt_formitem(IndexTuple itup);
|
||||
extern ScanKey _bt_mkscankey(Relation rel, IndexTuple itup);
|
||||
extern void _bt_freeskey(ScanKey skey);
|
||||
extern void _bt_freestack(BTStack stack);
|
||||
extern void _bt_orderkeys(Relation relation, BTScanOpaque so);
|
||||
extern bool _bt_checkkeys(IndexScanDesc scan, IndexTuple tuple, Size * keysok);
|
||||
extern BTItem _bt_formitem(IndexTuple itup);
|
||||
|
||||
/*
|
||||
* prototypes for functions in nbtsort.c
|
||||
*/
|
||||
extern void *_bt_spoolinit(Relation index, int ntapes, bool isunique);
|
||||
extern void _bt_spooldestroy(void *spool);
|
||||
extern void _bt_spool(Relation index, BTItem btitem, void *spool);
|
||||
extern void _bt_leafbuild(Relation index, void *spool);
|
||||
extern void *_bt_spoolinit(Relation index, int ntapes, bool isunique);
|
||||
extern void _bt_spooldestroy(void *spool);
|
||||
extern void _bt_spool(Relation index, BTItem btitem, void *spool);
|
||||
extern void _bt_leafbuild(Relation index, void *spool);
|
||||
|
||||
#endif /* NBTREE_H */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: printtup.h,v 1.3 1997/09/07 04:56:07 momjian Exp $
|
||||
* $Id: printtup.h,v 1.4 1997/09/08 02:34:19 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -16,11 +16,11 @@
|
||||
#include <access/htup.h>
|
||||
#include <access/tupdesc.h>
|
||||
|
||||
extern Oid typtoout(Oid type);
|
||||
extern void printtup(HeapTuple tuple, TupleDesc typeinfo);
|
||||
extern void showatts(char *name, TupleDesc attinfo);
|
||||
extern void debugtup(HeapTuple tuple, TupleDesc typeinfo);
|
||||
extern void printtup_internal(HeapTuple tuple, TupleDesc typeinfo);
|
||||
extern Oid gettypelem(Oid type);
|
||||
extern Oid typtoout(Oid type);
|
||||
extern void printtup(HeapTuple tuple, TupleDesc typeinfo);
|
||||
extern void showatts(char *name, TupleDesc attinfo);
|
||||
extern void debugtup(HeapTuple tuple, TupleDesc typeinfo);
|
||||
extern void printtup_internal(HeapTuple tuple, TupleDesc typeinfo);
|
||||
extern Oid gettypelem(Oid type);
|
||||
|
||||
#endif /* PRINTTUP_H */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: relscan.h,v 1.6 1997/09/07 04:56:08 momjian Exp $
|
||||
* $Id: relscan.h,v 1.7 1997/09/08 02:34:22 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -21,41 +21,41 @@ typedef ItemPointerData MarkData;
|
||||
|
||||
typedef struct HeapScanDescData
|
||||
{
|
||||
Relation rs_rd; /* pointer to relation descriptor */
|
||||
HeapTuple rs_ptup; /* previous tuple in scan */
|
||||
HeapTuple rs_ctup; /* current tuple in scan */
|
||||
HeapTuple rs_ntup; /* next tuple in scan */
|
||||
Buffer rs_pbuf; /* previous buffer in scan */
|
||||
Buffer rs_cbuf; /* current buffer in scan */
|
||||
Buffer rs_nbuf; /* next buffer in scan */
|
||||
Relation rs_rd; /* pointer to relation descriptor */
|
||||
HeapTuple rs_ptup; /* previous tuple in scan */
|
||||
HeapTuple rs_ctup; /* current tuple in scan */
|
||||
HeapTuple rs_ntup; /* next tuple in scan */
|
||||
Buffer rs_pbuf; /* previous buffer in scan */
|
||||
Buffer rs_cbuf; /* current buffer in scan */
|
||||
Buffer rs_nbuf; /* next buffer in scan */
|
||||
ItemPointerData rs_mptid; /* marked previous tid */
|
||||
ItemPointerData rs_mctid; /* marked current tid */
|
||||
ItemPointerData rs_mntid; /* marked next tid */
|
||||
ItemPointerData rs_mcd; /* marked current delta XXX ??? */
|
||||
bool rs_atend; /* restart scan at end? */
|
||||
TimeQual rs_tr; /* time qualification */
|
||||
uint16 rs_cdelta; /* current delta in chain */
|
||||
uint16 rs_nkeys; /* number of attributes in keys */
|
||||
ScanKey rs_key; /* key descriptors */
|
||||
} HeapScanDescData;
|
||||
bool rs_atend; /* restart scan at end? */
|
||||
TimeQual rs_tr; /* time qualification */
|
||||
uint16 rs_cdelta; /* current delta in chain */
|
||||
uint16 rs_nkeys; /* number of attributes in keys */
|
||||
ScanKey rs_key; /* key descriptors */
|
||||
} HeapScanDescData;
|
||||
|
||||
typedef HeapScanDescData *HeapScanDesc;
|
||||
|
||||
typedef struct IndexScanDescData
|
||||
{
|
||||
Relation relation; /* relation descriptor */
|
||||
void *opaque; /* am-specific slot */
|
||||
Relation relation; /* relation descriptor */
|
||||
void *opaque; /* am-specific slot */
|
||||
ItemPointerData previousItemData; /* previous index pointer */
|
||||
ItemPointerData currentItemData; /* current index pointer */
|
||||
ItemPointerData nextItemData; /* next index pointer */
|
||||
MarkData previousMarkData; /* marked previous pointer */
|
||||
MarkData currentMarkData; /* marked current pointer */
|
||||
MarkData nextMarkData; /* marked next pointer */
|
||||
uint8 flags; /* scan position flags */
|
||||
bool scanFromEnd;/* restart scan at end? */
|
||||
uint16 numberOfKeys; /* number of key attributes */
|
||||
ScanKey keyData; /* key descriptor */
|
||||
} IndexScanDescData;
|
||||
MarkData previousMarkData; /* marked previous pointer */
|
||||
MarkData currentMarkData;/* marked current pointer */
|
||||
MarkData nextMarkData; /* marked next pointer */
|
||||
uint8 flags; /* scan position flags */
|
||||
bool scanFromEnd; /* restart scan at end? */
|
||||
uint16 numberOfKeys; /* number of key attributes */
|
||||
ScanKey keyData; /* key descriptor */
|
||||
} IndexScanDescData;
|
||||
|
||||
typedef IndexScanDescData *IndexScanDesc;
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: rtree.h,v 1.7 1997/09/07 04:56:09 momjian Exp $
|
||||
* $Id: rtree.h,v 1.8 1997/09/08 02:34:23 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -42,8 +42,8 @@
|
||||
|
||||
typedef struct RTreePageOpaqueData
|
||||
{
|
||||
uint32 flags;
|
||||
} RTreePageOpaqueData;
|
||||
uint32 flags;
|
||||
} RTreePageOpaqueData;
|
||||
|
||||
typedef RTreePageOpaqueData *RTreePageOpaque;
|
||||
|
||||
@@ -54,9 +54,9 @@ typedef RTreePageOpaqueData *RTreePageOpaque;
|
||||
typedef struct RTSTACK
|
||||
{
|
||||
struct RTSTACK *rts_parent;
|
||||
OffsetNumber rts_child;
|
||||
BlockNumber rts_blk;
|
||||
} RTSTACK;
|
||||
OffsetNumber rts_child;
|
||||
BlockNumber rts_blk;
|
||||
} RTSTACK;
|
||||
|
||||
/*
|
||||
* When we're doing a scan, we need to keep track of the parent stack
|
||||
@@ -72,10 +72,10 @@ typedef struct RTreeScanOpaqueData
|
||||
{
|
||||
struct RTSTACK *s_stack;
|
||||
struct RTSTACK *s_markstk;
|
||||
uint16 s_flags;
|
||||
uint16 s_internalNKey;
|
||||
ScanKey s_internalKey;
|
||||
} RTreeScanOpaqueData;
|
||||
uint16 s_flags;
|
||||
uint16 s_internalNKey;
|
||||
ScanKey s_internalKey;
|
||||
} RTreeScanOpaqueData;
|
||||
|
||||
typedef RTreeScanOpaqueData *RTreeScanOpaque;
|
||||
|
||||
@@ -105,7 +105,7 @@ typedef RTreeScanOpaqueData *RTreeScanOpaque;
|
||||
#define RTOP_SPLIT 1
|
||||
|
||||
/* defined in rtree.c */
|
||||
extern void freestack(RTSTACK * s);
|
||||
extern void freestack(RTSTACK * s);
|
||||
|
||||
/* rget.c */
|
||||
extern RetrieveIndexResult rtgettuple(IndexScanDesc s, ScanDirection dir);
|
||||
@@ -114,25 +114,25 @@ extern RetrieveIndexResult rtgettuple(IndexScanDesc s, ScanDirection dir);
|
||||
* RTree code.
|
||||
* Defined in access/index-rtree/
|
||||
*/
|
||||
extern InsertIndexResult
|
||||
extern InsertIndexResult
|
||||
rtinsert(Relation r, Datum * datum, char *nulls,
|
||||
ItemPointer ht_ctid, Relation heapRel);
|
||||
extern char *rtdelete(Relation r, ItemPointer tid);
|
||||
extern char *rtdelete(Relation r, ItemPointer tid);
|
||||
|
||||
extern RetrieveIndexResult rtgettuple(IndexScanDesc s, ScanDirection dir);
|
||||
extern IndexScanDesc
|
||||
extern IndexScanDesc
|
||||
rtbeginscan(Relation r, bool fromEnd, uint16 nkeys,
|
||||
ScanKey key);
|
||||
|
||||
extern void rtendscan(IndexScanDesc s);
|
||||
extern void rtmarkpos(IndexScanDesc s);
|
||||
extern void rtrestrpos(IndexScanDesc s);
|
||||
extern void rtrescan(IndexScanDesc s, bool fromEnd, ScanKey key);
|
||||
extern void rtendscan(IndexScanDesc s);
|
||||
extern void rtmarkpos(IndexScanDesc s);
|
||||
extern void rtrestrpos(IndexScanDesc s);
|
||||
extern void rtrescan(IndexScanDesc s, bool fromEnd, ScanKey key);
|
||||
extern void
|
||||
rtbuild(Relation heap, Relation index, int natts,
|
||||
AttrNumber * attnum, IndexStrategy istrat, uint16 pcount,
|
||||
Datum * params, FuncIndexInfo * finfo, PredInfo * predInfo);
|
||||
extern void _rtdump(Relation r);
|
||||
extern void _rtdump(Relation r);
|
||||
|
||||
/* rtscan.c */
|
||||
extern void
|
||||
@@ -140,7 +140,7 @@ rtadjscans(Relation r, int op, BlockNumber blkno,
|
||||
OffsetNumber offnum);
|
||||
|
||||
/* rtstrat.h */
|
||||
extern RegProcedure
|
||||
extern RegProcedure
|
||||
RTMapOperator(Relation r, AttrNumber attnum,
|
||||
RegProcedure proc);
|
||||
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: rtscan.h,v 1.2 1997/09/07 04:56:10 momjian Exp $
|
||||
* $Id: rtscan.h,v 1.3 1997/09/08 02:34:24 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
#ifndef RTSCAN_H
|
||||
|
||||
void rtadjscans(Relation r, int op, BlockNumber blkno, OffsetNumber offnum);
|
||||
void rtadjscans(Relation r, int op, BlockNumber blkno, OffsetNumber offnum);
|
||||
|
||||
#endif /* RTSCAN_H */
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: rtstrat.h,v 1.2 1997/09/07 04:56:11 momjian Exp $
|
||||
* $Id: rtstrat.h,v 1.3 1997/09/08 02:34:25 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
#ifndef RTSTRAT_H
|
||||
|
||||
extern RegProcedure
|
||||
extern RegProcedure
|
||||
RTMapOperator(Relation r, AttrNumber attnum,
|
||||
RegProcedure proc);
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: skey.h,v 1.4 1997/09/07 04:56:13 momjian Exp $
|
||||
* $Id: skey.h,v 1.5 1997/09/08 02:34:26 momjian Exp $
|
||||
*
|
||||
*
|
||||
* Note:
|
||||
@@ -20,13 +20,13 @@
|
||||
|
||||
typedef struct ScanKeyData
|
||||
{
|
||||
bits16 sk_flags; /* flags */
|
||||
AttrNumber sk_attno; /* domain number */
|
||||
RegProcedure sk_procedure; /* procedure OID */
|
||||
func_ptr sk_func;
|
||||
int32 sk_nargs;
|
||||
Datum sk_argument;/* data to compare */
|
||||
} ScanKeyData;
|
||||
bits16 sk_flags; /* flags */
|
||||
AttrNumber sk_attno; /* domain number */
|
||||
RegProcedure sk_procedure; /* procedure OID */
|
||||
func_ptr sk_func;
|
||||
int32 sk_nargs;
|
||||
Datum sk_argument; /* data to compare */
|
||||
} ScanKeyData;
|
||||
|
||||
typedef ScanKeyData *ScanKey;
|
||||
|
||||
@@ -44,7 +44,7 @@ typedef ScanKeyData *ScanKey;
|
||||
/*
|
||||
* prototypes for functions in access/common/scankey.c
|
||||
*/
|
||||
extern void ScanKeyEntrySetIllegal(ScanKey entry);
|
||||
extern void ScanKeyEntrySetIllegal(ScanKey entry);
|
||||
extern void
|
||||
ScanKeyEntryInitialize(ScanKey entry, bits16 flags,
|
||||
AttrNumber attributeNumber, RegProcedure procedure, Datum argument);
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: strat.h,v 1.5 1997/09/07 04:56:14 momjian Exp $
|
||||
* $Id: strat.h,v 1.6 1997/09/08 02:34:27 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -16,50 +16,51 @@
|
||||
|
||||
#include <access/skey.h>
|
||||
|
||||
typedef uint16 StrategyNumber;
|
||||
typedef uint16 StrategyNumber;
|
||||
|
||||
#define InvalidStrategy 0
|
||||
|
||||
typedef struct StrategyTransformMapData
|
||||
{
|
||||
StrategyNumber strategy[1];/* VARIABLE LENGTH ARRAY */
|
||||
} StrategyTransformMapData; /* VARIABLE LENGTH
|
||||
StrategyNumber strategy[1]; /* VARIABLE LENGTH ARRAY */
|
||||
} StrategyTransformMapData; /* VARIABLE LENGTH
|
||||
|
||||
* STRUCTURE */
|
||||
*
|
||||
* STRUCTURE */
|
||||
|
||||
typedef StrategyTransformMapData *StrategyTransformMap;
|
||||
|
||||
typedef struct StrategyOperatorData
|
||||
{
|
||||
StrategyNumber strategy;
|
||||
bits16 flags; /* scan qualification flags h/skey.h */
|
||||
} StrategyOperatorData;
|
||||
StrategyNumber strategy;
|
||||
bits16 flags; /* scan qualification flags h/skey.h */
|
||||
} StrategyOperatorData;
|
||||
|
||||
typedef StrategyOperatorData *StrategyOperator;
|
||||
|
||||
typedef struct StrategyTermData
|
||||
{ /* conjunctive term */
|
||||
uint16 degree;
|
||||
uint16 degree;
|
||||
StrategyOperatorData operatorData[1]; /* VARIABLE LENGTH */
|
||||
} StrategyTermData; /* VARIABLE LENGTH STRUCTURE */
|
||||
} StrategyTermData; /* VARIABLE LENGTH STRUCTURE */
|
||||
|
||||
typedef StrategyTermData *StrategyTerm;
|
||||
|
||||
typedef struct StrategyExpressionData
|
||||
{ /* disjunctive normal form */
|
||||
StrategyTerm term[1]; /* VARIABLE LENGTH ARRAY */
|
||||
} StrategyExpressionData; /* VARIABLE LENGTH STRUCTURE */
|
||||
StrategyTerm term[1]; /* VARIABLE LENGTH ARRAY */
|
||||
} StrategyExpressionData; /* VARIABLE LENGTH STRUCTURE */
|
||||
|
||||
typedef StrategyExpressionData *StrategyExpression;
|
||||
|
||||
typedef struct StrategyEvaluationData
|
||||
{
|
||||
StrategyNumber maxStrategy;
|
||||
StrategyNumber maxStrategy;
|
||||
StrategyTransformMap negateTransform;
|
||||
StrategyTransformMap commuteTransform;
|
||||
StrategyTransformMap negateCommuteTransform;
|
||||
StrategyExpression expression[12]; /* XXX VARIABLE LENGTH */
|
||||
} StrategyEvaluationData; /* VARIABLE LENGTH STRUCTURE */
|
||||
} StrategyEvaluationData; /* VARIABLE LENGTH STRUCTURE */
|
||||
|
||||
typedef StrategyEvaluationData *StrategyEvaluation;
|
||||
|
||||
@@ -78,15 +79,15 @@ typedef StrategyEvaluationData *StrategyEvaluation;
|
||||
|
||||
typedef struct StrategyMapData
|
||||
{
|
||||
ScanKeyData entry[1]; /* VARIABLE LENGTH ARRAY */
|
||||
} StrategyMapData;/* VARIABLE LENGTH STRUCTURE */
|
||||
ScanKeyData entry[1]; /* VARIABLE LENGTH ARRAY */
|
||||
} StrategyMapData; /* VARIABLE LENGTH STRUCTURE */
|
||||
|
||||
typedef StrategyMapData *StrategyMap;
|
||||
|
||||
typedef struct IndexStrategyData
|
||||
{
|
||||
StrategyMapData strategyMapData[1]; /* VARIABLE LENGTH ARRAY */
|
||||
} IndexStrategyData; /* VARIABLE LENGTH STRUCTURE */
|
||||
} IndexStrategyData; /* VARIABLE LENGTH STRUCTURE */
|
||||
|
||||
typedef IndexStrategyData *IndexStrategy;
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: transam.h,v 1.8 1997/09/07 04:56:14 momjian Exp $
|
||||
* $Id: transam.h,v 1.9 1997/09/08 02:34:27 momjian Exp $
|
||||
*
|
||||
* NOTES
|
||||
* Transaction System Version 101 now support proper oid
|
||||
@@ -85,8 +85,8 @@ typedef unsigned char XidStatus;/* (2 bits) */
|
||||
*/
|
||||
typedef struct LogRelationContentsData
|
||||
{
|
||||
int TransSystemVersion;
|
||||
} LogRelationContentsData;
|
||||
int TransSystemVersion;
|
||||
} LogRelationContentsData;
|
||||
|
||||
typedef LogRelationContentsData *LogRelationContents;
|
||||
|
||||
@@ -104,8 +104,8 @@ typedef LogRelationContentsData *LogRelationContents;
|
||||
*/
|
||||
typedef struct TimeRelationContentsData
|
||||
{
|
||||
int TransSystemVersion;
|
||||
} TimeRelationContentsData;
|
||||
int TransSystemVersion;
|
||||
} TimeRelationContentsData;
|
||||
|
||||
typedef TimeRelationContentsData *TimeRelationContents;
|
||||
|
||||
@@ -127,11 +127,11 @@ typedef TimeRelationContentsData *TimeRelationContents;
|
||||
*/
|
||||
typedef struct VariableRelationContentsData
|
||||
{
|
||||
int TransSystemVersion;
|
||||
TransactionId nextXidData;
|
||||
TransactionId lastXidData;
|
||||
Oid nextOid;
|
||||
} VariableRelationContentsData;
|
||||
int TransSystemVersion;
|
||||
TransactionId nextXidData;
|
||||
TransactionId lastXidData;
|
||||
Oid nextOid;
|
||||
} VariableRelationContentsData;
|
||||
|
||||
typedef VariableRelationContentsData *VariableRelationContents;
|
||||
|
||||
@@ -144,25 +144,25 @@ typedef VariableRelationContentsData *VariableRelationContents;
|
||||
* prototypes for functions in transam/transam.c
|
||||
*/
|
||||
extern AbsoluteTime TransactionIdGetCommitTime(TransactionId transactionId);
|
||||
extern void InitializeTransactionLog(void);
|
||||
extern bool TransactionIdDidCommit(TransactionId transactionId);
|
||||
extern bool TransactionIdDidAbort(TransactionId transactionId);
|
||||
extern void TransactionIdCommit(TransactionId transactionId);
|
||||
extern void TransactionIdAbort(TransactionId transactionId);
|
||||
extern void InitializeTransactionLog(void);
|
||||
extern bool TransactionIdDidCommit(TransactionId transactionId);
|
||||
extern bool TransactionIdDidAbort(TransactionId transactionId);
|
||||
extern void TransactionIdCommit(TransactionId transactionId);
|
||||
extern void TransactionIdAbort(TransactionId transactionId);
|
||||
|
||||
/* in transam/transsup.c */
|
||||
extern void AmiTransactionOverride(bool flag);
|
||||
extern void AmiTransactionOverride(bool flag);
|
||||
extern void
|
||||
TransComputeBlockNumber(Relation relation,
|
||||
TransactionId transactionId, BlockNumber * blockNumberOutP);
|
||||
extern XidStatus
|
||||
extern XidStatus
|
||||
TransBlockNumberGetXidStatus(Relation relation,
|
||||
BlockNumber blockNumber, TransactionId xid, bool * failP);
|
||||
extern void
|
||||
TransBlockNumberSetXidStatus(Relation relation,
|
||||
BlockNumber blockNumber, TransactionId xid, XidStatus xstatus,
|
||||
bool * failP);
|
||||
extern AbsoluteTime
|
||||
extern AbsoluteTime
|
||||
TransBlockNumberGetCommitTime(Relation relation,
|
||||
BlockNumber blockNumber, TransactionId xid, bool * failP);
|
||||
extern void
|
||||
@@ -171,11 +171,11 @@ TransBlockNumberSetCommitTime(Relation relation,
|
||||
bool * failP);
|
||||
|
||||
/* in transam/varsup.c */
|
||||
extern void VariableRelationPutNextXid(TransactionId xid);
|
||||
extern void GetNewTransactionId(TransactionId * xid);
|
||||
extern void UpdateLastCommittedXid(TransactionId xid);
|
||||
extern void GetNewObjectId(Oid * oid_return);
|
||||
extern void CheckMaxObjectId(Oid assigned_oid);
|
||||
extern void VariableRelationPutNextXid(TransactionId xid);
|
||||
extern void GetNewTransactionId(TransactionId * xid);
|
||||
extern void UpdateLastCommittedXid(TransactionId xid);
|
||||
extern void GetNewObjectId(Oid * oid_return);
|
||||
extern void CheckMaxObjectId(Oid assigned_oid);
|
||||
|
||||
/* ----------------
|
||||
* global variable extern declarations
|
||||
@@ -196,12 +196,12 @@ extern TransactionId NullTransactionId;
|
||||
extern TransactionId AmiTransactionId;
|
||||
extern TransactionId FirstTransactionId;
|
||||
|
||||
extern int RecoveryCheckingEnableState;
|
||||
extern int RecoveryCheckingEnableState;
|
||||
|
||||
/* in transsup.c */
|
||||
extern bool AMI_OVERRIDE;
|
||||
extern bool AMI_OVERRIDE;
|
||||
|
||||
/* in varsup.c */
|
||||
extern int OidGenLockId;
|
||||
extern int OidGenLockId;
|
||||
|
||||
#endif /* TRAMSAM_H */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: tupdesc.h,v 1.9 1997/09/07 04:56:16 momjian Exp $
|
||||
* $Id: tupdesc.h,v 1.10 1997/09/08 02:34:31 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -20,27 +20,27 @@
|
||||
|
||||
typedef struct attrDefault
|
||||
{
|
||||
AttrNumber adnum;
|
||||
char *adbin;
|
||||
char *adsrc;
|
||||
} AttrDefault;
|
||||
AttrNumber adnum;
|
||||
char *adbin;
|
||||
char *adsrc;
|
||||
} AttrDefault;
|
||||
|
||||
typedef struct constrCheck
|
||||
{
|
||||
char *ccname;
|
||||
char *ccbin;
|
||||
char *ccsrc;
|
||||
} ConstrCheck;
|
||||
char *ccname;
|
||||
char *ccbin;
|
||||
char *ccsrc;
|
||||
} ConstrCheck;
|
||||
|
||||
/* This structure contains constraints of a tuple */
|
||||
typedef struct tupleConstr
|
||||
{
|
||||
AttrDefault *defval;
|
||||
ConstrCheck *check;
|
||||
uint16 num_defval;
|
||||
uint16 num_check;
|
||||
bool has_not_null;
|
||||
} TupleConstr;
|
||||
AttrDefault *defval;
|
||||
ConstrCheck *check;
|
||||
uint16 num_defval;
|
||||
uint16 num_check;
|
||||
bool has_not_null;
|
||||
} TupleConstr;
|
||||
|
||||
/*
|
||||
* This structure contains all information (i.e. from Classes
|
||||
@@ -48,12 +48,12 @@ typedef struct tupleConstr
|
||||
*/
|
||||
typedef struct tupleDesc
|
||||
{
|
||||
int natts;
|
||||
int natts;
|
||||
/* Number of attributes in the tuple */
|
||||
AttributeTupleForm *attrs;
|
||||
/* attrs[N] is a pointer to the description of Attribute Number N+1. */
|
||||
TupleConstr *constr;
|
||||
} *TupleDesc;
|
||||
TupleConstr *constr;
|
||||
} *TupleDesc;
|
||||
|
||||
extern TupleDesc CreateTemplateTupleDesc(int natts);
|
||||
|
||||
@@ -63,9 +63,9 @@ extern TupleDesc CreateTupleDescCopy(TupleDesc tupdesc);
|
||||
|
||||
extern TupleDesc CreateTupleDescCopyConstr(TupleDesc tupdesc);
|
||||
|
||||
extern void FreeTupleDesc(TupleDesc tupdesc);
|
||||
extern void FreeTupleDesc(TupleDesc tupdesc);
|
||||
|
||||
extern bool
|
||||
extern bool
|
||||
TupleDescInitEntry(TupleDesc desc,
|
||||
AttrNumber attributeNumber,
|
||||
char *attributeName,
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: valid.h,v 1.5 1997/09/07 04:56:18 momjian Exp $
|
||||
* $Id: valid.h,v 1.6 1997/09/08 02:34:32 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -22,16 +22,16 @@
|
||||
* ----------------
|
||||
*/
|
||||
|
||||
extern bool
|
||||
extern bool
|
||||
heap_keytest(HeapTuple t, TupleDesc tupdesc,
|
||||
int nkeys, ScanKey keys);
|
||||
|
||||
extern HeapTuple
|
||||
extern HeapTuple
|
||||
heap_tuple_satisfies(ItemId itemId, Relation relation,
|
||||
Buffer buffer, PageHeader disk_page,
|
||||
TimeQual qual, int nKeys,
|
||||
ScanKey key);
|
||||
|
||||
extern bool TupleUpdatedByCurXactAndCmd(HeapTuple t);
|
||||
extern bool TupleUpdatedByCurXactAndCmd(HeapTuple t);
|
||||
|
||||
#endif /* VALID_H */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: xact.h,v 1.7 1997/09/07 04:56:19 momjian Exp $
|
||||
* $Id: xact.h,v 1.8 1997/09/08 02:34:33 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -21,13 +21,13 @@
|
||||
*/
|
||||
typedef struct TransactionStateData
|
||||
{
|
||||
TransactionId transactionIdData;
|
||||
CommandId commandId;
|
||||
CommandId scanCommandId;
|
||||
AbsoluteTime startTime;
|
||||
int state;
|
||||
int blockState;
|
||||
} TransactionStateData;
|
||||
TransactionId transactionIdData;
|
||||
CommandId commandId;
|
||||
CommandId scanCommandId;
|
||||
AbsoluteTime startTime;
|
||||
int state;
|
||||
int blockState;
|
||||
} TransactionStateData;
|
||||
|
||||
/* ----------------
|
||||
* transaction states
|
||||
@@ -57,44 +57,44 @@ typedef TransactionStateData *TransactionState;
|
||||
* extern definitions
|
||||
* ----------------
|
||||
*/
|
||||
extern int TransactionFlushEnabled(void);
|
||||
extern void SetTransactionFlushEnabled(bool state);
|
||||
extern int TransactionFlushEnabled(void);
|
||||
extern void SetTransactionFlushEnabled(bool state);
|
||||
|
||||
extern bool IsTransactionState(void);
|
||||
extern bool IsAbortedTransactionBlockState(void);
|
||||
extern void OverrideTransactionSystem(bool flag);
|
||||
extern bool IsTransactionState(void);
|
||||
extern bool IsAbortedTransactionBlockState(void);
|
||||
extern void OverrideTransactionSystem(bool flag);
|
||||
extern TransactionId GetCurrentTransactionId(void);
|
||||
extern CommandId GetCurrentCommandId(void);
|
||||
extern CommandId GetScanCommandId(void);
|
||||
extern void SetScanCommandId(CommandId);
|
||||
extern void SetScanCommandId(CommandId);
|
||||
extern AbsoluteTime GetCurrentTransactionStartTime(void);
|
||||
extern bool TransactionIdIsCurrentTransactionId(TransactionId xid);
|
||||
extern bool CommandIdIsCurrentCommandId(CommandId cid);
|
||||
extern bool CommandIdGEScanCommandId(CommandId cid);
|
||||
extern void CommandCounterIncrement(void);
|
||||
extern void InitializeTransactionSystem(void);
|
||||
extern bool CurrentXactInProgress(void);
|
||||
extern void StartTransactionCommand(void);
|
||||
extern void CommitTransactionCommand(void);
|
||||
extern void AbortCurrentTransaction(void);
|
||||
extern void BeginTransactionBlock(void);
|
||||
extern void EndTransactionBlock(void);
|
||||
extern bool IsTransactionBlock(void);
|
||||
extern void UserAbortTransactionBlock(void);
|
||||
extern bool TransactionIdIsCurrentTransactionId(TransactionId xid);
|
||||
extern bool CommandIdIsCurrentCommandId(CommandId cid);
|
||||
extern bool CommandIdGEScanCommandId(CommandId cid);
|
||||
extern void CommandCounterIncrement(void);
|
||||
extern void InitializeTransactionSystem(void);
|
||||
extern bool CurrentXactInProgress(void);
|
||||
extern void StartTransactionCommand(void);
|
||||
extern void CommitTransactionCommand(void);
|
||||
extern void AbortCurrentTransaction(void);
|
||||
extern void BeginTransactionBlock(void);
|
||||
extern void EndTransactionBlock(void);
|
||||
extern bool IsTransactionBlock(void);
|
||||
extern void UserAbortTransactionBlock(void);
|
||||
|
||||
extern TransactionId DisabledTransactionId;
|
||||
|
||||
/* defined in xid.c */
|
||||
extern TransactionId xidin(char *representation);
|
||||
extern char *xidout(TransactionId transactionId);
|
||||
extern bool xideq(TransactionId xid1, TransactionId xid2);
|
||||
extern bool TransactionIdIsValid(TransactionId transactionId);
|
||||
extern void StoreInvalidTransactionId(TransactionId * destination);
|
||||
extern char *xidout(TransactionId transactionId);
|
||||
extern bool xideq(TransactionId xid1, TransactionId xid2);
|
||||
extern bool TransactionIdIsValid(TransactionId transactionId);
|
||||
extern void StoreInvalidTransactionId(TransactionId * destination);
|
||||
extern void
|
||||
TransactionIdStore(TransactionId transactionId,
|
||||
TransactionId * destination);
|
||||
extern bool TransactionIdEquals(TransactionId id1, TransactionId id2);
|
||||
extern bool TransactionIdIsLessThan(TransactionId id1, TransactionId id2);
|
||||
extern void TransactionIdAdd(TransactionId * xid, int value);
|
||||
extern bool TransactionIdEquals(TransactionId id1, TransactionId id2);
|
||||
extern bool TransactionIdIsLessThan(TransactionId id1, TransactionId id2);
|
||||
extern void TransactionIdAdd(TransactionId * xid, int value);
|
||||
|
||||
#endif /* XACT_H */
|
||||
|
||||
Reference in New Issue
Block a user