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 по дате отправления: