From 90cbc63fd10adaeb01c3180156e0e48eee08b5ed Mon Sep 17 00:00:00 2001 From: Alvaro Herrera Date: Wed, 16 May 2007 17:28:20 +0000 Subject: Have TRUNCATE advance the affected table's relfrozenxid to RecentXmin, to avoid a later needless VACUUM for Xid-wraparound purposes. We can do this since the table is known to be left empty, so no Xid remains on it. Per discussion. --- src/backend/commands/tablecmds.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/backend/commands/tablecmds.c') diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c index d7ad90d0217..cdfbc6f0829 100644 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/commands/tablecmds.c,v 1.223 2007/05/14 20:24:41 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/commands/tablecmds.c,v 1.224 2007/05/16 17:28:20 alvherre Exp $ * *------------------------------------------------------------------------- */ @@ -616,7 +616,7 @@ ExecuteTruncate(TruncateStmt *stmt) * the relfilenode value. The old storage file is scheduled for * deletion at commit. */ - setNewRelfilenode(rel); + setNewRelfilenode(rel, RecentXmin); heap_relid = RelationGetRelid(rel); toast_relid = rel->rd_rel->reltoastrelid; @@ -629,7 +629,7 @@ ExecuteTruncate(TruncateStmt *stmt) if (OidIsValid(toast_relid)) { rel = relation_open(toast_relid, AccessExclusiveLock); - setNewRelfilenode(rel); + setNewRelfilenode(rel, RecentXmin); heap_close(rel, NoLock); } -- cgit v1.2.3