This commit is contained in:
2026-06-24 13:47:14 +02:00
commit fd930e15cb
2377 changed files with 1213931 additions and 0 deletions
@@ -0,0 +1,460 @@
## 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 aux42;
CREATE TABLE T (
a DOUBLE,
b TEXT,
c REAL
);
INSERT INTO T VALUES (atanh(CAST(octet_length(randomblob(likely(10))) AS BLOB)),'a',1.25), (2,'b',-3.5), (3,'c',9e999);
WITH d AS (SELECT * FROM T) SELECT * FROM d WHERE c > 0;
.exit -'&'
PRAGMA threads = 2;
-- 1.7976931348623157e+308
ATTACH DATABASE ':memory:' AS aux12;
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
-- json_remove({v}, '$')
DROP TABLE t0;
.log OFF
PRAGMA synchronous = 'FULL';
CREATE TABLE T (
a TEXT,
b TEXT,
c REAL
);
INSERT INTO T VALUES ('a','b',typeof(('.' + instr(--(-(9223372036854775808)), NULL)))), ('a','c',5.0), ('b','d',-8.25);
SELECT a,b,c,
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
SELECT COUNT(*) FROM T;
SELECT * FROM T WHERE a NOT IN (SELECT a FROM T WHERE a IS NULL);
INSERT INTO T SELECT * FROM T;
PRAGMA reverse_unordered_selects = ON;
.log OFF
PRAGMA synchronous = 'FULL';
CREATE TABLE T (
a TEXT,
b TEXT,
c REAL
);
INSERT INTO T VALUES ('a','b',typeof(1)), ('a','c',5.0), ('b','d',-8.25);
SELECT a,b,c,
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
SELECT COUNT(*) FROM T;
SELECT * FROM T WHERE a NOT IN (SELECT a FROM T WHERE a IS NULL);
INSERT INTO T SELECT * FROM T;
PRAGMA reverse_unordered_selects = ON;
.log OFF
PRAGMA synchronous = 'FULL';
CREATE TABLE T (
a TEXT,
b TEXT,
c REAL
);
INSERT INTO T VALUES ('a','b',typeof(1)), ('a','c',5.0), ('b','d',-8.25);
SELECT a,b,c,
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
SELECT COUNT(*) FROM T;
SELECT * FROM T WHERE a NOT IN (SELECT a FROM T WHERE a IS NULL);
INSERT INTO T SELECT * FROM T;
PRAGMA reverse_unordered_selects = ON;
.log OFF
PRAGMA synchronous = 'FULL';
CREATE TABLE T (
a TEXT,
b TEXT,
c REAL
);
INSERT INTO T VALUES ('a','b',typeof(1)), ('a','c',5.0), ('b','d',-8.25);
SELECT a,b,c,
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
SELECT COUNT(*) FROM T;
SELECT * FROM T WHERE a NOT IN (SELECT a FROM T WHERE a IS NULL);
INSERT INTO T SELECT * FROM T;
PRAGMA reverse_unordered_selects = ON;
.log OFF
PRAGMA synchronous = 'FULL';
CREATE TABLE T (
a TEXT,
b TEXT,
c REAL
);
INSERT INTO T VALUES ('a','b',typeof(1)), ('a','c',5.0), ('b','d',-8.25);
SELECT a,b,c,
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
SELECT COUNT(*) FROM T;
SELECT * FROM T WHERE a NOT IN (SELECT a FROM T WHERE a IS NULL);
INSERT INTO T SELECT * FROM T;
PRAGMA reverse_unordered_selects = ON;
.log OFF
PRAGMA synchronous = 'FULL';
CREATE TABLE T (
a TEXT,
b TEXT,
c REAL
);
INSERT INTO T VALUES ('a','b',typeof(1)), ('a','c',5.0), ('b','d',-8.25);
SELECT a,b,c,
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
SELECT COUNT(*) FROM T;
SELECT * FROM T WHERE a NOT IN (SELECT a FROM T WHERE a IS NULL);
INSERT INTO T SELECT * FROM T;
PRAGMA reverse_unordered_selects = ON;
.log OFF
PRAGMA synchronous = 'FULL';
CREATE TABLE T (
a TEXT,
b TEXT,
c REAL
);
INSERT INTO T VALUES ('a','b',typeof(1)), ('a','c',5.0), ('b','d',-8.25);
SELECT a,b,c,
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
SELECT COUNT(*) FROM T;
SELECT * FROM T WHERE a NOT IN (SELECT a FROM T WHERE a IS NULL);
INSERT INTO T SELECT * FROM T;
PRAGMA reverse_unordered_selects = ON;
.log OFF
PRAGMA synchronous = 'FULL';
CREATE TABLE T (
a TEXT,
b TEXT,
c REAL
);
INSERT INTO T VALUES ('a','b',typeof(1)), ('a','c',5.0), ('b','d',-8.25);
SELECT a,b,c,
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
SELECT COUNT(*) FROM T;
SELECT * FROM T WHERE a NOT IN (SELECT a FROM T WHERE a IS NULL);
INSERT INTO T SELECT * FROM T;
PRAGMA reverse_unordered_selects = ON;
SELECT COUNT(*) FILTER (WHERE b IS NOT NULL), SUM(rowid) FILTER (WHERE +b > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(b) FILTER (WHERE b > 0 OR b < 100), COUNT(*) FILTER (WHERE typeof(b) = "text") FROM T;
REINDEX T;
INSERT INTO T DEFAULT VALUES;
CREATE TEMPORARY VIEW IF NOT EXISTS v_T_364 AS SELECT b FROM T;
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
-- json_remove({v}, '$')
DROP TABLE t0;
.log OFF
PRAGMA synchronous = 'FULL';
CREATE TABLE T (
a TEXT,
b TEXT,
c REAL
);
INSERT INTO T VALUES ('a','b',typeof(('.' + 0.0))), ('a','c',5.0), ('b','d',-8.25);
SELECT a,b,c,
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
SELECT COUNT(*) FROM T;
SELECT * FROM T WHERE a NOT IN (SELECT a FROM T WHERE a IS NULL);
INSERT INTO T SELECT * FROM T;
PRAGMA reverse_unordered_selects = ON;
.log OFF
PRAGMA synchronous = 'FULL';
CREATE TABLE T (
a TEXT,
b TEXT,
c REAL
);
INSERT INTO T VALUES ('a','b',typeof(1)), ('a','c',5.0), ('b','d',-8.25);
SELECT a,b,c,
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
SELECT COUNT(*) FROM T;
SELECT * FROM T WHERE a NOT IN (SELECT a FROM T WHERE a IS NULL);
INSERT INTO T SELECT * FROM T;
PRAGMA reverse_unordered_selects = ON;
.log OFF
PRAGMA synchronous = 'FULL';
CREATE TABLE T (
a TEXT,
b TEXT,
c REAL
);
INSERT INTO T VALUES ('a','b',typeof(1)), ('a','c',5.0), ('b','d',-8.25);
SELECT a,b,c,
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
SELECT COUNT(*) FROM T;
SELECT * FROM T WHERE a NOT IN (SELECT a FROM T WHERE a IS NULL);
INSERT INTO T SELECT * FROM T;
PRAGMA reverse_unordered_selects = ON;
.log OFF
PRAGMA synchronous = 'FULL';
CREATE TABLE T (
a TEXT,
b TEXT,
c REAL
);
INSERT INTO T VALUES ('a','b',typeof(1)), ('a','c',5.0), ('b','d',-8.25);
SELECT a,b,c,
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
SELECT COUNT(*) FROM T;
SELECT * FROM T WHERE a NOT IN (SELECT a FROM T WHERE a IS NULL);
INSERT INTO T SELECT * FROM T;
PRAGMA reverse_unordered_selects = ON;
.log OFF
PRAGMA synchronous = 'FULL';
CREATE TABLE T (
a TEXT,
b TEXT,
c REAL
);
INSERT INTO T VALUES ('a','b',typeof(1)), ('a','c',5.0), ('b','d',-8.25);
SELECT a,b,c,
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
SELECT COUNT(*) FROM T;
SELECT * FROM T WHERE a NOT IN (SELECT a FROM T WHERE a IS NULL);
INSERT INTO T SELECT * FROM T;
PRAGMA reverse_unordered_selects = ON;
.log OFF
PRAGMA synchronous = 'FULL';
CREATE TABLE T (
a TEXT,
b TEXT,
c REAL
);
INSERT INTO T VALUES ('a','b',typeof(1)), ('a','c',5.0), ('b','d',-8.25);
SELECT a,b,c,
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
SELECT COUNT(*) FROM T;
SELECT * FROM T WHERE a NOT IN (SELECT a FROM T WHERE a IS NULL);
INSERT INTO T SELECT * FROM T;
PRAGMA reverse_unordered_selects = ON;
.log OFF
PRAGMA synchronous = 'FULL';
CREATE TABLE T (
a TEXT,
b TEXT,
c REAL
);
INSERT INTO T VALUES ('a','b',typeof(1)), ('a','c',5.0), ('b','d',-8.25);
SELECT a,b,c,
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
SELECT COUNT(*) FROM T;
SELECT * FROM T WHERE a NOT IN (SELECT a FROM T WHERE a IS NULL);
INSERT INTO T SELECT * FROM T;
PRAGMA reverse_unordered_selects = ON;
.log OFF
PRAGMA synchronous = 'FULL';
CREATE TABLE T (
a TEXT,
b TEXT,
c REAL
);
INSERT INTO T VALUES ('a','b',typeof(1)), ('a','c',5.0), ('b','d',-8.25);
SELECT a,b,c,
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
SELECT COUNT(*) FROM T;
SELECT * FROM T WHERE a NOT IN (SELECT a FROM T WHERE a IS NULL);
INSERT INTO T SELECT * FROM T;
PRAGMA reverse_unordered_selects = ON;
SELECT COUNT(*) FILTER (WHERE b IS NOT NULL), SUM(rowid) FILTER (WHERE +b > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(b) FILTER (WHERE b > 0 OR b < 100), COUNT(*) FILTER (WHERE typeof(b) = "text") FROM T;
REINDEX T;
INSERT INTO T DEFAULT VALUES;
CREATE TEMPORARY VIEW IF NOT EXISTS v_T_364 AS SELECT b FROM T;
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
-- json_remove({v}, '$')
DROP TABLE t0;
.log OFF
PRAGMA synchronous = 'FULL';
CREATE TABLE T (
a TEXT,
b TEXT,
c REAL
);
INSERT INTO T VALUES ('a','b',typeof(('.' + 0.0))), ('a','c',5.0), ('b','d',-8.25);
SELECT a,b,c,
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
SELECT COUNT(*) FROM T;
SELECT * FROM T WHERE a NOT IN (SELECT a FROM T WHERE a IS NULL);
INSERT INTO T SELECT * FROM T;
PRAGMA reverse_unordered_selects = ON;
.log OFF
PRAGMA synchronous = 'FULL';
CREATE TABLE T (
a TEXT,
b TEXT,
c REAL
);
INSERT INTO T VALUES ('a','b',typeof(1)), ('a','c',5.0), ('b','d',-8.25);
SELECT a,b,c,
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
SELECT COUNT(*) FROM T;
SELECT * FROM T WHERE a NOT IN (SELECT a FROM T WHERE a IS /**/ NULL);
INSERT INTO T SELECT * FROM T;
PRAGMA reverse_unordered_selects = ON;
.log OFF
PRAGMA synchronous = 'FULL';
CREATE TABLE T (
a TEXT,
b TEXT,
c REAL
);
INSERT INTO T VALUES ('a','b',typeof(1)), ('a','c',5.0), ('b','d',-8.25);
SELECT a,b,c,
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
SELECT COUNT(*) FROM T;
SELECT * FROM T WHERE a NOT IN (SELECT a FROM T WHERE a IS NULL);
INSERT INTO T SELECT * FROM T;
PRAGMA reverse_unordered_selects = ON;
.log OFF
PRAGMA synchronous = 'FULL';
CREATE TABLE T (
a TEXT,
b TEXT,
c REAL
);
INSERT INTO T VALUES ('a','b',typeof(1)), ('a','c',5.0), ('b','d',-8.25);
SELECT a,b,c,
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
SELECT COUNT(*) FROM T;
SELECT * FROM T WHERE a NOT IN (SELECT a FROM T WHERE a IS NULL);
INSERT INTO T SELECT * FROM T;
PRAGMA reverse_unordered_selects = ON;
.log OFF
PRAGMA synchronous = 'FULL';
CREATE TABLE T (
a TEXT,
b TEXT,
c REAL
);
INSERT INTO T VALUES ('a','b',typeof(1)), ('a','c',5.0), ('b','d',-8.25);
SELECT a,b,c,
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
SELECT COUNT(*) FROM T;
SELECT * FROM T WHERE a NOT IN (SELECT a FROM T WHERE a IS NULL);
INSERT INTO T SELECT * FROM T;
PRAGMA reverse_unordered_selects = ON;
.log OFF
PRAGMA synchronous = 'FULL';
CREATE TABLE T (
a TEXT,
b TEXT,
c REAL
);
INSERT INTO T VALUES ('a','b',typeof(1)), ('a','c',5.0), ('b','d',-8.25);
SELECT a,b,c,
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
SELECT COUNT(*) FROM T;
SELECT * FROM T WHERE a NOT IN (SELECT a FROM T WHERE a IS NULL);
INSERT INTO T SELECT * FROM T;
PRAGMA reverse_unordered_selects = ON;
.log OFF
PRAGMA synchronous = 'FULL';
CREATE TABLE T (
a TEXT,
b TEXT,
c REAL
);
INSERT INTO T VALUES ('a','b',typeof(1)), ('a','c',5.0), ('b','d',-8.25);
SELECT a,b,c,
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
SELECT COUNT(*) FROM T;
SELECT * FROM T WHERE a NOT IN (SELECT a FROM T WHERE a IS NULL);
INSERT INTO T SELECT * FROM T;
PRAGMA reverse_unordered_selects = ON;
.log OFF
PRAGMA synchronous = 'FULL';
CREATE TABLE T (
a TEXT,
b TEXT,
c REAL
);
INSERT INTO T VALUES ('a','b',typeof(1)), ('a','c',5.0), ('b','d',-8.25);
SELECT a,b,c,
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
SELECT COUNT(*) FROM T;
SELECT * FROM T WHERE a NOT IN (SELECT a FROM T WHERE a IS NULL);
INSERT INTO T SELECT * FROM T;
PRAGMA reverse_unordered_selects = ON;
SELECT COUNT(*) FILTER (WHERE b IS NOT NULL), SUM(rowid) FILTER (WHERE +b > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(b) FILTER (WHERE b > 0 OR b < 100), COUNT(*) FILTER (WHERE typeof(b) = "text") FROM T;
REINDEX T;
INSERT INTO T DEFAULT VALUES;
CREATE TEMPORARY VIEW IF NOT EXISTS v_T_364 AS SELECT b FROM T;
SELECT * FROM T WHERE a = (SELECT a FROM T ORDER BY a LIMIT 1 OFFSET (SELECT COUNT(*) FROM T / 2));
PRAGMA parser_trace = 0;
CREATE TEMP VIEW IF NOT EXISTS v_T_836 AS SELECT c FROM T;
SELECT SUM(b) FROM T;
INSERT INTO T VALUES (NULL, 1, 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
CREATE TEMPORARY VIEW IF NOT EXISTS v_T_6283 AS SELECT b FROM T;
DETACH DATABASE aux12;
ALTER TABLE T ADD COLUMN extra_8954 BIGINT DEFAULT '';
SELECT * FROM T;
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<99) SELECT SUM(x) FROM cnt;
UPDATE T SET c = 'x' WHERE c BETWEEN 0 AND 100 RETURNING *;
DROP TRIGGER IF EXISTS T;
ALTER TABLE T DROP COLUMN c;
SELECT * FROM T AS a FULL OUTER JOIN T AS b ON a.rowid = b.rowid;
ALTER TABLE T RENAME TO T_r3866;
INSERT INTO T VALUES (NULL, NULL, NULL);
VACUUM;
INSERT INTO T VALUES (NULL, NULL, NULL);
SELECT COUNT(*) FILTER (WHERE b IS NOT NULL), SUM(rowid) FILTER (WHERE b > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(b) FILTER (WHERE b > 0 AND b < 100), COUNT(*) FILTER (WHERE typeof(b) = "text") FROM T;
SELECT * FROM T AS a RIGHT OUTER JOIN T AS b ON a.rowid = b.rowid;
ALTER TABLE T DROP COLUMN c;
VACUUM main;
VACUUM;
SELECT TOTAL(b) FROM T;
ALTER TABLE T ADD COLUMN extra_1457 INTEGER DEFAULT 0;
INSERT INTO T SELECT * FROM T;
ALTER TABLE T RENAME COLUMN c TO c_r5066;
SELECT * FROM T WHERE EXISTS (SELECT 1 FROM T);
ANALYZE T;
ALTER TABLE T DROP COLUMN b;
DETACH DATABASE aux42;
```
## Actual output
```sql
Parse error near line 7: no such function: octet_length
INSERT INTO T VALUES (atanh(CAST(octet_length(randomblob(likely(10))) AS BLOB)
error here ---^
```
## Expectation
```sql
```
## Flag
```
```