188 lines
6.1 KiB
Markdown
188 lines
6.1 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
|
|
.timeout '~' -> 'key'
|
|
PRAGMA short_column_names = FALSE;
|
|
-- if(1, {v}, 0, {v}, 0, {v})
|
|
|
|
PRAGMA /* PRAGMA synchronous = '1'; */ encoding = 'UTF-16le';
|
|
PRAGMA module_list;
|
|
.auth ON
|
|
CREATE TABLE a(b);
|
|
CREATE VIEW c(d) AS SELECT b FROM a ORDER BY b;
|
|
SELECT sum(d) OVER( PARTITION BY(SELECT '0' FROM c JOIN a WHERE b =(SELECT
|
|
b INTERSECT SELECT d FROM c) AND b = CAST(123 AS INT8))) FROM c;
|
|
|
|
INSERT INTO a SELECT * FROM a;
|
|
INSERT INTO a SELECT * FROM a;
|
|
CREATE TRIGGER IF NOT EXISTS trg_a_47 AFTER UPDATE ON a BEGIN SELECT RAISE(ABORT, 'abort'); END;
|
|
CREATE TRIGGER IF NOT EXISTS trg_a_3589 AFTER UPDATE ON a FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
|
```
|
|
|
|
## Actual output
|
|
|
|
```sql
|
|
sqlite_dbdata
|
|
generate_series
|
|
completion
|
|
fsdir
|
|
tables_used
|
|
sqlite_stmt
|
|
json_tree
|
|
fts4aux
|
|
fts3
|
|
fts4
|
|
sqlite_dbptr
|
|
fts3tokenize
|
|
bytecode
|
|
rtree_i32
|
|
sqlite_dbpage
|
|
rtree
|
|
dbstat
|
|
json_each
|
|
authorizer: INSERT "sqlite_master" NULL "main" NULL
|
|
authorizer: CREATE_TABLE "a" NULL "main" NULL
|
|
authorizer: UPDATE "sqlite_master" "type" "main" NULL
|
|
authorizer: UPDATE "sqlite_master" "name" "main" NULL
|
|
authorizer: UPDATE "sqlite_master" "tbl_name" "main" NULL
|
|
authorizer: UPDATE "sqlite_master" "rootpage" "main" NULL
|
|
authorizer: UPDATE "sqlite_master" "sql" "main" NULL
|
|
authorizer: READ "sqlite_master" "ROWID" "main" NULL
|
|
authorizer: INSERT "sqlite_master" NULL "main" NULL
|
|
authorizer: CREATE_VIEW "c" NULL "main" NULL
|
|
authorizer: UPDATE "sqlite_master" "type" "main" NULL
|
|
authorizer: UPDATE "sqlite_master" "name" "main" NULL
|
|
authorizer: UPDATE "sqlite_master" "tbl_name" "main" NULL
|
|
authorizer: UPDATE "sqlite_master" "rootpage" "main" NULL
|
|
authorizer: UPDATE "sqlite_master" "sql" "main" NULL
|
|
authorizer: READ "sqlite_master" "ROWID" "main" NULL
|
|
authorizer: SELECT NULL NULL NULL NULL
|
|
authorizer: READ "a" "b" "main" "c"
|
|
authorizer: READ "a" "b" "main" "c"
|
|
authorizer: FUNCTION NULL "sum" NULL NULL
|
|
authorizer: READ "c" "d" "main" NULL
|
|
authorizer: READ "a" "b" "main" "c"
|
|
authorizer: READ "a" "b" "main" "c"
|
|
authorizer: READ "a" "b" "main" NULL
|
|
authorizer: READ "a" "b" "main" "c"
|
|
authorizer: READ "a" "b" "main" "c"
|
|
authorizer: READ "c" "d" "main" NULL
|
|
authorizer: READ "a" "b" "main" NULL
|
|
authorizer: READ "a" "b" "main" NULL
|
|
authorizer: SELECT NULL NULL NULL NULL
|
|
authorizer: SELECT NULL NULL NULL "c"
|
|
authorizer: SELECT NULL NULL NULL NULL
|
|
authorizer: SELECT NULL NULL NULL "c"
|
|
authorizer: READ "a" "" NULL NULL
|
|
authorizer: SELECT NULL NULL NULL NULL
|
|
authorizer: SELECT NULL NULL NULL NULL
|
|
authorizer: SELECT NULL NULL NULL NULL
|
|
authorizer: SELECT NULL NULL NULL "c"
|
|
authorizer: SELECT NULL NULL NULL NULL
|
|
authorizer: SELECT NULL NULL NULL "c"
|
|
authorizer: READ "a" "" NULL NULL
|
|
authorizer: SELECT NULL NULL NULL NULL
|
|
authorizer: SELECT NULL NULL NULL NULL
|
|
authorizer: SELECT NULL NULL NULL NULL
|
|
authorizer: SELECT NULL NULL NULL "c"
|
|
authorizer: INSERT "a" NULL "main" NULL
|
|
authorizer: SELECT NULL NULL NULL NULL
|
|
authorizer: READ "a" "b" "main" NULL
|
|
authorizer: INSERT "a" NULL "main" NULL
|
|
authorizer: SELECT NULL NULL NULL NULL
|
|
authorizer: READ "a" "b" "main" NULL
|
|
authorizer: CREATE_TRIGGER "trg_a_47" "a" "main" NULL
|
|
authorizer: INSERT "sqlite_master" NULL "main" NULL
|
|
authorizer: INSERT "sqlite_master" NULL "main" NULL
|
|
authorizer: CREATE_TRIGGER "trg_a_3589" "a" "main" NULL
|
|
authorizer: INSERT "sqlite_master" NULL "main" NULL
|
|
authorizer: INSERT "sqlite_master" NULL "main" NULL
|
|
```
|
|
|
|
## Expectation
|
|
|
|
```sql
|
|
fsdir
|
|
generate_series
|
|
bytecode
|
|
dbstat
|
|
tables_used
|
|
sqlite_stmt
|
|
sqlite_dbpage
|
|
rtree_i32
|
|
fts4aux
|
|
fts3
|
|
zipfile
|
|
fts4
|
|
completion
|
|
rtree
|
|
fts3tokenize
|
|
authorizer: INSERT "sqlite_master" NULL "main" NULL
|
|
authorizer: CREATE_TABLE "a" NULL "main" NULL
|
|
authorizer: UPDATE "sqlite_master" "type" "main" NULL
|
|
authorizer: UPDATE "sqlite_master" "name" "main" NULL
|
|
authorizer: UPDATE "sqlite_master" "tbl_name" "main" NULL
|
|
authorizer: UPDATE "sqlite_master" "rootpage" "main" NULL
|
|
authorizer: UPDATE "sqlite_master" "sql" "main" NULL
|
|
authorizer: READ "sqlite_master" "ROWID" "main" NULL
|
|
authorizer: INSERT "sqlite_master" NULL "main" NULL
|
|
authorizer: CREATE_VIEW "c" NULL "main" NULL
|
|
authorizer: UPDATE "sqlite_master" "type" "main" NULL
|
|
authorizer: UPDATE "sqlite_master" "name" "main" NULL
|
|
authorizer: UPDATE "sqlite_master" "tbl_name" "main" NULL
|
|
authorizer: UPDATE "sqlite_master" "rootpage" "main" NULL
|
|
authorizer: UPDATE "sqlite_master" "sql" "main" NULL
|
|
authorizer: READ "sqlite_master" "ROWID" "main" NULL
|
|
authorizer: SELECT NULL NULL NULL NULL
|
|
authorizer: READ "a" "b" "main" "c"
|
|
authorizer: READ "a" "b" "main" "c"
|
|
authorizer: FUNCTION NULL "sum" NULL NULL
|
|
authorizer: READ "c" "d" "main" NULL
|
|
authorizer: READ "a" "b" "main" "c"
|
|
authorizer: READ "a" "b" "main" "c"
|
|
authorizer: READ "a" "b" "main" NULL
|
|
authorizer: READ "a" "b" "main" "c"
|
|
authorizer: READ "a" "b" "main" "c"
|
|
authorizer: READ "c" "d" "main" NULL
|
|
authorizer: READ "a" "b" "main" NULL
|
|
authorizer: READ "a" "b" "main" NULL
|
|
authorizer: SELECT NULL NULL NULL NULL
|
|
authorizer: SELECT NULL NULL NULL "c"
|
|
authorizer: SELECT NULL NULL NULL NULL
|
|
authorizer: SELECT NULL NULL NULL "c"
|
|
authorizer: READ "a" "" "main" NULL
|
|
authorizer: SELECT NULL NULL NULL NULL
|
|
authorizer: SELECT NULL NULL NULL NULL
|
|
authorizer: SELECT NULL NULL NULL NULL
|
|
authorizer: SELECT NULL NULL NULL "c"
|
|
authorizer: SELECT NULL NULL NULL NULL
|
|
authorizer: SELECT NULL NULL NULL "c"
|
|
authorizer: READ "a" "" "main" NULL
|
|
authorizer: SELECT NULL NULL NULL NULL
|
|
authorizer: SELECT NULL NULL NULL NULL
|
|
authorizer: SELECT NULL NULL NULL NULL
|
|
authorizer: SELECT NULL NULL NULL "c"
|
|
authorizer: INSERT "a" NULL "main" NULL
|
|
authorizer: SELECT NULL NULL NULL NULL
|
|
authorizer: READ "a" "b" "main" NULL
|
|
authorizer: INSERT "a" NULL "main" NULL
|
|
authorizer: SELECT NULL NULL NULL NULL
|
|
authorizer: READ "a" "b" "main" NULL
|
|
authorizer: CREATE_TRIGGER "trg_a_47" "a" "main" NULL
|
|
authorizer: INSERT "sqlite_master" NULL "main" NULL
|
|
authorizer: INSERT "sqlite_master" NULL "main" NULL
|
|
authorizer: CREATE_TRIGGER "trg_a_3589" "a" "main" NULL
|
|
authorizer: INSERT "sqlite_master" NULL "main" NULL
|
|
authorizer: INSERT "sqlite_master" NULL "main" NULL
|
|
```
|
|
|
|
## Flag
|
|
|
|
```
|
|
|
|
```
|
|
|