Re: Handling memory contexts in aggregate function invoking other built-in aggregate functions

Поиск
Список
Период
Сортировка
От Matt Magoffin
Тема Re: Handling memory contexts in aggregate function invoking other built-in aggregate functions
Дата
Msg-id 5514A57A-967F-451A-BE04-58D97AC6480B@msqr.us
обсуждение исходный текст
Ответ на Re: Handling memory contexts in aggregate function invoking other built-in aggregate functions  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
On 5/12/2021, at 5:16 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:

> Calling numeric_avg_accum in the agg_context is unnecessary, and possibly
> counterproductive (it might leak memory in that context, since like all
> other aggregates it assumes it's called in a short-lived context).


OK, thanks for that, I’ll remove the context switch before calling numeric_avg_accum and test more.

> Are you testing in an --enable-cassert build?  If not, do that;
> it might make the cause of the crashes more apparent, thanks to
> CLOBBER_FREED_MEMORY and other debug support.

I did build with --enable-cassert, and I did see the state argument pointer passed to numeric_avg_accum
 as 0x7f7f7f7f7f, so now I understand why that was thanks to seeing the information about what that means on the Dev
FAQ,thanks for that. 

So given you didn’t say I shouldn’t be trying to invoke these aggregate functions as I’m trying to, does that mean in
theorythere isn’t anything inappropriate about doing this as far as you know? 

Cheers,
Matt


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Handling memory contexts in aggregate function invoking other built-in aggregate functions
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Handling memory contexts in aggregate function invoking other built-in aggregate functions