pgsql: Make EXPLAIN ANALYZE report the numbers of rows rejected by filt

Lists: pgsql-committers
From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Make EXPLAIN ANALYZE report the numbers of rows rejected by filt
Date: 2011-09-22 15:30:43
Message-ID: E1R6lEZ-0008KE-HZ@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers

Make EXPLAIN ANALYZE report the numbers of rows rejected by filter steps.

This provides information about the numbers of tuples that were visited
but not returned by table scans, as well as the numbers of join tuples
that were considered and discarded within a join plan node.

There is still some discussion going on about the best way to report counts
for outer-join situations, but I think most of what's in the patch would
not change if we revise that, so I'm going to go ahead and commit it as-is.

Documentation changes to follow (they weren't in the submitted patch
either).

Marko Tiikkaja, reviewed by Marc Cousin, somewhat revised by Tom

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/f1972723654947f70409716757aa83f3d93c8fab

Modified Files
--------------
src/backend/commands/explain.c | 79 +++++++++++++++++++++++++++-
src/backend/commands/trigger.c | 1 -
src/backend/executor/execAmi.c | 1 -
src/backend/executor/execMain.c | 1 -
src/backend/executor/execProcnode.c | 1 -
src/backend/executor/execScan.c | 2 +
src/backend/executor/instrument.c | 14 +++--
src/backend/executor/nodeAgg.c | 4 ++
src/backend/executor/nodeBitmapAnd.c | 1 -
src/backend/executor/nodeBitmapHeapscan.c | 1 +
src/backend/executor/nodeBitmapIndexscan.c | 1 -
src/backend/executor/nodeBitmapOr.c | 1 -
src/backend/executor/nodeGroup.c | 4 ++
src/backend/executor/nodeHash.c | 1 -
src/backend/executor/nodeHashjoin.c | 8 +++
src/backend/executor/nodeIndexscan.c | 6 ++-
src/backend/executor/nodeMergejoin.c | 8 +++
src/backend/executor/nodeNestloop.c | 6 ++
src/include/executor/instrument.h | 6 ++-
src/include/nodes/execnodes.h | 18 +++++-
20 files changed, 144 insertions(+), 20 deletions(-)