summaryrefslogtreecommitdiff
path: root/src/include/access/hash.h
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2009-11-01 22:30:54 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2009-11-01 22:30:54 +0000
commit7d535ebe5bf95ca88891c0288fa1c6575498185e (patch)
tree3b26f8d66fde2c0c192c3df03691b0ff28c5a747 /src/include/access/hash.h
parentc4afdca4c26df63e4942ef300e544c7118c6af56 (diff)
downloadpostgresql-7d535ebe5bf95ca88891c0288fa1c6575498185e.tar.gz
Dept of second thoughts: after studying index_getnext() a bit more I realize
that it can scribble on scan->xs_ctup.t_self while following HOT chains, so we can't rely on that to stay valid between hashgettuple() calls. Introduce a private variable in HashScanOpaque, instead.
Diffstat (limited to 'src/include/access/hash.h')
-rw-r--r--src/include/access/hash.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/include/access/hash.h b/src/include/access/hash.h
index 100ccb9e6d..ce5417044a 100644
--- a/src/include/access/hash.h
+++ b/src/include/access/hash.h
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/include/access/hash.h,v 1.94 2009/11/01 21:25:25 tgl Exp $
+ * $PostgreSQL: pgsql/src/include/access/hash.h,v 1.95 2009/11/01 22:30:54 tgl Exp $
*
* NOTES
* modeled after Margo Seltzer's hash implementation for unix.
@@ -99,8 +99,11 @@ typedef struct HashScanOpaqueData
*/
Buffer hashso_curbuf;
- /* Current position of the scan */
+ /* Current position of the scan, as an index TID */
ItemPointerData hashso_curpos;
+
+ /* Current position of the scan, as a heap TID */
+ ItemPointerData hashso_heappos;
} HashScanOpaqueData;
typedef HashScanOpaqueData *HashScanOpaque;