77 lines
1.6 KiB
Markdown
77 lines
1.6 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
|
|
ATTACH DATABASE ':memory:' AS aux71;
|
|
ATTACH DATABASE ':memory:' AS aux67;
|
|
CREATE TABLE T (
|
|
a INTEGER,
|
|
b REAL
|
|
);
|
|
INSERT INTO T VALUES ('%',x'95f3c49631f11c3ef1a5bb24'), (-(-(2)),-7.25), (3,0.0);
|
|
SELECT a,b FROM T WHERE NOT NOT a >= 2 ORDER BY b;
|
|
VACUUM;
|
|
SELECT * FROM T AS a JOIN T AS b ON a.rowid = b.rowid;
|
|
INSERT INTO T SELECT * FROM T;
|
|
VACUUM;
|
|
INSERT OR REPLACE INTO T VALUES (-8, NULL);
|
|
DETACH DATABASE aux67;
|
|
PRAGMA full_column_names = ON;
|
|
CREATE TRIGGER IF NOT EXISTS
|
|
trg_T_9019 AFTER INSERT ON T BEGIN INSERT INTO T(a) VALUES (NULL); END;
|
|
INSERT INTO T DEFAULT VALUES;
|
|
DETACH DATABASE aux71;
|
|
CREATE TRIGGER IF NOT EXISTS trg_T_5854 BEFORE UPDATE ON T BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
|
ANALYZE;
|
|
REINDEX;
|
|
DELETE FROM T WHERE rowid = 12;
|
|
DROP INDEX IF EXISTS T;
|
|
INSERT INTO T DEFAULT VALUES;
|
|
WITH a AS (SELECT a FROM T), b AS (SELECT a FROM a WHERE a IS NOT NULL), c AS (SELECT COUNT(*) AS cnt FROM b) SELECT cnt FROM c;
|
|
DELETE FROM T WHERE 0 RETURNING *;
|
|
WITH cte AS (SELECT a, COUNT(*) AS cnt FROM T GROUP BY a) SELECT * FROM cte;
|
|
```
|
|
|
|
## Actual output
|
|
|
|
```sql
|
|
2|-7.25
|
|
3|0.0
|
|
%|óÄ1ñ>ñ¥»$
|
|
%|óÄ1ñ>ñ¥»$|%|óÄ1ñ>ñ¥»$
|
|
2|-7.25|2|-7.25
|
|
3|0.0|3|0.0
|
|
7
|
|
|4
|
|
-8|1
|
|
2|2
|
|
3|2
|
|
%|2
|
|
```
|
|
|
|
## Expectation
|
|
|
|
```sql
|
|
2|-7.25
|
|
3|0.0
|
|
%|óÄ1ñ^\>ñ¥»$
|
|
%|óÄ1ñ^\>ñ¥»$|%|óÄ1ñ^\>ñ¥»$
|
|
2|-7.25|2|-7.25
|
|
3|0.0|3|0.0
|
|
7
|
|
|4
|
|
-8|1
|
|
2|2
|
|
3|2
|
|
%|2
|
|
```
|
|
|
|
## Flag
|
|
|
|
```
|
|
-memtrace
|
|
```
|
|
|