diff options
Diffstat (limited to 'src/include/access')
-rw-r--r-- | src/include/access/genam.h | 8 | ||||
-rw-r--r-- | src/include/access/gist.h | 3 | ||||
-rw-r--r-- | src/include/access/hash.h | 5 | ||||
-rw-r--r-- | src/include/access/nbtree.h | 5 | ||||
-rw-r--r-- | src/include/access/relscan.h | 10 | ||||
-rw-r--r-- | src/include/access/rtree.h | 7 |
6 files changed, 26 insertions, 12 deletions
diff --git a/src/include/access/genam.h b/src/include/access/genam.h index 84daf30878c..89fd4f9db68 100644 --- a/src/include/access/genam.h +++ b/src/include/access/genam.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/access/genam.h,v 1.48 2005/03/21 01:24:04 tgl Exp $ + * $PostgreSQL: pgsql/src/include/access/genam.h,v 1.49 2005/03/27 23:53:04 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -82,6 +82,9 @@ extern IndexScanDesc index_beginscan(Relation heapRelation, Relation indexRelation, Snapshot snapshot, int nkeys, ScanKey key); +extern IndexScanDesc index_beginscan_multi(Relation indexRelation, + Snapshot snapshot, + int nkeys, ScanKey key); extern void index_rescan(IndexScanDesc scan, ScanKey key); extern void index_endscan(IndexScanDesc scan); extern void index_markpos(IndexScanDesc scan); @@ -89,6 +92,9 @@ extern void index_restrpos(IndexScanDesc scan); extern HeapTuple index_getnext(IndexScanDesc scan, ScanDirection direction); extern bool index_getnext_indexitem(IndexScanDesc scan, ScanDirection direction); +extern bool index_getmulti(IndexScanDesc scan, + ItemPointer tids, int32 max_tids, + int32 *returned_tids); extern IndexBulkDeleteResult *index_bulk_delete(Relation indexRelation, IndexBulkDeleteCallback callback, diff --git a/src/include/access/gist.h b/src/include/access/gist.h index a48e6f4c108..ee2df86b402 100644 --- a/src/include/access/gist.h +++ b/src/include/access/gist.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/access/gist.h,v 1.43 2004/12/31 22:03:21 pgsql Exp $ + * $PostgreSQL: pgsql/src/include/access/gist.h,v 1.44 2005/03/27 23:53:04 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -196,5 +196,6 @@ extern void gist_desc(char *buf, uint8 xl_info, char *rec); /* gistget.c */ extern Datum gistgettuple(PG_FUNCTION_ARGS); +extern Datum gistgetmulti(PG_FUNCTION_ARGS); #endif /* GIST_H */ diff --git a/src/include/access/hash.h b/src/include/access/hash.h index 0b7c1a5f0f2..e6ad35300ba 100644 --- a/src/include/access/hash.h +++ b/src/include/access/hash.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/access/hash.h,v 1.60 2005/03/21 01:24:04 tgl Exp $ + * $PostgreSQL: pgsql/src/include/access/hash.h,v 1.61 2005/03/27 23:53:04 tgl Exp $ * * NOTES * modeled after Margo Seltzer's hash implementation for unix. @@ -232,8 +232,9 @@ typedef HashItemData *HashItem; extern Datum hashbuild(PG_FUNCTION_ARGS); extern Datum hashinsert(PG_FUNCTION_ARGS); -extern Datum hashgettuple(PG_FUNCTION_ARGS); extern Datum hashbeginscan(PG_FUNCTION_ARGS); +extern Datum hashgettuple(PG_FUNCTION_ARGS); +extern Datum hashgetmulti(PG_FUNCTION_ARGS); extern Datum hashrescan(PG_FUNCTION_ARGS); extern Datum hashendscan(PG_FUNCTION_ARGS); extern Datum hashmarkpos(PG_FUNCTION_ARGS); diff --git a/src/include/access/nbtree.h b/src/include/access/nbtree.h index 8486fabcb51..d1c0df6b32f 100644 --- a/src/include/access/nbtree.h +++ b/src/include/access/nbtree.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/access/nbtree.h,v 1.84 2005/03/21 01:24:04 tgl Exp $ + * $PostgreSQL: pgsql/src/include/access/nbtree.h,v 1.85 2005/03/27 23:53:04 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -404,8 +404,9 @@ typedef BTScanOpaqueData *BTScanOpaque; */ extern Datum btbuild(PG_FUNCTION_ARGS); extern Datum btinsert(PG_FUNCTION_ARGS); -extern Datum btgettuple(PG_FUNCTION_ARGS); extern Datum btbeginscan(PG_FUNCTION_ARGS); +extern Datum btgettuple(PG_FUNCTION_ARGS); +extern Datum btgetmulti(PG_FUNCTION_ARGS); extern Datum btrescan(PG_FUNCTION_ARGS); extern Datum btendscan(PG_FUNCTION_ARGS); extern Datum btmarkpos(PG_FUNCTION_ARGS); diff --git a/src/include/access/relscan.h b/src/include/access/relscan.h index a4ad6e31357..1cb40445ea4 100644 --- a/src/include/access/relscan.h +++ b/src/include/access/relscan.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/access/relscan.h,v 1.37 2004/12/31 22:03:21 pgsql Exp $ + * $PostgreSQL: pgsql/src/include/access/relscan.h,v 1.38 2005/03/27 23:53:04 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -38,7 +38,12 @@ typedef struct HeapScanDescData typedef HeapScanDescData *HeapScanDesc; - +/* + * We use the same IndexScanDescData structure for both amgettuple-based + * and amgetmulti-based index scans. Which one is being used can be told + * by looking at fn_getnext and fn_getmulti, only one of which will be + * initialized. Some fields are only relevant in amgettuple-based scans. + */ typedef struct IndexScanDescData { /* scan parameters */ @@ -71,6 +76,7 @@ typedef struct IndexScanDescData /* NB: if xs_cbuf is not InvalidBuffer, we hold a pin on that buffer */ FmgrInfo fn_getnext; /* cached lookup info for AM's getnext fn */ + FmgrInfo fn_getmulti; /* cached lookup info for AM's getmulti fn */ /* * If keys_are_unique and got_tuple are both true, we stop calling the diff --git a/src/include/access/rtree.h b/src/include/access/rtree.h index d06ccdcff09..c057160a790 100644 --- a/src/include/access/rtree.h +++ b/src/include/access/rtree.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/access/rtree.h,v 1.37 2005/01/18 23:25:55 neilc Exp $ + * $PostgreSQL: pgsql/src/include/access/rtree.h,v 1.38 2005/03/27 23:53:04 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -116,10 +116,9 @@ extern void freestack(RTSTACK *s); */ extern Datum rtinsert(PG_FUNCTION_ARGS); extern Datum rtbulkdelete(PG_FUNCTION_ARGS); - -extern Datum rtgettuple(PG_FUNCTION_ARGS); extern Datum rtbeginscan(PG_FUNCTION_ARGS); - +extern Datum rtgettuple(PG_FUNCTION_ARGS); +extern Datum rtgetmulti(PG_FUNCTION_ARGS); extern Datum rtendscan(PG_FUNCTION_ARGS); extern Datum rtmarkpos(PG_FUNCTION_ARGS); extern Datum rtrestrpos(PG_FUNCTION_ARGS); |