Re: cost_agg() with AGG_HASHED does not account for startup costs - Mailing list pgsql-hackers

From David Rowley
Subject Re: cost_agg() with AGG_HASHED does not account for startup costs
Date
Msg-id CAKJS1f9z+QVVVaQaa-3F3rXO59xh=H9r9icvmy7PY2d401C1FA@mail.gmail.com
Whole thread Raw
In response to Re: cost_agg() with AGG_HASHED does not account for startup costs  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On 5 August 2015 at 01:54, Tom Lane <tgl@sss.pgh.pa.us> wrote:
David Rowley <david.rowley@2ndquadrant.com> writes:
> During working on allowing the planner to perform GROUP BY before joining
> I've noticed that cost_agg() completely ignores input_startup_cost
> when aggstrategy == AGG_HASHED.

Isn't your proposed patch double-counting the input startup cost?
input_total_cost already includes that charge.  The calculation
reflects the fact that we have to read all of the input before we
can deliver any aggregated results, so the time to get the first
input row isn't really interesting.

If this were wrong, the PLAIN costing path would also be wrong, but
I don't think that either one is.


Sorry, false alarm, you're right. 

This was a bug in my code where I was adding disable_cost to the startup_cost, but not to the total_cost.

--
 David Rowley                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services
 

pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: [DOCS] max_worker_processes on the standby
Next
From: Michael Paquier
Date:
Subject: Re: tablecmds.c and lock hierarchy