This commit is contained in:
2026-06-24 13:47:14 +02:00
commit fd930e15cb
2377 changed files with 1213931 additions and 0 deletions
+52
View File
@@ -0,0 +1,52 @@
## 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).-->
We think the "COLLATE" keyword is causing bugs, it is a logic bug because the output is different
## Minimized query
```sql
PRAGMA secure_delete = ON;
CREATE TABLE t0(c0 REAL, c1 REAL GENERATED ALWAYS AS (c0));
INSERT INTO t0(c0) VALUES (-(-(unhex(1))));
SELECT * FROM t0 GROUP BY c0;
CREATE TABLE t1(a, b);
CREATE TABLE t2(c, d);
SELECT max(t1.a), (SELECT 'xyz' FROM (SELECT * FROM t2 WHERE 0) WHERE t1.b=1) FROM t1;
INSERT INTO t1 SELECT * FROM t1;
CREATE TABLE T (
a INTEGER,
b REAL
);
INSERT INTO T VALUES (1,1.5), (2,-7.25), (3,0.0);
SELECT a,b FROM T WHERE a >= 2 ORDER BY b;
ALTER TABLE t1 ADD COLUMN extra_7155 MEDIUMINT COLLATE RTRIM;
PRAGMA cache_spill = FALSE;
INSERT INTO t0 DEFAULT VALUES;
```
## Actual output
```sql
1
|
2|-7.25
3|0.0
```
## Expectation
```sql
1
|
|
2|-7.25
3|0.0
```
## Flag
```
```
+18
View File
@@ -0,0 +1,18 @@
PRAGMA secure_delete = ON;
CREATE TABLE t0(c0 REAL, c1 REAL GENERATED ALWAYS AS (c0));
INSERT INTO t0(c0) VALUES (-(-(unhex(1))));
SELECT * FROM t0 GROUP BY c0;
CREATE TABLE t1(a, b);
CREATE TABLE t2(c, d);
SELECT max(t1.a), (SELECT 'xyz' FROM (SELECT * FROM t2 WHERE 0) WHERE t1.b=1) FROM t1;
INSERT INTO t1 SELECT * FROM t1;
CREATE TABLE T (
a INTEGER,
b REAL
);
INSERT INTO T VALUES (1,1.5), (2,-7.25), (3,0.0);
SELECT a,b FROM T WHERE a >= 2 ORDER BY b;
ALTER TABLE t1 ADD COLUMN extra_7155 MEDIUMINT COLLATE RTRIM;
PRAGMA cache_spill = FALSE;
INSERT INTO t0 DEFAULT VALUES;
+10
View File
@@ -0,0 +1,10 @@
CREATE TABLE t0(
c0 REAL,
c1 REAL GENERATED ALWAYS AS (c0)
);
INSERT INTO t0(c0) VALUES (1);
SELECT * FROM t0 GROUP BY c0;
INSERT INTO t0 DEFAULT VALUES;