On Wed, 17 Apr 2019 at 13:13, Amit Langote
<Langote_Amit_f8@lab.ntt.co.jp> wrote:
> When you see this:
>
> explain select * from t1 where dt = current_date + 400;
> QUERY PLAN
> ────────────────────────────────────────────────────────────
> Append (cost=0.00..198.42 rows=44 width=8)
> Subplans Removed: 3
> -> Seq Scan on t1_1 (cost=0.00..49.55 rows=11 width=8)
> Filter: (dt = (CURRENT_DATE + 400))
> (4 rows)
>
> Doesn't this give an impression that t1_1 *matches* the WHERE condition
> where it clearly doesn't? IMO, contorting explain.c to show an empty
> Append like what Hosoya-san suggests doesn't sound too bad given that the
> first reaction to seeing the above result is to think it's a bug of
> partition pruning.
Where do you think the output list for EXPLAIN VERBOSE should put the
output column list in this case? On the Append node, or just not show
them?
--
David Rowley http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services