Hi! We have encountered a delete query with subquery containing conditionals that deletes all records from the target table (Apache Calcite, version: 1.40.0). The same query with postgres driver removes the single matching record as expected `delete from tab1 b where exists (select 1 from tab2 a where a.c2=2 and a.c1=b.c1);`
Here is how to reproduce the issue: ```sql -- Setup tables and data in postgres create table tab1 (c1 int, c2 int); create table tab2 (c1 int,c2 int); insert into tab1 values (1,1); insert into tab1 values (2,2); insert into tab2 values (2,2); -- Delete query delete from tab1 b where exists ( select 1 from tab2 a where a.c2=2 and a.c1=b.c1 ); -- Check results select * from tab1; -- Expected (postgres): (1,1) -- Actual (calcite): (empty set) -- Calcite generated query: DELETE FROM "tab1" ``` I have attached the query plan for reference. It appears there is an issue when applying both `a.c2=2 and a.c1=b.c1` - removing `a.c=2` allows `a.c1=b.c1` to resolve correctly. Is this a known issue, and are there any workarounds? I didn't see anything when I browsed through the Jira - happy to report a bug if this is unexpected behavior. Please let me know if you need more details. Thank you! Jordin
