Re: [HACKERS] `array_position...()` causes SIGSEGV
| От | Michael Paquier |
|---|---|
| Тема | Re: [HACKERS] `array_position...()` causes SIGSEGV |
| Дата | |
| Msg-id | CAB7nPqT6-MbMtR=rN6tQEiE-t3ZxYDiRn-BCU=hT5G-511BKKQ@mail.gmail.com обсуждение исходный текст |
| Ответ на | [HACKERS] `array_position...()` causes SIGSEGV (Junseok Yang <jsyang@bitnine.net>) |
| Ответы |
Re: [HACKERS] `array_position...()` causes SIGSEGV
|
| Список | pgsql-hackers |
On Fri, Dec 9, 2016 at 3:14 PM, Junseok Yang <jsyang@bitnine.net> wrote: > I met SIGSEGV when using `array_position()` with record type > arguments, so I've written a patch which corrects this problem. It > seems that `array_position...()` sets wrong memory context for the > cached function (in this case `record_eq()`) which is used to find a > matching element. > > The problem is reproducable with the following query. > > SELECT array_position(ids, (1, 1)) > FROM (VALUES (ARRAY[(0, 0)]), (ARRAY[(1, 1)])) AS _(ids); Good catch. That's present since 13dbc7a8 and the introduction of array_offset(), or array_position() on HEAD, so the patch should be applied down to 9.5. -- Michael
В списке pgsql-hackers по дате отправления: