From 3b727fd7f52d46c8429e0059296da495a3613687 Mon Sep 17 00:00:00 2001
From: Sami Imseih <simseih@amazon.com>
Date: Thu, 10 Apr 2025 08:31:17 -0500
Subject: [PATCH v1 1/2] Add code comment for ins_since_vacuum

Add a code comment for ins_since_vacuum to justify the reason
for tracking inserts from aborted transactions.

Author: David Rowley <dgrowleyml@gmail.com>
Reported-by: Sami Imseih <samimseih@gmail.com>
Discussion: https://www.postgresql.org/message-id/flat/CAA5RZ0sFabU2sAJft5JAqBwrQAbM3X81X-CGUY8CdOdVM%2B58Og%40mail.gmail.com
---
 src/backend/utils/activity/pgstat_relation.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/backend/utils/activity/pgstat_relation.c b/src/backend/utils/activity/pgstat_relation.c
index d64595a165c..be09ef8d66d 100644
--- a/src/backend/utils/activity/pgstat_relation.c
+++ b/src/backend/utils/activity/pgstat_relation.c
@@ -868,6 +868,14 @@ pgstat_relation_flush_cb(PgStat_EntryRef *entry_ref, bool nowait)
 	tabentry->live_tuples += lstats->counts.delta_live_tuples;
 	tabentry->dead_tuples += lstats->counts.delta_dead_tuples;
 	tabentry->mod_since_analyze += lstats->counts.changed_tuples;
+
+	/*
+	 * Using tuples_inserted to update ins_since_vacuum does mean that we'll
+	 * track aborted inserts too.  This isn't ideal, but otherwise probably
+	 * not worth adding an extra field for.  It may just amount to autovacuums
+	 * triggering for inserts more often than they maybe should, which is
+	 * probably not going to be common enough to be too concerned about here.
+	 */
 	tabentry->ins_since_vacuum += lstats->counts.tuples_inserted;
 	tabentry->blocks_fetched += lstats->counts.blocks_fetched;
 	tabentry->blocks_hit += lstats->counts.blocks_hit;
-- 
2.39.5 (Apple Git-154)

