## Summary It is a logic bug because the output is different. We think the bug comes from the "SELECT" statement. ## Minimized query ```sql SAVEPOINT sp2283; SAVEPOINT sp8775; CREATE TABLE t1(c, b, a, PRIMARY KEY(b, a)) WITHOUT ROWID; INSERT INTO t1 VALUES(atan(-CAST(jsonb_array() AS BOOLEAN)), 2, 3), (4, 5, 6); ALTER TABLE t1 DROP c; CREATE TABLE main.x1234(a, b, c PRIMARY KEY) WITHOUT ROWID; CREATE INDEX i1 ON x1234(b) WHERE ((a+5) % 10)==0; ALTER TABLE x1234 ADD COLUMN extra_949 FLOAT DEFAULT NULL; UPDATE t1 SET b = '' RETURNING *; DELETE FROM t1 WHERE 1; ALTER TABLE x1234 RENAME TO x1234_r6899; WITH cte AS (SELECT * FROM t1 WHERE a = (SELECT MAX(a) FROM t1)) SELECT * FROM cte; PRAGMA fullfsync; ALTER TABLE t1 RENAME TO t1_r3; RELEASE sp8775; ROLLBACK TRANSACTION TO SAVEPOINT sp2283; RELEASE SAVEPOINT sp2283; ``` ## Actual output ```sql 0 ``` ## Expectation ```sql |3 |6 0 ``` ## Flag ``` ```