Removal of unnecessary CommandCounterIncrement() when doing ON COMMIT DELETE ROWS
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Postgres hackers <pgsql-hackers@postgresql.org>
Date: 2018-11-09T02:47:31Z
Lists: pgsql-hackers
Attachments
- oncommit-cci-remove.patch (text/x-diff) patch
Hi all,
When doing a set of ON COMMIT DELETE ROWS actions for relations, there
is a CCI happening after each truncation:
@@ -13334,10 +13334,8 @@ PreCommit_on_commit_actions(void)
* exists at truncation time.
*/
if (oids_to_truncate != NIL)
- {
heap_truncate(oids_to_truncate);
- CommandCounterIncrement(); /* XXX needed? */
- }
This has been visibly introduced by f9b5b41 back in 2002 which reworked
how ON COMMIT works.
Alvaro has mentioned that it would not be needed here:
20181106125337.o23kjdv546bu2tei@alvherre.pgsql
And I think that I agree with that, because visibly this applies to
index rebuilds but in those cases CCIs are happening locally. So I
think that we can get rid of that, and I suggest to remove it only on
HEAD only of course.
Any objections?
--
Michael
Commits
-
Remove CommandCounterIncrement() after processing ON COMMIT DELETE
- 52b70b1c7df5 12.0 landed