BUG #17916: Expression IN list translates to unqualified operator

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.=

Responses

Browse pgsql-bugs by date

  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