Re: Memory-Bounded Hash Aggregation

Поиск
Список
Период
Сортировка
От Justin Pryzby
Тема Re: Memory-Bounded Hash Aggregation
Дата
Msg-id 20200319064222.GR26184@telsasoft.com
обсуждение исходный текст
Ответ на Re: Memory-Bounded Hash Aggregation  (Jeff Davis <pgsql@j-davis.com>)
Список pgsql-hackers
On Sun, Mar 15, 2020 at 04:05:37PM -0700, Jeff Davis wrote:
> > +    if (from_tape)
> > +        partition_mem += HASHAGG_READ_BUFFER_SIZE;
> > +    partition_mem = npartitions * HASHAGG_WRITE_BUFFER_SIZE;
> > 
> > => That looks wrong ; should say += ?
> 
> Good catch! Fixed.

> +++ b/src/backend/executor/nodeAgg.c
> @@ -2518,9 +3499,36 @@ ExecInitAgg(Agg *node, EState *estate, int eflags)
>       */
>      if (use_hashing)
>      {
> +        Plan   *outerplan = outerPlan(node);
> +        uint64    totalGroups = 0;
> +        for (i = 0; i < aggstate->num_hashes; i++)
> +            totalGroups = aggstate->perhash[i].aggnode->numGroups;
> +
> +        hash_agg_set_limits(aggstate->hashentrysize, totalGroups, 0,

I realize that I missed the train but .. that looks like another += issue?

Also, Andres was educating me about the range of behavior of "long" type, and I
see now while rebasing that you did the same thing.
https://www.postgresql.org/message-id/20200306175859.d56ohskarwldyrrw%40alap3.anarazel.de

-- 
Justin



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Fujii Masao
Дата:
Сообщение: Re: RecoveryWalAll and RecoveryWalStream wait events
Следующее
От: Masahiko Sawada
Дата:
Сообщение: Re: Internal key management system