pgsql: Several fixes for EXPLAIN (FORMAT YAML), plus one for EXPLAIN

From: rhaas(at)postgresql(dot)org (Robert Haas)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Several fixes for EXPLAIN (FORMAT YAML), plus one for EXPLAIN
Date: 2009-12-16 22:16:16
Message-ID: 20091216221616.AF013753FB7@cvs.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
Several fixes for EXPLAIN (FORMAT YAML), plus one for EXPLAIN (FORMAT JSON).

ExplainSeparatePlans() was busted for both JSON and YAML output - the present
code is a holdover from the original version of my machine-readable explain
patch, which didn't have the grouping_stack machinery. Also, fix an odd
distribution of labor between ExplainBeginGroup() and ExplainYAMLLineStarting()
when marking lists with "- ", with each providing one character. This broke
the output format for multi-query statements. Also, fix ExplainDummyGroup()
for the YAML output format.

Along the way, make the YAML format use escape_yaml() in situations where the
JSON format uses escape_json(). Right now, it doesn't matter because all the
values are known not to need escaping, but it seems safer this way. Finally,
I added some comments to better explain what the YAML output format is doing.

Greg Sabino Mullane reported the issues with multi-query statements.
Analysis and remaining cleanups by me.

Modified Files:
--------------
pgsql/src/backend/commands:
explain.c (r1.196 -> r1.197)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/explain.c?r1=1.196&r2=1.197)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2009-12-16 22:24:13 pgsql: Avoid a premature coercion failure in transformSetOperationTree()
Previous Message User Bmomjian 2009-12-16 22:05:25 pg-migrator - pg_migrator: Stamp 8.4.6.