Re: BUG #14220: pg_get_expr() with an incorrect relation id crashes the server

Поиск
Список
Период
Сортировка
От Thomas Munro
Тема Re: BUG #14220: pg_get_expr() with an incorrect relation id crashes the server
Дата
Msg-id CAEepm=1P-5cm858uxvXG7sPiO5Z7DUCy-iwujCLYerfC30WCZg@mail.gmail.com
обсуждение исходный текст
Ответ на BUG #14220: pg_get_expr() with an incorrect relation id crashes the server  (christopher.m.hanks@gmail.com)
Ответы Re: BUG #14220: pg_get_expr() with an incorrect relation id crashes the server  (Michael Paquier <michael.paquier@gmail.com>)
Список pgsql-bugs
On Thu, Jun 30, 2016 at 10:43 AM,  <christopher.m.hanks@gmail.com> wrote:
> The following bug has been logged on the website:
>
> Bug reference:      14220
> Logged by:          Chris Hanks
> Email address:      christopher.m.hanks@gmail.com
> PostgreSQL version: 9.5.3
> Operating system:   Linux Mint 17.2 64-bit
> Description:
>
> SELECT version():
> "PostgreSQL 9.5.3 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu
> 4.8.2-19ubuntu1) 4.8.2, 64-bit"
>
> Reproduction:
>
> CREATE TABLE "test_table" ("id" serial PRIMARY KEY, "column_1" int4 NOT
> NULL, "column_2" int4);
>
> CREATE INDEX "idx" ON "test_table" ("column_1") WHERE ("column_2" = 4);
>
> SELECT pg_get_expr(i.indpred, i.indexrelid) FROM pg_index i;
>
> I realize that the query is incorrect, in order to retrieve the filter
> expression as SQL I need to call pg_get_expr(i.indpred, i.indrelid). But it
> seems like it should raise an error, rather than causing the server to
> crash.

Maybe the attnum bounds check should be an error rather than an
assertion, like in the attached.  Thought perhaps with a better
message...

--
Thomas Munro
http://www.enterprisedb.com

Вложения

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

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: BUG #14208: Inconsistent code modification - 3
Следующее
От: "Phil McGuinness"
Дата:
Сообщение: Re: PostGres 9.5 [ and earlier ] "SET SEARCH_PATH TO "+ cSchema + ";"