aboutsummaryrefslogtreecommitdiff
path: root/src/backend/storage/buffer/localbuf.c
diff options
context:
space:
mode:
authorRobert Haas <rhaas@postgresql.org>2012-02-22 20:33:05 -0500
committerRobert Haas <rhaas@postgresql.org>2012-02-22 20:33:05 -0500
commit2254367435fcc4a31cc3b6d8324e33c5c30f265a (patch)
tree484dc972b60dd19f03cf15c30869a1566c576848 /src/backend/storage/buffer/localbuf.c
parentf74f9a277c37b42c570ce01019f815abbec58ba0 (diff)
downloadpostgresql-2254367435fcc4a31cc3b6d8324e33c5c30f265a.tar.gz
postgresql-2254367435fcc4a31cc3b6d8324e33c5c30f265a.zip
Make EXPLAIN (BUFFERS) track blocks dirtied, as well as those written.
Also expose the new counters through pg_stat_statements. Patch by me. Review by Fujii Masao and Greg Smith.
Diffstat (limited to 'src/backend/storage/buffer/localbuf.c')
-rw-r--r--src/backend/storage/buffer/localbuf.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/backend/storage/buffer/localbuf.c b/src/backend/storage/buffer/localbuf.c
index 096d36a233b..63c14f7300c 100644
--- a/src/backend/storage/buffer/localbuf.c
+++ b/src/backend/storage/buffer/localbuf.c
@@ -276,6 +276,10 @@ MarkLocalBufferDirty(Buffer buffer)
Assert(LocalRefCount[bufid] > 0);
bufHdr = &LocalBufferDescriptors[bufid];
+
+ if (!(bufHdr->flags & BM_DIRTY))
+ pgBufferUsage.local_blks_dirtied++;
+
bufHdr->flags |= BM_DIRTY;
}