---
This commit is contained in:
@@ -0,0 +1,237 @@
|
||||
## 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
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user