151 lines
4.9 KiB
Markdown
151 lines
4.9 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 -'*';
|
|
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);
|
|
UPDATE T SET a = a + 1 WHERE a IS NOT NULL RETURNING *;
|
|
SELECT * FROM T NATURAL JOIN T;
|
|
```
|
|
|
|
## Actual output
|
|
|
|
```sql
|
|
Run Time: real 0.001 user 0.000541 sys 0.000000
|
|
0
|
|
Run Time: real 0.000 user 0.000020 sys 0.000000
|
|
Run Time: real 0.000 user 0.000039 sys 0.000000
|
|
Run Time: real 0.000 user 0.000144 sys 0.000000
|
|
Run Time: real 0.000 user 0.000087 sys 0.000000
|
|
Run Time: real 0.000 user 0.000050 sys 0.000000
|
|
Run Time: real 0.000 user 0.000098 sys 0.000000
|
|
Run Time: real 0.000 user 0.000045 sys 0.000000
|
|
Run Time: real 0.000 user 0.000100 sys 0.000000
|
|
2|-2.5
|
|
3|0.0
|
|
Run Time: real 0.000 user 0.000039 sys 0.000000
|
|
3
|
|
Run Time: real 0.000 user 0.000019 sys 0.000000
|
|
Run Time: real 0.001 user 0.000048 sys 0.000000
|
|
-9.22337203685478e+18
|
|
Run Time: real 0.000 user 0.000056 sys 0.000000
|
|
3
|
|
Run Time: real 0.000 user 0.000014 sys 0.000000
|
|
Run Time: real 0.000 user 0.000020 sys 0.000000
|
|
Run Time: real 0.000 user 0.000057 sys 0.000000
|
|
Run Time: real 0.000 user 0.000099 sys 0.000000
|
|
Run Time: real 0.000 user 0.000103 sys 0.000000
|
|
Run Time: real 0.000 user 0.000012 sys 0.000000
|
|
|
|
Run Time: real 0.000 user 0.000115 sys 0.000000
|
|
Run Time: real 0.000 user 0.000041 sys 0.000000
|
|
3.14159265358979|-9.22337203685478e+18
|
|
Run Time: real 0.000 user 0.000038 sys 0.000000
|
|
Run Time: real 0.000 user 0.000008 sys 0.000000
|
|
1
|
|
Run Time: real 0.000 user 0.000012 sys 0.000000
|
|
Run Time: real 0.000 user 0.000013 sys 0.000000
|
|
3.14159265358979|-9.22337203685478e+18
|
|
Run Time: real 0.000 user 0.000073 sys 0.000000
|
|
1
|
|
Run Time: real 0.000 user 0.000009 sys 0.000000
|
|
3.14159265358979|-9.22337203685478e+18
|
|
Run Time: real 0.000 user 0.000052 sys 0.000000
|
|
4.14159265358979|-9.22337203685478e+18
|
|
Run Time: real 0.001 user 0.000107 sys 0.000000
|
|
4.14159265358979|-9.22337203685478e+18
|
|
Run Time: real 0.000 user 0.000050 sys 0.000000
|
|
```
|
|
|
|
## Expectation
|
|
|
|
```sql
|
|
Run Time: real 0.000338 user 0.000353 sys 0.000000
|
|
0
|
|
Run Time: real 0.000017 user 0.000017 sys 0.000000
|
|
Run Time: real 0.000034 user 0.000034 sys 0.000000
|
|
Run Time: real 0.000101 user 0.000102 sys 0.000000
|
|
Run Time: real 0.000041 user 0.000041 sys 0.000000
|
|
Run Time: real 0.000019 user 0.000019 sys 0.000000
|
|
Run Time: real 0.000065 user 0.000066 sys 0.000000
|
|
Run Time: real 0.000038 user 0.000038 sys 0.000000
|
|
Run Time: real 0.000054 user 0.000055 sys 0.000000
|
|
2|-2.5
|
|
3|0.0
|
|
Run Time: real 0.000025 user 0.000025 sys 0.000000
|
|
3
|
|
Run Time: real 0.000011 user 0.000012 sys 0.000000
|
|
Run Time: real 0.000011 user 0.000011 sys 0.000000
|
|
-9.22337203685478e+18
|
|
Run Time: real 0.000014 user 0.000014 sys 0.000000
|
|
3
|
|
Run Time: real 0.000004 user 0.000004 sys 0.000000
|
|
Run Time: real 0.000009 user 0.000009 sys 0.000000
|
|
Run Time: real 0.000030 user 0.000031 sys 0.000000
|
|
Run Time: real 0.000043 user 0.000043 sys 0.000000
|
|
Run Time: real 0.000045 user 0.000045 sys 0.000000
|
|
Run Time: real 0.000006 user 0.000007 sys 0.000000
|
|
|
|
Run Time: real 0.000077 user 0.000077 sys 0.000000
|
|
Run Time: real 0.000026 user 0.000027 sys 0.000000
|
|
3.14159265358979|-9.22337203685478e+18
|
|
Run Time: real 0.000025 user 0.000025 sys 0.000000
|
|
Run Time: real 0.000005 user 0.000005 sys 0.000000
|
|
1
|
|
Run Time: real 0.000007 user 0.000007 sys 0.000000
|
|
Run Time: real 0.000005 user 0.000005 sys 0.000000
|
|
3.14159265358979|-9.22337203685478e+18
|
|
Run Time: real 0.000046 user 0.000047 sys 0.000000
|
|
1
|
|
Run Time: real 0.000005 user 0.000006 sys 0.000000
|
|
3.14159265358979|-9.22337203685478e+18
|
|
Run Time: real 0.000018 user 0.000018 sys 0.000000
|
|
4.14159265358979|-9.22337203685478e+18
|
|
Run Time: real 0.000062 user 0.000063 sys 0.000000
|
|
4.14159265358979|-9.22337203685478e+18
|
|
Run Time: real 0.000023 user 0.000024 sys 0.000000
|
|
```
|
|
|
|
## Flag
|
|
|
|
```
|
|
|
|
```
|
|
|