summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorNeil Conway2007-01-20 18:43:35 +0000
committerNeil Conway2007-01-20 18:43:35 +0000
commit2b7334d4877ba445003f96b0bb7eed4e7078a39b (patch)
tree6828dfd02c4f2c20ee2d3c56d1e8f1242887c162 /src/include
parent978fff79421ec1c36a1ec58092f1167ce22319b9 (diff)
Refactor the index AM API slightly: move currentItemData and
currentMarkData from IndexScanDesc to the opaque structs for the AMs that need this information (currently gist and hash). Patch from Heikki Linnakangas, fixes by Neil Conway.
Diffstat (limited to 'src/include')
-rw-r--r--src/include/access/gist_private.h4
-rw-r--r--src/include/access/hash.h6
-rw-r--r--src/include/access/nbtree.h5
-rw-r--r--src/include/access/relscan.h5
4 files changed, 10 insertions, 10 deletions
diff --git a/src/include/access/gist_private.h b/src/include/access/gist_private.h
index 25d2c213c00..6cb2e5294e5 100644
--- a/src/include/access/gist_private.h
+++ b/src/include/access/gist_private.h
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/include/access/gist_private.h,v 1.25 2007/01/05 22:19:51 momjian Exp $
+ * $PostgreSQL: pgsql/src/include/access/gist_private.h,v 1.26 2007/01/20 18:43:35 neilc Exp $
*
*-------------------------------------------------------------------------
*/
@@ -72,7 +72,9 @@ typedef struct GISTScanOpaqueData
GISTSTATE *giststate;
MemoryContext tempCxt;
Buffer curbuf;
+ ItemPointerData curpos;
Buffer markbuf;
+ ItemPointerData markpos;
} GISTScanOpaqueData;
typedef GISTScanOpaqueData *GISTScanOpaque;
diff --git a/src/include/access/hash.h b/src/include/access/hash.h
index 0a88b9203f6..40c86b74552 100644
--- a/src/include/access/hash.h
+++ b/src/include/access/hash.h
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/include/access/hash.h,v 1.74 2007/01/05 22:19:51 momjian Exp $
+ * $PostgreSQL: pgsql/src/include/access/hash.h,v 1.75 2007/01/20 18:43:35 neilc Exp $
*
* NOTES
* modeled after Margo Seltzer's hash implementation for unix.
@@ -97,6 +97,10 @@ typedef struct HashScanOpaqueData
*/
Buffer hashso_curbuf;
Buffer hashso_mrkbuf;
+
+ /* Current and marked position of the scan */
+ ItemPointerData hashso_curpos;
+ ItemPointerData hashso_mrkpos;
} HashScanOpaqueData;
typedef HashScanOpaqueData *HashScanOpaque;
diff --git a/src/include/access/nbtree.h b/src/include/access/nbtree.h
index 435826cf457..574aec496f8 100644
--- a/src/include/access/nbtree.h
+++ b/src/include/access/nbtree.h
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/include/access/nbtree.h,v 1.108 2007/01/09 02:14:15 tgl Exp $
+ * $PostgreSQL: pgsql/src/include/access/nbtree.h,v 1.109 2007/01/20 18:43:35 neilc Exp $
*
*-------------------------------------------------------------------------
*/
@@ -390,9 +390,6 @@ typedef BTStackData *BTStack;
* items were killed, we re-lock the page to mark them killed, then unlock.
* Finally we drop the pin and step to the next page in the appropriate
* direction.
- *
- * NOTE: in this implementation, btree does not use or set the
- * currentItemData and currentMarkData fields of IndexScanDesc at all.
*/
typedef struct BTScanPosItem /* what we remember about each match */
diff --git a/src/include/access/relscan.h b/src/include/access/relscan.h
index bd1a9a4c3f8..77bca6be482 100644
--- a/src/include/access/relscan.h
+++ b/src/include/access/relscan.h
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/include/access/relscan.h,v 1.51 2007/01/05 22:19:51 momjian Exp $
+ * $PostgreSQL: pgsql/src/include/access/relscan.h,v 1.52 2007/01/20 18:43:35 neilc Exp $
*
*-------------------------------------------------------------------------
*/
@@ -69,9 +69,6 @@ typedef struct IndexScanDescData
/* index access method's private state */
void *opaque; /* access-method-specific info */
- /* these fields are used by some but not all AMs: */
- ItemPointerData currentItemData; /* current index pointer */
- ItemPointerData currentMarkData; /* marked position, if any */
/*
* xs_ctup/xs_cbuf are valid after a successful index_getnext. After