EXPLAIN doesn't show sufficient info for wCTE cases - Mailing list pgsql-hackers

From Tom Lane
Subject EXPLAIN doesn't show sufficient info for wCTE cases
Date
Msg-id 9001.1298911157@sss.pgh.pa.us
Whole thread Raw
Responses Re: EXPLAIN doesn't show sufficient info for wCTE cases  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-hackers
EXPLAIN currently shows ModifyTable nodes as just "Insert", "Update",
or "Delete", without any indication of the target table.  This was
more or less good enough when there could only be one such node per
query, but it's looking pretty inadequate to me as I play around
with data-modifying statements in WITH.

The obvious thing to do is show the target table much as we do for
table scan nodes, eg "Update on my_table".  There is a deficiency
in that, which is that for inherited UPDATE/DELETE cases a single
ModifyTable node could have multiple target tables.  But after
reflecting on it a bit, I think it would be good enough to show
the parent table name.  The individual child plans will necessarily
include scans of the individual child tables, so you can figure
out which is which from that if you need to know.

Alternatively we could list all the target tables in a new node
attribute, eg
Update (costs...)    Target Tables: foo_parent, foo_child1, ...

But in the majority of cases this seems like a waste of precious
vertical space.

Thoughts?
        regards, tom lane


pgsql-hackers by date:

Previous
From: Andrew Dunstan
Date:
Subject: Re: Native XML
Next
From: Robert Haas
Date:
Subject: Re: EXPLAIN doesn't show sufficient info for wCTE cases