]> granicus.if.org Git - postgresql/commitdiff
Count buffers dirtied due to hints in pgBufferUsage.shared_blks_dirtied.
authorRobert Haas <rhaas@postgresql.org>
Mon, 31 Mar 2014 17:06:26 +0000 (13:06 -0400)
committerRobert Haas <rhaas@postgresql.org>
Mon, 31 Mar 2014 17:29:54 +0000 (13:29 -0400)
Previously, such buffers weren't counted, with the possible result that
EXPLAIN (BUFFERS) and pg_stat_statements would understate the true
number of blocks dirtied by an SQL statement.

Back-patch to 9.2, where this counter was introduced.

Amit Kapila

src/backend/storage/buffer/bufmgr.c

index 9b0283fa518bdc1a28c30017143af01be1110eff..c60158d675f4cf16976fb3db1eac3545297c81fe 100644 (file)
@@ -2474,6 +2474,7 @@ SetBufferCommitInfoNeedsSave(Buffer buffer)
                {
                        /* Do vacuum cost accounting */
                        VacuumPageDirty++;
+                       pgBufferUsage.shared_blks_dirtied++;
                        if (VacuumCostActive)
                                VacuumCostBalance += VacuumCostPageDirty;
                }