157 lines
5.2 KiB
Markdown
157 lines
5.2 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;
|
|
ALTER TABLE T RENAME TO T_r3468;
|
|
ANALYZE;
|
|
```
|
|
|
|
## Actual output
|
|
|
|
```sql
|
|
Run Time: real 0.001 user 0.000315 sys 0.000000
|
|
0
|
|
Run Time: real 0.000 user 0.000011 sys 0.000000
|
|
Run Time: real 0.000 user 0.000021 sys 0.000000
|
|
Run Time: real 0.000 user 0.000083 sys 0.000000
|
|
Run Time: real 0.000 user 0.000034 sys 0.000000
|
|
Run Time: real 0.000 user 0.000020 sys 0.000000
|
|
Run Time: real 0.000 user 0.000051 sys 0.000000
|
|
Run Time: real 0.000 user 0.000025 sys 0.000000
|
|
Run Time: real 0.000 user 0.000058 sys 0.000000
|
|
2|-2.5
|
|
3|0.0
|
|
Run Time: real 0.000 user 0.000027 sys 0.000000
|
|
3
|
|
Run Time: real 0.000 user 0.000011 sys 0.000000
|
|
Run Time: real 0.000 user 0.000010 sys 0.000000
|
|
-9.22337203685478e+18
|
|
Run Time: real 0.000 user 0.000014 sys 0.000000
|
|
3
|
|
Run Time: real 0.000 user 0.000005 sys 0.000000
|
|
Run Time: real 0.000 user 0.000009 sys 0.000000
|
|
Run Time: real 0.000 user 0.000024 sys 0.000000
|
|
Run Time: real 0.000 user 0.000044 sys 0.000000
|
|
Run Time: real 0.000 user 0.000046 sys 0.000000
|
|
Run Time: real 0.000 user 0.000006 sys 0.000000
|
|
|
|
Run Time: real 0.000 user 0.000074 sys 0.000000
|
|
Run Time: real 0.000 user 0.000023 sys 0.000000
|
|
3.14159265358979|-9.22337203685478e+18
|
|
Run Time: real 0.000 user 0.000026 sys 0.000000
|
|
Run Time: real 0.000 user 0.000004 sys 0.000000
|
|
1
|
|
Run Time: real 0.000 user 0.000006 sys 0.000000
|
|
Run Time: real 0.000 user 0.000012 sys 0.000000
|
|
3.14159265358979|-9.22337203685478e+18
|
|
Run Time: real 0.000 user 0.000045 sys 0.000000
|
|
1
|
|
Run Time: real 0.000 user 0.000005 sys 0.000000
|
|
3.14159265358979|-9.22337203685478e+18
|
|
Run Time: real 0.000 user 0.000020 sys 0.000000
|
|
4.14159265358979|-9.22337203685478e+18
|
|
Run Time: real 0.000 user 0.000000 sys 0.000059
|
|
4.14159265358979|-9.22337203685478e+18
|
|
Run Time: real 0.000 user 0.000000 sys 0.000032
|
|
Run Time: real 0.001 user 0.000000 sys 0.000358
|
|
Run Time: real 0.000 user 0.000000 sys 0.000073
|
|
```
|
|
|
|
## Expectation
|
|
|
|
```sql
|
|
Run Time: real 0.000319 user 0.000335 sys 0.000000
|
|
0
|
|
Run Time: real 0.000010 user 0.000010 sys 0.000000
|
|
Run Time: real 0.000018 user 0.000018 sys 0.000000
|
|
Run Time: real 0.000095 user 0.000095 sys 0.000000
|
|
Run Time: real 0.000021 user 0.000022 sys 0.000000
|
|
Run Time: real 0.000012 user 0.000012 sys 0.000000
|
|
Run Time: real 0.000028 user 0.000029 sys 0.000000
|
|
Run Time: real 0.000024 user 0.000024 sys 0.000000
|
|
Run Time: real 0.000038 user 0.000038 sys 0.000000
|
|
2|-2.5
|
|
3|0.0
|
|
Run Time: real 0.000016 user 0.000016 sys 0.000000
|
|
3
|
|
Run Time: real 0.000008 user 0.000009 sys 0.000000
|
|
Run Time: real 0.000005 user 0.000005 sys 0.000000
|
|
-9.22337203685478e+18
|
|
Run Time: real 0.000009 user 0.000010 sys 0.000000
|
|
3
|
|
Run Time: real 0.000002 user 0.000003 sys 0.000000
|
|
Run Time: real 0.000004 user 0.000005 sys 0.000000
|
|
Run Time: real 0.000020 user 0.000020 sys 0.000000
|
|
Run Time: real 0.000024 user 0.000025 sys 0.000000
|
|
Run Time: real 0.000034 user 0.000034 sys 0.000000
|
|
Run Time: real 0.000003 user 0.000004 sys 0.000000
|
|
|
|
Run Time: real 0.000057 user 0.000057 sys 0.000000
|
|
Run Time: real 0.000014 user 0.000014 sys 0.000000
|
|
3.14159265358979|-9.22337203685478e+18
|
|
Run Time: real 0.000016 user 0.000016 sys 0.000000
|
|
Run Time: real 0.000002 user 0.000003 sys 0.000000
|
|
1
|
|
Run Time: real 0.000003 user 0.000004 sys 0.000000
|
|
Run Time: real 0.000004 user 0.000005 sys 0.000000
|
|
3.14159265358979|-9.22337203685478e+18
|
|
Run Time: real 0.000030 user 0.000030 sys 0.000000
|
|
1
|
|
Run Time: real 0.000003 user 0.000003 sys 0.000000
|
|
3.14159265358979|-9.22337203685478e+18
|
|
Run Time: real 0.000011 user 0.000011 sys 0.000000
|
|
4.14159265358979|-9.22337203685478e+18
|
|
Run Time: real 0.000047 user 0.000048 sys 0.000000
|
|
4.14159265358979|-9.22337203685478e+18
|
|
Run Time: real 0.000016 user 0.000017 sys 0.000000
|
|
Run Time: real 0.000226 user 0.000226 sys 0.000000
|
|
Run Time: real 0.000049 user 0.000049 sys 0.000000
|
|
```
|
|
|
|
## Flag
|
|
|
|
```
|
|
|
|
```
|
|
|