Re: postgres_fdw: oddity in costing aggregate pushdown paths

Etsuro Fujita <fujita.etsuro@lab.ntt.co.jp>

From: Etsuro Fujita <fujita.etsuro@lab.ntt.co.jp>
To: Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2018-12-04T08:24:23Z
Lists: pgsql-hackers
(2018/12/03 20:20), Etsuro Fujita wrote:
> (2018/11/30 18:51), Etsuro Fujita wrote:
>> (2018/11/28 13:38), Etsuro Fujita wrote:
>>> BTW another thing I noticed is this comment on costing aggregate
>>> pushdown paths using local statistics in estimate_path_cost_size:
>>>
>>>                 * Also, core does not care about costing HAVING expressions and
>>>                 * adding that to the costs.  So similarly, here too we are not
>>>                 * considering remote and local conditions for costing.
>>>
>>> I think this was true when aggregate pushdown went in, but isn't anymore
>>> because of commit 7b6c07547190f056b0464098bb5a2247129d7aa2.  So we
>>> should update estimate_path_cost_size so that it accounts for the
>>> selectivity and cost of the HAVING expressions as well?
>>
>> There seems to be no objections, I updated the patch as such.  Attached
>> is an updated version of the patch.
> 
> I revised some comments a bit and added the commit message.  Attached is
> an updated patch.  If there are no objections, I'll apply this to HEAD only.

Done after fixing typos in the commit message.

Best regards,
Etsuro Fujita



Commits

  1. postgres_fdw: Account for tlist eval costs in estimate_path_cost_size().

  2. postgres_fdw: Improve cost and size estimation for aggregate pushdown.

  3. Teach planner to account for HAVING quals in aggregation plan nodes.