summaryrefslogtreecommitdiff
path: root/src/include/access
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2009-11-01 22:31:02 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2009-11-01 22:31:02 +0000
commit01adc8afd55f3ae831e32b6ce19f7c61f4baac28 (patch)
treeec4ba5825187ce28c6aaae7a8a1aa64fbd44ceae /src/include/access
parent891e225a7066e1922cfcf023a4aff2e1444d020b (diff)
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')
-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 f25a2adf088..7d02f28add9 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.93.2.1 2009/11/01 21:25:33 tgl Exp $
+ * $PostgreSQL: pgsql/src/include/access/hash.h,v 1.93.2.2 2009/11/01 22:31:02 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;