diff options
author | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2007-05-16 17:28:20 +0000 |
---|---|---|
committer | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2007-05-16 17:28:20 +0000 |
commit | 90cbc63fd10adaeb01c3180156e0e48eee08b5ed (patch) | |
tree | 07fc1b8f4efd7d6c4e469ea41a7f9f13b4a23ac9 /src/backend/commands/tablecmds.c | |
parent | dfed0012bc03c3cda94e75af54e9c774556c9787 (diff) | |
download | postgresql-90cbc63fd10adaeb01c3180156e0e48eee08b5ed.tar.gz postgresql-90cbc63fd10adaeb01c3180156e0e48eee08b5ed.zip |
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.
Diffstat (limited to 'src/backend/commands/tablecmds.c')
-rw-r--r-- | src/backend/commands/tablecmds.c | 6 |
1 files changed, 3 insertions, 3 deletions
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); } |