Files
ast-project/part1/results/2/bug_85360712-5f78-4a4b-a7b5-fb15c95402cf_logic.md
2026-06-24 13:47:14 +02:00

238 lines
7.3 KiB
Markdown

## Summary
<!--Explain briefly what goes wrong and explain why you believe this is a bug and not the intended behavior of SQLite (if it is not a crash).-->**No review yet**
## Minimized query
```sql
.dbconfig
.changes on
BEGIN IMMEDIATE;
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
-- PRAGMA empty_result_callbacks = ON;
DROP TABLE t0;
.explain auto
.quit
ATTACH DATABASE ('' || ('') || '') || (':memory:') AS aux13;
((CREATE)) TABLE T (
a TEXT,
b REAL
);
INSERT INTO T VALUES (-(-(length(x'f6e36bb00a'))),(timediff(NULL, (unixepoch(NULL) * 1))timediff(NULL, NULL) ->> '$[0]' * 1)), (2,-2.5), (3,0.0);
CREATE INDEX c
ON T(b);
SELECT * FROM T WHERE NOT NOT (NOT NOT NOT (+b >= -2.5 AND b < 2.0)) ;
DELETE FROM T WHERE b > (SELECT AVG(b) FROM T);
SELECT * FROM T WHERE b IN (SELECT b FROM T WHERE 1/0 = 0);SELECT * FROM T WHERE b IN (SELECT b FROM T LIMIT -1);
DETACH DATABASE aux13;
PRAGMA short_column_names = TRUE;
VACUUM;
.explain auto
.quit
ATTACH DATABASE '' || (':memory:') AS aux13;
((CREATE)) TABLE T (
a INTEGER,
b REAL
);
INSERT INTO T VALUES (-(-(length(x'f6e36bb00a'))),(timediff(NULL, (unixepoch(9223372036854775807) * 1))timediff(NULL, NULL) ->> '$[0]' * 1)), (2,-2.5), (3,0.0);
CREATE INDEX c
ON T(b);
SELECT * FROM T WHERE NOT NOT (NOT NOT NOT (+b >= -2.5 AND b < 2.0)) ;
DELETE FROM T WHERE b > (SELECT AVG(b) FROM T);
SELECT * FROM T WHERE b IN (SELECT b FROM T WHERE 1/0 = 0);SELECT * FROM T WHERE b IN (SELECT b FROM T LIMIT -1);
DETACH DATABASE aux13;
PRAGMA short_column_names = TRUE;
VACUUM;
.explain auto
.quit
ATTACH DATABASE '' || (':memory:') AS aux13;
((CREATE)) TABLE T (
a INTEGER,
b REAL
);
INSERT INTO T VALUES (-(-(length(x'f6e36bb00a'))),(timediff(NULL, (unixepoch(9223372036854775807) * 1))timediff(NULL, NULL) ->> '$[0]' * 1)), (2,-2.5), (3,0.0);
CREATE INDEX c
ON T(b);
SELECT * FROM T WHERE NOT NOT (NOT NOT NOT (+b >= -2.5 AND b < 2.0)) ;
DELETE FROM T WHERE b > (SELECT AVG(b) FROM T);
SELECT * FROM T WHERE b IN (SELECT b FROM T WHERE 1/0 = 0);SELECT * FROM T WHERE b IN (SELECT b FROM T LIMIT -1);
DETACH DATABASE aux13;
PRAGMA short_column_names = TRUE;
VACUUM;
.explain auto
.quit
ATTACH DATABASE '' || (':memory:') AS aux13;
((CREATE)) TABLE T (
a INTEGER,
b REAL
);
INSERT INTO T VALUES (-(-(length(x'f6e36bb00a'))),(timediff(NULL, (unixepoch(9223372036854775807) * 1))timediff(NULL, NULL) ->> '$[0]' * 1)), (2,-2.5), (3,0.0);
CREATE INDEX c
ON T(b);
SELECT * FROM T WHERE NOT NOT (NOT NOT NOT (+b >= -2.5 AND b < 2.0)) ;
DELETE FROM T WHERE b > (SELECT AVG(b) FROM T);
SELECT * FROM T WHERE b IN (SELECT b FROM T WHERE 1/0 = 0);SELECT * FROM T WHERE b IN (SELECT b FROM T LIMIT -1);
DETACH DATABASE aux13;
PRAGMA short_column_names = TRUE;
VACUUM;
.explain auto
.quit
ATTACH DATABASE '' || (':memory:') AS aux13;
((CREATE)) TABLE T (
a INTEGER,
b REAL
);
INSERT INTO T VALUES (-(-(length(x'f6e36bb00a'))),(timediff(NULL, (unixepoch(9223372036854775807) * 1))timediff(NULL, NULL) ->> '$[0]' * 1)), (2,-2.5), (3,0.0);
CREATE INDEX c
ON T(b);
SELECT * FROM T WHERE NOT NOT (NOT NOT NOT (+b >= -2.5 AND b < 2.0)) ;
DELETE FROM T WHERE b > (SELECT AVG(b) FROM T);
SELECT * FROM T WHERE b IN (SELECT b FROM T WHERE 1/0 = 0);SELECT * FROM T WHERE b IN (SELECT b FROM T LIMIT -1);
DETACH DATABASE aux13;
PRAGMA short_column_names = TRUE;
VACUUM;
.explain auto
.quit
ATTACH DATABASE '' || /**/ (':memory:') AS aux13;
((CREATE)) TABLE T (
a INTEGER,
b REAL
);
INSERT INTO T VALUES (-(-(length(x'f6e36bb00a'))),(timediff(NULL, (unixepoch(9223372036854775807) * 1))timediff(NULL, NULL) ->> '$[0]' * 1)), (2,-2.5), (3,0.0);
CREATE INDEX c
ON T(b);
SELECT * FROM T WHERE NOT NOT (NOT NOT NOT (+b >= -2.5 AND b < 2.0)) ;
DELETE FROM T WHERE b > (SELECT AVG(b) FROM T);
SELECT * FROM T WHERE b IN (SELECT b FROM T WHERE 1/0 = 0);SELECT * FROM T WHERE b IN (SELECT b FROM T LIMIT -1);
DETACH DATABASE aux13;
PRAGMA short_column_names = TRUE;
VACUUM;
.explain auto
.quit
ATTACH DATABASE '' || (':memory:') AS aux13;
((CREATE)) TABLE T (
a INTEGER,
b REAL
);
INSERT INTO T VALUES (-(-(length(x'f6e36bb00a'))),(timediff(NULL, (unixepoch(9223372036854775807) * 1))timediff(NULL, NULL) ->> '$[0]' * 1)), (2,-2.5), (3,0.0);
CREATE INDEX c
ON T(b);
SELECT * FROM T WHERE NOT NOT (NOT NOT NOT (+b >= -2.5 AND b < 2.0)) ;
DELETE FROM T WHERE b > (SELECT AVG(b) FROM T);
SELECT * FROM T WHERE b IN (SELECT b FROM T WHERE 1/0 = 0);SELECT * FROM T WHERE b IN (SELECT b FROM T LIMIT -1);
DETACH DATABASE aux13;
PRAGMA short_column_names = TRUE;
VACUUM;
.explain auto
.quit
ATTACH DATABASE '' || (':memory:') AS aux13;
((CREATE)) TABLE T (
a INTEGER,
b REAL
);
INSERT INTO T VALUES (-(-(length(x'f6e36bb00a'))),(timediff(NULL, (unixepoch(9223372036854775807) * 1))timediff(NULL, NULL) ->> '$[0]' * 1)), (2,-2.5), (3,0.0);
CREATE INDEX c
ON T(b);
SELECT * FROM T WHERE NOT NOT (NOT NOT NOT (+b >= -2.5 AND b < 2.0)) ;
DELETE FROM T WHERE b > (SELECT AVG(b) FROM T);
SELECT * FROM T WHERE b IN (SELECT b FROM T WHERE 1/0 = 0);SELECT * FROM T WHERE b IN (SELECT b FROM T LIMIT -1);
DETACH DATABASE aux13;
PRAGMA short_column_names = TRUE;
VACUUM;
.explain auto
.quit
ATTACH DATABASE '' || (':memory:') AS aux13;
((CREATE)) TABLE T (
a INTEGER,
b REAL
);
INSERT INTO T VALUES (-(-(length(x'f6e36bb00a'))),(timediff(NULL, (unixepoch(9223372036854775807) * 1))timediff(NULL, NULL) ->> '$[0]' * 1)), (2,-2.5), (3,0.0);
CREATE INDEX c
ON T(b);
SELECT * FROM T WHERE NOT NOT (NOT NOT NOT (+b >= -2.5 AND b < 2.0)) ;
DELETE FROM T WHERE b > (SELECT AVG(b) FROM T);
SELECT * FROM T WHERE b IN (SELECT b FROM T WHERE 1/0 = 0);SELECT * FROM T WHERE b IN (SELECT b FROM T LIMIT -1);
DETACH DATABASE aux13;
PRAGMA short_column_names = TRUE;
VACUUM;
.explain auto
.quit
ATTACH DATABASE '' || (':memory:') AS aux13;
((CREATE)) TABLE T (
a INTEGER,
b REAL
);
INSERT INTO T VALUES (-(-(length(x'f6e36bb00a'))),(timediff(NULL, (unixepoch(9223372036854775807) * 1))timediff(NULL, NULL) ->> '$[0]' * 1)), (2,-2.5), (3,0.0);
CREATE INDEX c
ON T(b);
SELECT * FROM T WHERE NOT NOT (NOT NOT NOT (+b >= -2.5 AND b < 2.0)) ;
DELETE FROM T WHERE b > (SELECT AVG(b) FROM T);
SELECT * FROM T WHERE b IN (SELECT b FROM T WHERE 1/0 = 0);SELECT * FROM T WHERE b IN (SELECT b FROM T LIMIT -1);
DETACH DATABASE aux13;
PRAGMA short_column_names = TRUE;
VACUUM;
COMMIT;
VACUUM;
```
## Actual output
```sql
defensive off
dqs_ddl on
dqs_dml on
enable_fkey off
enable_qpsg off
enable_trigger on
enable_view on
fts3_tokenizer off
legacy_alter_table off
legacy_file_format off
load_extension on
no_ckpt_on_close off
reset_database off
trigger_eqp off
trusted_schema on
writable_schema off
changes: 0 total_changes: 0
changes: 0 total_changes: 0
changes: 0 total_changes: 0
```
## Expectation
```sql
attach_create on
attach_write on
comments on
defensive on
dqs_ddl off
dqs_dml off
enable_fkey off
enable_qpsg off
enable_trigger on
enable_view on
fts3_tokenizer off
legacy_alter_table off
legacy_file_format off
load_extension on
no_ckpt_on_close off
reset_database off
reverse_scanorder off
stmt_scanstatus off
trigger_eqp off
trusted_schema off
writable_schema off
changes: 0 total_changes: 0
changes: 0 total_changes: 0
changes: 0 total_changes: 0
```
## Flag
```
```