BUG #17916: Expression IN list translates to unqualified operator
От | PG Bug reporting form |
---|---|
Тема | BUG #17916: Expression IN list translates to unqualified operator |
Дата | |
Msg-id | 17916-8d713fd64529da21@postgresql.org обсуждение исходный текст |
Ответы |
Re: BUG #17916: Expression IN list translates to unqualified operator
|
Список | pgsql-bugs |
The following bug has been logged on the website: Bug reference: 17916 Logged by: RekGRpth Email address: rekgrpth@gmail.com PostgreSQL version: 15.2 Operating system: alpine in docker Description: ```sql create schema qwe; create or replace function qwe.chartexteq(a char, b text) returns boolean language plpgsql as $$begin perform 1/0;return true;end;$$; create operator qwe.= (leftarg = char, rightarg = text, function = qwe.chartexteq, commutator = operator(qwe.=), hashes, merges); set search_path = qwe; explain (costs off, verbose on) select i from generate_series(1, 10) i where i::char in (2::text); QUERY PLAN ----------------------------------------------- Function Scan on pg_catalog.generate_series i Output: i Function Call: generate_series(1, 10) Filter: ((i.i)::character(1) = '2'::text) Query Identifier: -7727870581584713193 (5 rows) select i from generate_series(1, 10) i where i::char in (2::text); ERROR: division by zero CONTEXT: SQL statement "SELECT 1/0" PL/pgSQL function chartexteq(character,text) line 1 at PERFORM ``` I expected, that IN list translates to pg_catalog.=
В списке pgsql-bugs по дате отправления: