Re: Parallel Aggregate
От | David Rowley |
---|---|
Тема | Re: Parallel Aggregate |
Дата | |
Msg-id | CAKJS1f96XQLMLjSG=sk=TRCVWmnxJuRNNnRt0voSPsVhB0BVAQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Parallel Aggregate (Robert Haas <robertmhaas@gmail.com>) |
Ответы |
Re: Parallel Aggregate
|
Список | pgsql-hackers |
On 16 March 2016 at 11:00, Robert Haas <robertmhaas@gmail.com> wrote: > I don't see why we would need to leave aggpartial out of the equals() > check. I must be missing something. See fix_combine_agg_expr_mutator() This piece of code: /* * Aggrefs for partial aggregates are wrapped up in a PartialAggref, * we need to look into the PartialAggref to find the Aggref within. */ foreach(lc, context->subplan_itlist->tlist) { PartialAggref *paggref; tle = (TargetEntry *) lfirst(lc); paggref = (PartialAggref *) tle->expr; if (IsA(paggref, PartialAggref) && equal(paggref->aggref, aggref)) break; } if equals() compared the aggpartial then this code would fail to find the Aggref in the subnode due to the aggpartial field being true on one and false on the other Aggref. -- David Rowley http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services
В списке pgsql-hackers по дате отправления: