Calcite is really a framework to build query execution engines, it does not store data or execute statements by itself. You have to describe more about how your setup uses Calcite.
Mihai ________________________________ From: Jordin Catanzaro <[email protected]> Sent: Thursday, October 23, 2025 2:54 PM To: [email protected] <[email protected]> Subject: Potential Bug, delete statement with correlated subquery and conditionals unexpectedly removes all records 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
