]> granicus.if.org Git - postgresql/commit
Several fixes for EXPLAIN (FORMAT YAML), plus one for EXPLAIN (FORMAT JSON).
authorRobert Haas <rhaas@postgresql.org>
Wed, 16 Dec 2009 22:16:16 +0000 (22:16 +0000)
committerRobert Haas <rhaas@postgresql.org>
Wed, 16 Dec 2009 22:16:16 +0000 (22:16 +0000)
commitff499613d2dd2c89b93379dbee943b8e6cee5f20
treecf86b836159908bb8d20dea70982a7b69ea4708e
parent3dfe7e8e0fdd42c5faea44c6235d1583205dc2e7
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.
src/backend/commands/explain.c