326 lines
3.0 KiB
Markdown
326 lines
3.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
|
|
PRAGMA collation_list;
|
|
PRAGMA table_info(users);
|
|
ATTACH DATABASE ':memory:' AS aux70;
|
|
CREATE TABLE [T1] (
|
|
a INTEGER,
|
|
b TEXT
|
|
);
|
|
CREATE TABLE T2 (
|
|
a INTEGER,
|
|
b TEXT
|
|
);
|
|
CREATE TABLE [T] (
|
|
a TEXT,
|
|
b TEXT,
|
|
c REAL
|
|
);
|
|
INSERT INTO T VALUES ('a','b',datetime(date(json_insert(trim(NULL), '$.key', '+'), 'start of month'), '+1 day')), ('a','c',-char(1, 2, 3, 4, 5)), ('b','b',4.75);
|
|
SELECT a,
|
|
SUM(CASE WHEN b='b' THEN c ELSE 0 END) AS d,
|
|
SUM(CASE WHEN b='c' THEN c ELSE 0 END) AS e
|
|
FROM T
|
|
GROUP BY a;
|
|
INSERT INTO T1 VALUES (-2938525077890873167,'a'),(2,'b');
|
|
INSERT INTO T2 VALUES (1,'c'),(1,'d');
|
|
SELECT T1.b,
|
|
(
|
|
SELECT GROUP_CONCAT(b,',')
|
|
FROM T2
|
|
WHERE NOT T2.a=T1.a
|
|
) AS c
|
|
FROM T1;
|
|
SELECT * FROM T2;
|
|
WITH RECURSIVE r AS (SELECT a FROM T1 UNION ALL SELECT a FROM T1 LIMIT 5) SELECT * FROM r;
|
|
DELETE FROM T1 WHERE 0 RETURNING *;
|
|
VACUUM;
|
|
ANALYZE;
|
|
INSERT INTO T2 DEFAULT VALUES;
|
|
SELECT * FROM T1 NATURAL JOIN T2;
|
|
WITH cte AS (SELECT NULL AS x, NULL AS y) SELECT x, y, x IS NULL FROM cte;
|
|
DETACH DATABASE aux70;
|
|
INSERT INTO T1 VALUES (NULL, NULL);
|
|
INSERT INTO T1 SELECT * FROM T1;
|
|
DELETE FROM T WHERE rowid = 10;
|
|
SELECT * FROM T2 WHERE b = (SELECT SUM(b) FROM T2);
|
|
CREATE TEMPORARY VIEW IF NOT EXISTS v_T2_6336 AS SELECT b FROM T2;
|
|
SELECT * FROM T2;
|
|
SELECT GROUP_CONCAT(a, '.') OVER (PARTITION BY a ORDER BY a) FROM T;
|
|
ALTER TABLE T1 ADD COLUMN extra_9519 CHAR(10) COLLATE RTRIM;
|
|
WITH cte AS (SELECT NULL AS x) SELECT COALESCE(x, 0) FROM cte;
|
|
REINDEX;
|
|
CREATE TRIGGER IF NOT EXISTS trg_T2_6539 AFTER DELETE ON T2 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
|
REINDEX T2;
|
|
UPDATE T2 SET b = 32 WHERE rowid = 1 RETURNING *;
|
|
INSERT INTO T2 VALUES (NULL, NULL);
|
|
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<99) SELECT * FROM cnt;
|
|
```
|
|
|
|
## Actual output
|
|
|
|
```sql
|
|
0,'decimal'
|
|
1,'uint'
|
|
2,'RTRIM'
|
|
3,'NOCASE'
|
|
4,'BINARY'
|
|
'a',0,0.0
|
|
'b',4.75,0
|
|
'a','c,d'
|
|
'b','c,d'
|
|
1,'c'
|
|
1,'d'
|
|
-2938525077890873167
|
|
2
|
|
-2938525077890873167
|
|
2
|
|
NULL,NULL,1
|
|
1,'c'
|
|
1,'d'
|
|
NULL,NULL
|
|
'a.a'
|
|
'a.a'
|
|
'b'
|
|
0
|
|
1,'32'
|
|
1
|
|
2
|
|
3
|
|
4
|
|
5
|
|
6
|
|
7
|
|
8
|
|
9
|
|
10
|
|
11
|
|
12
|
|
13
|
|
14
|
|
15
|
|
16
|
|
17
|
|
18
|
|
19
|
|
20
|
|
21
|
|
22
|
|
23
|
|
24
|
|
25
|
|
26
|
|
27
|
|
28
|
|
29
|
|
30
|
|
31
|
|
32
|
|
33
|
|
34
|
|
35
|
|
36
|
|
37
|
|
38
|
|
39
|
|
40
|
|
41
|
|
42
|
|
43
|
|
44
|
|
45
|
|
46
|
|
47
|
|
48
|
|
49
|
|
50
|
|
51
|
|
52
|
|
53
|
|
54
|
|
55
|
|
56
|
|
57
|
|
58
|
|
59
|
|
60
|
|
61
|
|
62
|
|
63
|
|
64
|
|
65
|
|
66
|
|
67
|
|
68
|
|
69
|
|
70
|
|
71
|
|
72
|
|
73
|
|
74
|
|
75
|
|
76
|
|
77
|
|
78
|
|
79
|
|
80
|
|
81
|
|
82
|
|
83
|
|
84
|
|
85
|
|
86
|
|
87
|
|
88
|
|
89
|
|
90
|
|
91
|
|
92
|
|
93
|
|
94
|
|
95
|
|
96
|
|
97
|
|
98
|
|
99
|
|
```
|
|
|
|
## Expectation
|
|
|
|
```sql
|
|
0,'decimal'
|
|
1,'BINARY'
|
|
2,'NOCASE'
|
|
3,'RTRIM'
|
|
4,'uint'
|
|
'a',0,0.0
|
|
'b',4.75,0
|
|
'a','c,d'
|
|
'b','c,d'
|
|
1,'c'
|
|
1,'d'
|
|
-2938525077890873167
|
|
2
|
|
-2938525077890873167
|
|
2
|
|
NULL,NULL,1
|
|
1,'c'
|
|
1,'d'
|
|
NULL,NULL
|
|
'a.a'
|
|
'a.a'
|
|
'b'
|
|
0
|
|
1,'32'
|
|
1
|
|
2
|
|
3
|
|
4
|
|
5
|
|
6
|
|
7
|
|
8
|
|
9
|
|
10
|
|
11
|
|
12
|
|
13
|
|
14
|
|
15
|
|
16
|
|
17
|
|
18
|
|
19
|
|
20
|
|
21
|
|
22
|
|
23
|
|
24
|
|
25
|
|
26
|
|
27
|
|
28
|
|
29
|
|
30
|
|
31
|
|
32
|
|
33
|
|
34
|
|
35
|
|
36
|
|
37
|
|
38
|
|
39
|
|
40
|
|
41
|
|
42
|
|
43
|
|
44
|
|
45
|
|
46
|
|
47
|
|
48
|
|
49
|
|
50
|
|
51
|
|
52
|
|
53
|
|
54
|
|
55
|
|
56
|
|
57
|
|
58
|
|
59
|
|
60
|
|
61
|
|
62
|
|
63
|
|
64
|
|
65
|
|
66
|
|
67
|
|
68
|
|
69
|
|
70
|
|
71
|
|
72
|
|
73
|
|
74
|
|
75
|
|
76
|
|
77
|
|
78
|
|
79
|
|
80
|
|
81
|
|
82
|
|
83
|
|
84
|
|
85
|
|
86
|
|
87
|
|
88
|
|
89
|
|
90
|
|
91
|
|
92
|
|
93
|
|
94
|
|
95
|
|
96
|
|
97
|
|
98
|
|
99
|
|
```
|
|
|
|
## Flag
|
|
|
|
```
|
|
-quote
|
|
```
|
|
|