summaryrefslogtreecommitdiff
path: root/src/include/access/rewriteheap.h
diff options
context:
space:
mode:
authorAlvaro Herrera <alvherre@alvh.no-ip.org>2007-05-17 15:28:29 +0000
committerAlvaro Herrera <alvherre@alvh.no-ip.org>2007-05-17 15:28:29 +0000
commit3b0347b36e1f59e5db95e8994948d850bfc90472 (patch)
tree437bc425e994ac31daf0775e476b7315b939070c /src/include/access/rewriteheap.h
parent90cbc63fd10adaeb01c3180156e0e48eee08b5ed (diff)
downloadpostgresql-3b0347b36e1f59e5db95e8994948d850bfc90472.tar.gz
Move the tuple freezing point in CLUSTER to a point further back in the past,
to avoid losing useful Xid information in not-so-old tuples. This makes CLUSTER behave the same as VACUUM as far a tuple-freezing behavior goes (though CLUSTER does not yet advance the table's relfrozenxid). While at it, move the actual freezing operation in rewriteheap.c to a more appropriate place, and document it thoroughly. This part of the patch from Tom Lane.
Diffstat (limited to 'src/include/access/rewriteheap.h')
-rw-r--r--src/include/access/rewriteheap.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/include/access/rewriteheap.h b/src/include/access/rewriteheap.h
index e8f53246a8..4f9515d566 100644
--- a/src/include/access/rewriteheap.h
+++ b/src/include/access/rewriteheap.h
@@ -6,7 +6,7 @@
* Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group
* Portions Copyright (c) 1994-5, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/include/access/rewriteheap.h,v 1.1 2007/04/08 01:26:33 tgl Exp $
+ * $PostgreSQL: pgsql/src/include/access/rewriteheap.h,v 1.2 2007/05/17 15:28:29 alvherre Exp $
*
*-------------------------------------------------------------------------
*/
@@ -20,10 +20,11 @@
typedef struct RewriteStateData *RewriteState;
extern RewriteState begin_heap_rewrite(Relation NewHeap,
- TransactionId OldestXmin, bool use_wal);
+ TransactionId OldestXmin, TransactionId FreezeXid,
+ bool use_wal);
extern void end_heap_rewrite(RewriteState state);
extern void rewrite_heap_tuple(RewriteState state, HeapTuple oldTuple,
- HeapTuple newTuple);
+ HeapTuple newTuple);
extern void rewrite_heap_dead_tuple(RewriteState state, HeapTuple oldTuple);
#endif /* REWRITE_HEAP_H */