possibly to automatic detection of bad variable types in plans?

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема possibly to automatic detection of bad variable types in plans?
Дата
Msg-id CAFj8pRC7faA=FRBKG3hYrBQGU21YA2LBh5mXDOS-wHkkSg2Gqg@mail.gmail.com
обсуждение исходный текст
Список pgsql-hackers
Hi

I have a talk with Alex Stanev about known issue that block indexes - bad param types

postgres=# do $$
declare _id numeric = 777722;
begin
  perform * from bigtable where a = _id;
end;
$$;
DO
Time: 108,775 ms
postgres=# do $$
declare _id numeric = 777722;
begin
  perform * from bigtable where a = _id;
end;
$$;
DO
Time: 106,111 ms
postgres=# do $$
declare _id int = 777722;
begin
  perform * from bigtable where a = _id;
end;
$$;
DO
Time: 1,522 ms
postgres=# do $$
declare _id numeric = 777722;
begin
  perform * from bigtable where a = _id;
end;
$$;
DO
Time: 108,287 ms

https://github.com/okbob/plpgsql_check/issues/32

Is possible to write a extension, that raise warning so index is not possible due bad parameter type, or so cast will be performed on every row?

It can be started like autoexplain.

Regards

Pavel


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

Предыдущее
От: Meenatchi Sandanam
Дата:
Сообщение: Re: PostgreSQL opens all the indexes of a relation for every Queryduring Planning Time?
Следующее
От: Andrew Gierth
Дата:
Сообщение: Re: PostgreSQL 10: Segmentation fault when using GROUPING SETS with all unsortable columns