Re: array_agg(DISTINCT) caused a segmentation fault

Поиск
Список
Период
Сортировка
От Fujii Masao
Тема Re: array_agg(DISTINCT) caused a segmentation fault
Дата
Msg-id 43ad904c-8e62-a96f-91d7-b4894a433e20@oss.nttdata.com
обсуждение исходный текст
Ответ на Re: array_agg(DISTINCT) caused a segmentation fault  (David Rowley <dgrowleyml@gmail.com>)
Список pgsql-bugs

On 2023/02/13 16:44, David Rowley wrote:
> On Mon, 13 Feb 2023 at 18:29, Fujii Masao <masao.fujii@oss.nttdata.com> wrote:
>> =# SELECT array_agg(distinct val) FROM (SELECT NULL AS val FROM generate_series(1, 2)) hoge;
>> LOG:  server process (PID 76507) was terminated by signal 11: Segmentation fault: 11
>> DETAIL:  Failed process was running: SELECT array_agg(distinct val) FROM (SELECT NULL AS val FROM generate_series(1,
2))hoge;
 
> 
> This was a fairly trivial logic bug in
> ExecEvalPreOrderedDistinctSingle(). The JIT code calls that same
> function and ExecEvalPreOrderedDistinctMulti() uses the standard
> expression evaluation logic.  So looks like the problem is just
> isolated to ExecEvalPreOrderedDistinctSingle().
> 
> I've now pushed a fix for it and included your test.  To get it to
> crash it needed to be a byref aggregate without a strict transition
> function.  There are not too many of those, which is probably why
> nobody noticed this before.

Thanks for the fix!

Regards,

-- 
Fujii Masao
Advanced Computing Technology Center
Research and Development Headquarters
NTT DATA CORPORATION



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

Предыдущее
От: David Rowley
Дата:
Сообщение: Re: array_agg(DISTINCT) caused a segmentation fault
Следующее
От: PG Bug reporting form
Дата:
Сообщение: BUG #17790: Download of SLES 12 SP5 - x86_64 is not working