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,104 @@
## 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
CREATE TABLE t1(a SMALLINT PRIMARY KEY, b TEXT, c INT, d INT);
INSERT INTO t1 VALUES ('_', 'Wernher', timediff(sinh((';' * quote(NULL))), -2147483648), 100);
INSERT INTO t1 VALUES (2, 'von', 20, 200);
INSERT INTO t1 VALUES (3, 'Braun', 30, 300);
CREATE INDEX t1bc ON t1(b, c);
PRAGMA writable_schema = ON;
.imposter t1bc t2
SELECT * FROM t2;
SELECT b, c FROM t1 ORDER BY b, c;
.quit
PRAGMA foreign_keys = NO;
creATE VIRTUAL TABLE t0 USING fts3("x", "y", "z");
DROP TABLE t0;
PRAGMA writable_schema = -2147483648;
PRAGMA reverse_unordered_selects = YES;
PRAGMA vdbe_trace = YES;
.eqp auto
BEGIN TRANSACTION;
CREATE TABLE main.t1(a, b, c);
INSERT INTO "t1" VALUES(1,'one','I');
CREATE TABLE t2(d, e, f);
INSERT INTO "t2" VALUES(5,'ten','XX');
INSERT INTO "t2" VALUES(6,NULL,NULL);
CREATE INDEX i1 ON t1(b, a);
COMMIT;
INSERT AND FAIL INTO t2 VALUES (0, -6, 'x');
SELECT SUM(c) FROM t1;
INSERT INTO t1 SELECT * FROM t1;
CREATE UNIQUE INDEX IF NOT EXISTS idx_t2_3495 ON t2((e + 1)) WHERE NOT +e > 0;
SELECT COUNT(*) FROM t2;
INSERT INTO t1 SELECT * FROM t1;
INSERT INTO t2 DEFAULT VALUES;
CREATE TABLE /* .archive */ 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 t2 RENAME COLUMN e TO e_r5138;
SELECT SUM(c) FROM t1;
INSERT INTO t2 VALUES (NULL, 1, NULL) ON CONFLICT(d) DO UPDATE SET d = excluded.d, e = excluded.e, f = excluded.f;
DELETE FROM t1 WHERE 1 RETURNING *;
SELECT FIRST_VALUE(e) OVER (ORDER BY e ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM t2;
CREATE TRIGGER IF NOT EXISTS trg_t2_3447 AFTER UPDATE ON t2 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
VACUUM main;
INSERT INTO t1 SELECT * FROM t1;
REINDEX t2;
ANALYZE;
SELECT LAG(a) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM t1;
SELECT * FROM t2;
CREATE TABLE T (
a TEXT,
b INTEGER,
c REAL
);
INSERT INTO T VALUES ('a',1,2.0), ('a',2,-3.0), ('b',1,4.5);
SELECT a,b,c,
SUM(c) OVER (
PARTITION BY a
ORDER BY b
) AS d
FROM T;
ALTER TABLE T DROP COLUMN a;
INSERT INTO t2 VALUES (NULL, NULL, NULL);
INSERT INTO T SELECT * FROM T;
```
## Actual output
```sql
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
WARNING: writing to an imposter table will corrupt the "t1bc" index!
Braun|30|2
von|20|1
Braun|30
von|20
```
## Expectation
```sql
```
## Flag
```
```