| From: | Junseok Yang <jsyang(at)bitnine(dot)net> |
|---|---|
| To: | pgsql-hackers(at)postgresql(dot)org |
| Subject: | `array_position...()` causes SIGSEGV |
| Date: | 2016-12-09 06:14:43 |
| Message-ID: | CAE+byMupUURYiZ6bKYgMZb9pgV1CYAijJGqWj-90W=nS7uEOeA@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hello hackers,
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);
| Attachment | Content-Type | Size |
|---|---|---|
| 0001-Fix-memory-context-bugs-in-array_position.patch | text/x-patch | 2.0 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Venkata B Nagothi | 2016-12-09 06:16:12 | Re: Declarative partitioning - another take |
| Previous Message | vinayak | 2016-12-09 06:02:54 | Re: Transactions involving multiple postgres foreign servers |