From: | Ashutosh Bapat <ashutosh(dot)bapat(at)2ndquadrant(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Surafel Temesgen <surafel3000(at)gmail(dot)com>, Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Evaluate expression at planning time for two more cases |
Date: | 2020-09-08 11:59:47 |
Message-ID: | CAG-ACPXEfYXA3vz=e2KoNeP8JhC4C50ZtdeUyZFEsHR+_zyZKw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, 8 Sep 2020 at 07:16, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>
>
> I'm not sure what I think about Ashutosh's ideas about doing this
> somewhere else than eval_const_expressions. I do not buy the argument
> that it's interesting to do this separately for each child partition.
> Child partitions that have attnotnull constraints different from their
> parent's are at best a tiny minority use-case, if indeed we allow them
> at all (I tend to think we shouldn't).
I agree about partitions. But, IMO, a child having constraints different
from that of a parent is more common in inheritance trees.
Another point I raised in my mail was about constraint exclusion. Why
aren't these clauses constant-folded by constraint exclusion? Sorry, I
haven't looked at the constraint exclusion code myself for this.
As a not incidental example, consider
>
> select ... from t1 left join t2 on (...) where t2.x is not null;
>
> reduce_outer_joins will realize that the left join can be reduced
> to a plain join, whereupon (if t2.x is attnotnull) the WHERE clause
> really is constant-true --- and this seems like a poster-child case
> for it being useful to optimize away the WHERE clause. But
> we won't be able to detect that if we apply the optimization during
> eval_const_expressions. So maybe that's a good reason to do it
> somewhere later.
>
+1
--
Best Wishes,
Ashutosh
From | Date | Subject | |
---|---|---|---|
Next Message | Ashutosh Bapat | 2020-09-08 12:25:09 | Re: Ideas about a better API for postgres_fdw remote estimates |
Previous Message | Robert Haas | 2020-09-08 11:54:37 | Re: Parallel worker hangs while handling errors. |