Files
ast-project/part1/results/2/bug_289388a7-cd6d-440b-895a-40c9a2655d02_logic.md
2026-06-24 13:47:14 +02:00

146 lines
4.0 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 *;
SELECT COUNT(*) FROM T1;
DROP TRIGGER IF EXISTS T;
UPDATE T SET a = CURRENT_TIMESTAMP WHERE rowid = 1;
```
## Actual output
```sql
|a||1
Run Time: real 0.000 user 0.000122 sys 0.000000
Run Time: real 0.000 user 0.000063 sys 0.000000
Run Time: real 0.000 user 0.000018 sys 0.000000
Run Time: real 0.000 user 0.000010 sys 0.000000
Run Time: real 0.000 user 0.000010 sys 0.000000
a
b
b
Run Time: real 0.000 user 0.000030 sys 0.000000
Run Time: real 0.000 user 0.000035 sys 0.000000
Run Time: real 0.000 user 0.000007 sys 0.000000
b|k
Run Time: real 0.000 user 0.000007 sys 0.000000
Run Time: real 0.000 user 0.000029 sys 0.000000
|a|
2|b|1
3|c|2
Run Time: real 0.000 user 0.000009 sys 0.000000
3
Run Time: real 0.000 user 0.000011 sys 0.000000
Run Time: real 0.000 user 0.000049 sys 0.000000
2026-05-15 11:40:59|k
Run Time: real 0.000 user 0.000072 sys 0.000000
a|m|a|m
b|n|b|n
Run Time: real 0.000 user 0.000025 sys 0.000000
Run Time: real 0.000 user 0.000014 sys 0.000000
Run Time: real 0.000 user 0.000003 sys 0.000000
Run Time: real 0.000 user 0.000062 sys 0.000000
3|c|2
Run Time: real 0.000 user 0.000037 sys 0.000000
3
Run Time: real 0.000 user 0.000007 sys 0.000000
Run Time: real 0.000 user 0.000003 sys 0.000000
Run Time: real 0.000 user 0.000014 sys 0.000000
```
## Expectation
```sql
|a||1
Run Time: real 0.000090 user 0.000102 sys 0.000000
Run Time: real 0.000039 user 0.000040 sys 0.000000
Run Time: real 0.000014 user 0.000013 sys 0.000000
Run Time: real 0.000006 user 0.000008 sys 0.000000
Run Time: real 0.000005 user 0.000006 sys 0.000000
a
b
b
Run Time: real 0.000024 user 0.000025 sys 0.000000
Run Time: real 0.000028 user 0.000030 sys 0.000000
Run Time: real 0.000007 user 0.000008 sys 0.000000
b|k
Run Time: real 0.000005 user 0.000005 sys 0.000000
Run Time: real 0.000026 user 0.000024 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.000007 user 0.000007 sys 0.000000
Run Time: real 0.000034 user 0.000034 sys 0.000000
2026-05-15 11:40:59|k
Run Time: real 0.000133 user 0.000099 sys 0.000000
a|m|a|m
b|n|b|n
Run Time: real 0.000023 user 0.000023 sys 0.000000
Run Time: real 0.000012 user 0.000013 sys 0.000000
Run Time: real 0.000003 user 0.000004 sys 0.000000
Run Time: real 0.000045 user 0.000046 sys 0.000000
3|c|2
Run Time: real 0.000036 user 0.000036 sys 0.000000
3
Run Time: real 0.000006 user 0.000007 sys 0.000000
Run Time: real 0.000003 user 0.000003 sys 0.000000
Run Time: real 0.000011 user 0.000013 sys 0.000000
```
## Flag
```
-vfs unix-dotfile
```