134 lines
3.6 KiB
Markdown
134 lines
3.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
|
|
.progress 9999
|
|
PRAGMA cell_size_check = NO;
|
|
ATTACH DATABASE ':memory:' AS aux65;
|
|
CREATE TABLE T (
|
|
a VARCHAR(255),
|
|
b CHARACTER(20),
|
|
c INTEGER
|
|
);
|
|
INSERT INTO T VALUES (NULL,'a',NULL), (2,'b',1), (3,'c',2);
|
|
WITH RECURSIVE d(a,b,c,e) AS (
|
|
SELECT *,1 FROM T WHERE c IS NULL
|
|
UNION ALL
|
|
SELECT T.a,T.b,T.c,d.e+1
|
|
FROM T JOIN d ON T.c=d.a
|
|
)
|
|
SELECT * FROM d;
|
|
.timer on
|
|
CREATE TABLE T1 (
|
|
A VARCHAR(-1445937777629738465),
|
|
X VARCHAR(10),
|
|
PRIMARY KEY (A, X),
|
|
UNIQUE (X)
|
|
);
|
|
CREATE TABLE T2 (
|
|
A VARCHAR(20),
|
|
Y VARCHAR(10) UNIQUE,
|
|
PRIMARY KEY (A, Y)
|
|
);
|
|
INSERT INTO T1 VALUES ('a', 'm');
|
|
INSERT INTO T1 VALUES ('b', 'n');
|
|
INSERT INTO T2 VALUES ('b', 'k');
|
|
SELECT A FROM T1 UNION ALL SELECT A FROM T2 ORDER BY A;
|
|
SELECT * FROM T1 WHERE X < (SELECT MIN(X) FROM T1);
|
|
DETACH DATABASE aux65;
|
|
SELECT * FROM T2;
|
|
UPDATE T2 SET Y = '' WHERE Y BETWEEN 0 AND 100;
|
|
SELECT * FROM T;
|
|
SELECT COUNT(b) FROM T;
|
|
CREATE TRIGGER IF NOT EXISTS trg_T2_7744 AFTER INSERT ON T2 BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
|
UPDATE T2 SET A = CURRENT_TIMESTAMP WHERE 1 RETURNING *;
|
|
SELECT * FROM T1 AS a INNER JOIN T1 AS b ON a.rowid = b.rowid;
|
|
INSERT INTO T1 VALUES (NULL, NULL);
|
|
PRAGMA vdbe_listing = 1;
|
|
CREATE UNIQUE INDEX IF NOT EXISTS idx_T1_2131 ON T1(X COLLATE NOCASE) WHERE X IS NOT NULL;
|
|
DELETE FROM T WHERE c > (SELECT AVG(c) FROM T) RETURNING *;
|
|
```
|
|
|
|
## Actual output
|
|
|
|
```sql
|
|
|a||1
|
|
Run Time: real 0.000 user 0.000167 sys 0.000000
|
|
Run Time: real 0.000 user 0.000081 sys 0.000000
|
|
Run Time: real 0.000 user 0.000024 sys 0.000000
|
|
Run Time: real 0.000 user 0.000014 sys 0.000000
|
|
Run Time: real 0.000 user 0.000013 sys 0.000000
|
|
a
|
|
b
|
|
b
|
|
Run Time: real 0.000 user 0.000038 sys 0.000000
|
|
Run Time: real 0.000 user 0.000047 sys 0.000000
|
|
Run Time: real 0.000 user 0.000010 sys 0.000000
|
|
b|k
|
|
Run Time: real 0.000 user 0.000010 sys 0.000000
|
|
Run Time: real 0.000 user 0.000039 sys 0.000000
|
|
|a|
|
|
2|b|1
|
|
3|c|2
|
|
Run Time: real 0.000 user 0.000011 sys 0.000000
|
|
3
|
|
Run Time: real 0.000 user 0.000013 sys 0.000000
|
|
Run Time: real 0.000 user 0.000067 sys 0.000000
|
|
2026-05-15 11:40:39|k
|
|
Run Time: real 0.000 user 0.000099 sys 0.000000
|
|
a|m|a|m
|
|
b|n|b|n
|
|
Run Time: real 0.000 user 0.000031 sys 0.000000
|
|
Run Time: real 0.000 user 0.000019 sys 0.000000
|
|
Run Time: real 0.000 user 0.000005 sys 0.000000
|
|
Run Time: real 0.000 user 0.000082 sys 0.000000
|
|
3|c|2
|
|
Run Time: real 0.000 user 0.000050 sys 0.000000
|
|
```
|
|
|
|
## Expectation
|
|
|
|
```sql
|
|
|a||1
|
|
Run Time: real 0.000065 user 0.000076 sys 0.000000
|
|
Run Time: real 0.000032 user 0.000033 sys 0.000000
|
|
Run Time: real 0.000011 user 0.000011 sys 0.000000
|
|
Run Time: real 0.000005 user 0.000006 sys 0.000000
|
|
Run Time: real 0.000004 user 0.000005 sys 0.000000
|
|
a
|
|
b
|
|
b
|
|
Run Time: real 0.000019 user 0.000019 sys 0.000000
|
|
Run Time: real 0.000024 user 0.000024 sys 0.000000
|
|
Run Time: real 0.000005 user 0.000004 sys 0.000000
|
|
b|k
|
|
Run Time: real 0.000004 user 0.000004 sys 0.000000
|
|
Run Time: real 0.000016 user 0.000017 sys 0.000000
|
|
|a|
|
|
2|b|1
|
|
3|c|2
|
|
Run Time: real 0.000005 user 0.000005 sys 0.000000
|
|
3
|
|
Run Time: real 0.000005 user 0.000005 sys 0.000000
|
|
Run Time: real 0.000029 user 0.000029 sys 0.000000
|
|
2026-05-15 11:40:39|k
|
|
Run Time: real 0.000063 user 0.000063 sys 0.000000
|
|
a|m|a|m
|
|
b|n|b|n
|
|
Run Time: real 0.000014 user 0.000015 sys 0.000000
|
|
Run Time: real 0.000007 user 0.000008 sys 0.000000
|
|
Run Time: real 0.000003 user 0.000003 sys 0.000000
|
|
Run Time: real 0.000033 user 0.000033 sys 0.000000
|
|
3|c|2
|
|
Run Time: real 0.000022 user 0.000023 sys 0.000000
|
|
```
|
|
|
|
## Flag
|
|
|
|
```
|
|
|
|
```
|
|
|