On Wed, Aug 5, 2009 at 10:48 PM, Robert Haas<robertmhaas@gmail.com> wrote:
> On Sun, Aug 2, 2009 at 7:29 PM, Andres Freund<andres@anarazel.de> wrote:
>>> Well, the whole explain output format is pretty idiosyncratic, and I
>>> had to work pretty hard to beat it into submission. I think that it
>>> would not be totally trivial to do what you're suggesting here because
>>> it would require adding code to manage es->indent outside of
>>> ExplainPrintPlan(), which we currently don't. I'm not sure whether
>>> that works out to a net win.
>> Thats why I suggested doing it for JSON/XML only. E.g. like in the attached
>> patch. The result looks simpler for my eyes.
>
> I looked at this some more. I think it's a mess. It's probably right
> to do what you're suggesting here, but this patch only changes pieces
> of it without making the whole thing consistent. report_triggers(),
> for example, kludges a value into es->indent but then ignores it when
> determining how much to indent <Trigger>, etc. I can't even figure
> out why this works now, let alone being able to maintain it down the
> line.
>
> I'm working on trying to fix this.
Revised patch attached. I'm not convinced this is as good as it can
be, but I've been looking at this patch for so long that I'm starting
to get cross-eyed, and I'd like to Tom at least have a look at this
and assess it before we run out of CommitFest.
...Robert