• Robert Haas's avatar
    Several fixes for EXPLAIN (FORMAT YAML), plus one for EXPLAIN (FORMAT JSON). · ff499613
    Robert Haas authored
    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.
    ff499613
explain.c 54 KB