From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | pgsql-hackers(at)postgreSQL(dot)org |
Subject: | EXPLAIN doesn't show sufficient info for wCTE cases |
Date: | 2011-02-28 16:39:17 |
Message-ID: | 9001.1298911157@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2011-02-28 16:44:06 | Re: EXPLAIN doesn't show sufficient info for wCTE cases |
Previous Message | Andrew Dunstan | 2011-02-28 16:23:58 | Re: Native XML |