88 lines
1.9 KiB
Markdown
88 lines
1.9 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 secure_delete = ON;
|
|
PRAGMA foreign_keys = FALSE;
|
|
-- sign(1)
|
|
|
|
PRAGMA cell_size_check = 3370811959573763011;
|
|
PRAGMA page_size;
|
|
.recover
|
|
CREATE TABLE map_integer /**/ (id INT, name);
|
|
INSERT INTO map_integer VALUES(1,'a');
|
|
CREATE TABLE map_text (id TEXT, name);
|
|
INSERT INTO map_text VALUES('4','e');
|
|
CREATE TABLE data (id TEXT, name);
|
|
INSERT INTO data VALUES(1,'abc');
|
|
INSERT INTO data VALUES('4','xyz');
|
|
CREATE VIEW idmap as SELECT * FROM map_integer UNION SELECT * FROM map_text;
|
|
CREATE TABLE mzed AS SELECT * FROM idmap;
|
|
PRAGMA automatic_index=ON;
|
|
SELECT * FROM data JOIN idmap USING(id);
|
|
CREATE TEMP VIEW IF NOT EXISTS v_map_integer_924 AS SELECT id FROM map_integer;
|
|
SELECT NTILE(4) OVER (ORDER BY name GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM map_integer;
|
|
CREATE VIEW IF NOT EXISTS v_map_integer_8760 AS SELECT name FROM map_integer;
|
|
CREATE TABLE T (
|
|
a TEXT,
|
|
b TEXT
|
|
);
|
|
INSERT INTO T VALUES ('a','b'), ('c','d');
|
|
SELECT * FROM T WHERE a = REPLACE('a;',';','') AND b = 'b';
|
|
WITH cte(x) AS (SELECT id FROM map_integer) SELECT x FROM cte;
|
|
REINDEX;
|
|
ALTER TABLE map_text RENAME COLUMN name TO name_r1633;
|
|
WITH cte AS (SELECT name, ROW_NUMBER() OVER (ORDER BY name) AS rn FROM data) SELECT * FROM cte WHERE rn <= 5;
|
|
```
|
|
|
|
## Actual output
|
|
|
|
```sql
|
|
1
|
|
4096
|
|
PRAGMA foreign_keys=OFF;
|
|
BEGIN;
|
|
PRAGMA writable_schema = on;
|
|
PRAGMA writable_schema = off;
|
|
COMMIT;
|
|
1|abc|a
|
|
1
|
|
a|b
|
|
1
|
|
abc|1
|
|
xyz|2
|
|
```
|
|
|
|
## Expectation
|
|
|
|
```sql
|
|
1
|
|
4096
|
|
.dbconfig defensive off
|
|
BEGIN;
|
|
PRAGMA writable_schema = on;
|
|
PRAGMA foreign_keys = off;
|
|
PRAGMA encoding = 'UTF-8';
|
|
PRAGMA page_size = '4096';
|
|
PRAGMA auto_vacuum = '0';
|
|
PRAGMA user_version = '0';
|
|
PRAGMA application_id = '0';
|
|
PRAGMA writable_schema = off;
|
|
COMMIT;
|
|
4|xyz|e
|
|
1
|
|
a|b
|
|
1
|
|
abc|1
|
|
xyz|2
|
|
```
|
|
|
|
## Flag
|
|
|
|
```
|
|
|
|
```
|
|
|