141 lines
4.5 KiB
Markdown
141 lines
4.5 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
|
|
.timer on
|
|
CREATE TEMPORARY TABLE t0(x, y, z);
|
|
SELECT -99999999999999999999999999999999999999999999999999;
|
|
SELECT * FROM sqlite_temp_master WHERE sql GLOB '000[]***';
|
|
DROP TABLE t0;
|
|
ATTACH DATABASE ':memory:' AS aux41;
|
|
ATTACH DATABASE ':memory:' AS aux57;
|
|
CREATE TABLE "T" (
|
|
a INTEGER,
|
|
b REAL
|
|
);
|
|
inSeRT INTO T VALUES (pi(),-9223372036854775808), (2,-2.5), (3,0.0);
|
|
CREATE INDEX c
|
|
ON T(b);
|
|
SELECT * FROM T WHERE b >= -2.5 AND b < 2.0;
|
|
|
|
SELECT COUNT(*) FROM T;
|
|
REINDEX;
|
|
SELECT SUM(b) FROM T;
|
|
SELECT COUNT(*) FROM T;
|
|
DELETE FROM T WHERE 0;
|
|
DELETE FROM T WHERE b > (SELECT AVG(b) FROM T);
|
|
CREATE TRIGGER IF NOT EXISTS trg_T_842 BEFORE DELETE ON T BEGIN SELECT RAISE(IGNORE); END;
|
|
CREATE INDEX IF NOT EXISTS idx_T_1447 ON T(lower(b));
|
|
DETACH DATABASE aux57;
|
|
SELECT AVG(a) FILTER (WHERE a != 0) OVER (PARTITION BY a ORDER BY a ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM T;
|
|
DELETE FROM T WHERE b IS NULL;
|
|
WITH a AS (SELECT * FROM T), b AS (SELECT * FROM a) SELECT * FROM b;
|
|
DETACH DATABASE aux41;
|
|
|
|
SELECT COUNT(*) FROM T;
|
|
PRAGMA defer_foreign_keys = NO;
|
|
SELECT * FROM T WHERE a IN (SELECT a FROM T WHERE 1/0 = 0);SELECT * FROM T WHERE a IN (SELECT a FROM T LIMIT -1);
|
|
|
|
SELECT COUNT(*) FROM T;
|
|
SELECT * FROM T WHERE b IN (SELECT ALL b FROM T);
|
|
```
|
|
|
|
## Actual output
|
|
|
|
```sql
|
|
Run Time: real 0.001 user 0.000329 sys 0.000000
|
|
-1.0e+50
|
|
Run Time: real 0.000 user 0.000014 sys 0.000000
|
|
Run Time: real 0.000 user 0.000026 sys 0.000000
|
|
Run Time: real 0.000 user 0.000110 sys 0.000000
|
|
Run Time: real 0.000 user 0.000035 sys 0.000000
|
|
Run Time: real 0.000 user 0.000026 sys 0.000000
|
|
Run Time: real 0.000 user 0.000060 sys 0.000000
|
|
Run Time: real 0.000 user 0.000025 sys 0.000000
|
|
Run Time: real 0.000 user 0.000069 sys 0.000000
|
|
2|-2.5
|
|
3|0.0
|
|
Run Time: real 0.000 user 0.000030 sys 0.000000
|
|
3
|
|
Run Time: real 0.000 user 0.000011 sys 0.000000
|
|
Run Time: real 0.000 user 0.000012 sys 0.000000
|
|
-9.22337203685478e+18
|
|
Run Time: real 0.000 user 0.000017 sys 0.000000
|
|
3
|
|
Run Time: real 0.000 user 0.000007 sys 0.000000
|
|
Run Time: real 0.000 user 0.000009 sys 0.000000
|
|
Run Time: real 0.000 user 0.000031 sys 0.000000
|
|
Run Time: real 0.000 user 0.000056 sys 0.000000
|
|
Run Time: real 0.000 user 0.000059 sys 0.000000
|
|
Run Time: real 0.000 user 0.000007 sys 0.000000
|
|
|
|
Run Time: real 0.000 user 0.000087 sys 0.000000
|
|
Run Time: real 0.000 user 0.000028 sys 0.000000
|
|
3.14159265358979|-9.22337203685478e+18
|
|
Run Time: real 0.000 user 0.000030 sys 0.000000
|
|
Run Time: real 0.000 user 0.000004 sys 0.000000
|
|
1
|
|
Run Time: real 0.000 user 0.000008 sys 0.000000
|
|
Run Time: real 0.000 user 0.000009 sys 0.000000
|
|
3.14159265358979|-9.22337203685478e+18
|
|
Run Time: real 0.000 user 0.000057 sys 0.000000
|
|
1
|
|
Run Time: real 0.000 user 0.000007 sys 0.000000
|
|
3.14159265358979|-9.22337203685478e+18
|
|
Run Time: real 0.001 user 0.000026 sys 0.000000
|
|
```
|
|
|
|
## Expectation
|
|
|
|
```sql
|
|
Run Time: real 0.000115 user 0.000123 sys 0.000000
|
|
-1.0e+50
|
|
Run Time: real 0.000007 user 0.000007 sys 0.000000
|
|
Run Time: real 0.000011 user 0.000011 sys 0.000000
|
|
Run Time: real 0.000047 user 0.000047 sys 0.000000
|
|
Run Time: real 0.000015 user 0.000015 sys 0.000000
|
|
Run Time: real 0.000010 user 0.000011 sys 0.000000
|
|
Run Time: real 0.000025 user 0.000025 sys 0.000000
|
|
Run Time: real 0.000013 user 0.000013 sys 0.000000
|
|
Run Time: real 0.000026 user 0.000027 sys 0.000000
|
|
2|-2.5
|
|
3|0.0
|
|
Run Time: real 0.000011 user 0.000012 sys 0.000000
|
|
3
|
|
Run Time: real 0.000005 user 0.000005 sys 0.000000
|
|
Run Time: real 0.000004 user 0.000005 sys 0.000000
|
|
-9.22337203685478e+18
|
|
Run Time: real 0.000007 user 0.000007 sys 0.000000
|
|
3
|
|
Run Time: real 0.000003 user 0.000002 sys 0.000000
|
|
Run Time: real 0.000003 user 0.000004 sys 0.000000
|
|
Run Time: real 0.000015 user 0.000015 sys 0.000000
|
|
Run Time: real 0.000023 user 0.000022 sys 0.000000
|
|
Run Time: real 0.000023 user 0.000024 sys 0.000000
|
|
Run Time: real 0.000003 user 0.000003 sys 0.000000
|
|
|
|
Run Time: real 0.000040 user 0.000039 sys 0.000000
|
|
Run Time: real 0.000011 user 0.000012 sys 0.000000
|
|
3.14159265358979|-9.22337203685478e+18
|
|
Run Time: real 0.000012 user 0.000013 sys 0.000000
|
|
Run Time: real 0.000002 user 0.000002 sys 0.000000
|
|
1
|
|
Run Time: real 0.000003 user 0.000003 sys 0.000000
|
|
Run Time: real 0.000002 user 0.000003 sys 0.000000
|
|
3.14159265358979|-9.22337203685478e+18
|
|
Run Time: real 0.000025 user 0.000026 sys 0.000000
|
|
1
|
|
Run Time: real 0.000002 user 0.000003 sys 0.000000
|
|
3.14159265358979|-9.22337203685478e+18
|
|
Run Time: real 0.000010 user 0.000011 sys 0.000000
|
|
```
|
|
|
|
## Flag
|
|
|
|
```
|
|
|
|
```
|
|
|