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: [email protected] 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
diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c
index 82989158ee..946119fa86 100644
--- a/src/backend/commands/tablecmds.c
+++ b/src/backend/commands/tablecmds.c
@@ -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? */
- }
+
if (oids_to_drop != NIL)
{
ObjectAddresses *targetObjects = new_object_addresses();
signature.asc
Description: PGP signature
