diff options
author | Neil Conway | 2007-01-20 18:43:35 +0000 |
---|---|---|
committer | Neil Conway | 2007-01-20 18:43:35 +0000 |
commit | 2b7334d4877ba445003f96b0bb7eed4e7078a39b (patch) | |
tree | 6828dfd02c4f2c20ee2d3c56d1e8f1242887c162 /src/include | |
parent | 978fff79421ec1c36a1ec58092f1167ce22319b9 (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.h | 4 | ||||
-rw-r--r-- | src/include/access/hash.h | 6 | ||||
-rw-r--r-- | src/include/access/nbtree.h | 5 | ||||
-rw-r--r-- | src/include/access/relscan.h | 5 |
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 |