pgsql: Teach EXPLAIN to print PARAM_EXEC Params as the referenced

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Teach EXPLAIN to print PARAM_EXEC Params as the referenced
Date: 2010-07-13 20:57:19
Message-ID: 20100713205719.7D96E7541D5@cvs.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
Teach EXPLAIN to print PARAM_EXEC Params as the referenced expressions,
rather than just $N. This brings the display of nestloop-inner-indexscan
plans back to where it's been, and incidentally improves the display of
SubPlan parameters as well. In passing, simplify the EXPLAIN code by
having it deal primarily in the PlanState tree rather than separately
searching Plan and PlanState trees. This is noticeably cleaner for
subplans, and about a wash elsewhere.

One small difference from previous behavior is that EXPLAIN will no longer
qualify local variable references in inner-indexscan plan nodes, since it
no longer sees such nodes as possibly referencing multiple tables. Vars
referenced through PARAM_EXEC Params are still forcibly qualified, though,
so I don't think the display is any more confusing than before. Adjust a
couple of examples in the documentation to match this behavior.

Modified Files:
--------------
pgsql/doc/src/sgml:
perform.sgml (r1.82 -> r1.83)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/perform.sgml?r1=1.82&r2=1.83)
planstats.sgml (r1.9 -> r1.10)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/planstats.sgml?r1=1.9&r2=1.10)
pgsql/src/backend/commands:
explain.c (r1.206 -> r1.207)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/explain.c?r1=1.206&r2=1.207)
pgsql/src/backend/utils/adt:
ruleutils.c (r1.327 -> r1.328)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/ruleutils.c?r1=1.327&r2=1.328)
pgsql/src/include/utils:
builtins.h (r1.350 -> r1.351)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/builtins.h?r1=1.350&r2=1.351)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2010-07-14 17:09:45 pgsql: Allow full SSL certificate verification (wherein libpq checks its
Previous Message Bruce Momjian 2010-07-13 20:16:26 Re: pgsql: In pg_upgrade, report /bin directory checks independent of /data