From: | PG Bug reporting form <noreply(at)postgresql(dot)org> |
---|---|
To: | pgsql-bugs(at)lists(dot)postgresql(dot)org |
Cc: | rekgrpth(at)gmail(dot)com |
Subject: | BUG #17916: Expression IN list translates to unqualified operator |
Date: | 2023-05-03 05:19:07 |
Message-ID: | 17916-8d713fd64529da21@postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
The following bug has been logged on the website:
Bug reference: 17916
Logged by: RekGRpth
Email address: rekgrpth(at)gmail(dot)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.=
From | Date | Subject | |
---|---|---|---|
Next Message | Masahiko Sawada | 2023-05-03 07:29:33 | Re: BUG #17914: walsenders taking up all memory |
Previous Message | Daniel Gustafsson | 2023-05-02 21:23:39 | Re: plpython does not honour max-rows |