297 lines
6.1 KiB
Markdown
297 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
|
|
.stats vmstep
|
|
.open employee.db
|
|
ATTACH DATABASE ':memory:' AS aux72;
|
|
SAVEPOINT sp2695;
|
|
PRAGMA full_column_names = NO;
|
|
PRAGMA cache_spill = TRUE;
|
|
PRAGMA writable_schema = YES;
|
|
.timeout
|
|
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
|
DROP TABLE t0;
|
|
ROLLBACK TRANSACTION TO SAVEPOINT sp2695;
|
|
RELEASE SAVEPOINT sp2695;
|
|
DETACH DATABASE aux72;
|
|
ATTACH DATABASE ':memory:' AS aux72;
|
|
SAVEPOINT sp2695;
|
|
PRAGMA full_column_names = NO;
|
|
PRAGMA cache_spill = TRUE;
|
|
PRAGMA writable_schema = YES;
|
|
.timeout
|
|
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
|
DROP TABLE t0;
|
|
ROLLBACK TRANSACTION TO SAVEPOINT sp2695;
|
|
RELEASE SAVEPOINT sp2695;
|
|
DETACH DATABASE aux72;
|
|
ATTACH DATABASE ':memory:' AS aux72;
|
|
SAVEPOINT sp2695;
|
|
PRAGMA full_column_names = NO;
|
|
PRAGMA cache_spill = TRUE;
|
|
PRAGMA writable_schema = YES;
|
|
.timeout
|
|
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
|
DROP TABLE t0;
|
|
ROLLBACK TRANSACTION TO SAVEPOINT sp2695;
|
|
RELEASE SAVEPOINT sp2695;
|
|
DETACH DATABASE aux72;
|
|
ATTACH DATABASE ':memory:' AS aux72;
|
|
SAVEPOINT sp2695;
|
|
PRAGMA full_column_names = NO;
|
|
PRAGMA cache_spill = TRUE;
|
|
PRAGMA writable_schema = YES;
|
|
.timeout
|
|
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
|
DROP TABLE t0;
|
|
ROLLBACK TRANSACTION TO SAVEPOINT sp2695;
|
|
RELEASE SAVEPOINT sp2695;
|
|
DETACH DATABASE aux72;
|
|
ATTACH DATABASE ':memory:' AS aux72;
|
|
SAVEPOINT sp2695;
|
|
PRAGMA full_column_names = NO;
|
|
PRAGMA cache_spill = TRUE;
|
|
PRAGMA writable_schema = YES;
|
|
.timeout
|
|
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
|
DROP TABLE t0;
|
|
ROLLBACK TRANSACTION TO SAVEPOINT sp2695;
|
|
RELEASE SAVEPOINT sp2695;
|
|
DETACH DATABASE aux72;
|
|
|
|
```
|
|
|
|
## Actual output
|
|
|
|
```sql
|
|
.stats vmstep
|
|
.open employee.db
|
|
ATTACH DATABASE ':memory:' AS aux72;
|
|
VM-steps: 7
|
|
SAVEPOINT sp2695;
|
|
VM-steps: 3
|
|
PRAGMA full_column_names = NO;
|
|
VM-steps: 4
|
|
PRAGMA cache_spill = TRUE;
|
|
VM-steps: 3
|
|
PRAGMA writable_schema = YES;
|
|
VM-steps: 4
|
|
.timeout
|
|
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
|
VM-steps: 31
|
|
DROP TABLE t0;
|
|
VM-steps: 458
|
|
ROLLBACK TRANSACTION TO SAVEPOINT sp2695;
|
|
VM-steps: 3
|
|
RELEASE SAVEPOINT sp2695;
|
|
VM-steps: 2
|
|
DETACH DATABASE aux72;
|
|
VM-steps: 7
|
|
ATTACH DATABASE ':memory:' AS aux72;
|
|
VM-steps: 7
|
|
SAVEPOINT sp2695;
|
|
VM-steps: 3
|
|
PRAGMA full_column_names = NO;
|
|
VM-steps: 4
|
|
PRAGMA cache_spill = TRUE;
|
|
VM-steps: 3
|
|
PRAGMA writable_schema = YES;
|
|
VM-steps: 4
|
|
.timeout
|
|
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
|
VM-steps: 31
|
|
DROP TABLE t0;
|
|
VM-steps: 458
|
|
ROLLBACK TRANSACTION TO SAVEPOINT sp2695;
|
|
VM-steps: 3
|
|
RELEASE SAVEPOINT sp2695;
|
|
VM-steps: 2
|
|
DETACH DATABASE aux72;
|
|
VM-steps: 7
|
|
ATTACH DATABASE ':memory:' AS aux72;
|
|
VM-steps: 7
|
|
SAVEPOINT sp2695;
|
|
VM-steps: 3
|
|
PRAGMA full_column_names = NO;
|
|
VM-steps: 4
|
|
PRAGMA cache_spill = TRUE;
|
|
VM-steps: 3
|
|
PRAGMA writable_schema = YES;
|
|
VM-steps: 4
|
|
.timeout
|
|
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
|
VM-steps: 31
|
|
DROP TABLE t0;
|
|
VM-steps: 458
|
|
ROLLBACK TRANSACTION TO SAVEPOINT sp2695;
|
|
VM-steps: 3
|
|
RELEASE SAVEPOINT sp2695;
|
|
VM-steps: 2
|
|
DETACH DATABASE aux72;
|
|
VM-steps: 7
|
|
ATTACH DATABASE ':memory:' AS aux72;
|
|
VM-steps: 7
|
|
SAVEPOINT sp2695;
|
|
VM-steps: 3
|
|
PRAGMA full_column_names = NO;
|
|
VM-steps: 4
|
|
PRAGMA cache_spill = TRUE;
|
|
VM-steps: 3
|
|
PRAGMA writable_schema = YES;
|
|
VM-steps: 4
|
|
.timeout
|
|
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
|
VM-steps: 31
|
|
DROP TABLE t0;
|
|
VM-steps: 458
|
|
ROLLBACK TRANSACTION TO SAVEPOINT sp2695;
|
|
VM-steps: 3
|
|
RELEASE SAVEPOINT sp2695;
|
|
VM-steps: 2
|
|
DETACH DATABASE aux72;
|
|
VM-steps: 7
|
|
ATTACH DATABASE ':memory:' AS aux72;
|
|
VM-steps: 7
|
|
SAVEPOINT sp2695;
|
|
VM-steps: 3
|
|
PRAGMA full_column_names = NO;
|
|
VM-steps: 4
|
|
PRAGMA cache_spill = TRUE;
|
|
VM-steps: 3
|
|
PRAGMA writable_schema = YES;
|
|
VM-steps: 4
|
|
.timeout
|
|
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
|
VM-steps: 31
|
|
DROP TABLE t0;
|
|
VM-steps: 458
|
|
ROLLBACK TRANSACTION TO SAVEPOINT sp2695;
|
|
VM-steps: 3
|
|
RELEASE SAVEPOINT sp2695;
|
|
VM-steps: 2
|
|
DETACH DATABASE aux72;
|
|
VM-steps: 7
|
|
```
|
|
|
|
## Expectation
|
|
|
|
```sql
|
|
.stats vmstep
|
|
.open employee.db
|
|
ATTACH DATABASE ':memory:' AS aux72;
|
|
VM-steps: 8
|
|
SAVEPOINT sp2695;
|
|
VM-steps: 4
|
|
PRAGMA full_column_names = NO;
|
|
VM-steps: 5
|
|
PRAGMA cache_spill = TRUE;
|
|
VM-steps: 4
|
|
PRAGMA writable_schema = YES;
|
|
VM-steps: 5
|
|
.timeout
|
|
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
|
VM-steps: 31
|
|
DROP TABLE t0;
|
|
VM-steps: 458
|
|
ROLLBACK TRANSACTION TO SAVEPOINT sp2695;
|
|
VM-steps: 4
|
|
RELEASE SAVEPOINT sp2695;
|
|
VM-steps: 3
|
|
DETACH DATABASE aux72;
|
|
VM-steps: 8
|
|
ATTACH DATABASE ':memory:' AS aux72;
|
|
VM-steps: 8
|
|
SAVEPOINT sp2695;
|
|
VM-steps: 4
|
|
PRAGMA full_column_names = NO;
|
|
VM-steps: 5
|
|
PRAGMA cache_spill = TRUE;
|
|
VM-steps: 4
|
|
PRAGMA writable_schema = YES;
|
|
VM-steps: 5
|
|
.timeout
|
|
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
|
VM-steps: 31
|
|
DROP TABLE t0;
|
|
VM-steps: 458
|
|
ROLLBACK TRANSACTION TO SAVEPOINT sp2695;
|
|
VM-steps: 4
|
|
RELEASE SAVEPOINT sp2695;
|
|
VM-steps: 3
|
|
DETACH DATABASE aux72;
|
|
VM-steps: 8
|
|
ATTACH DATABASE ':memory:' AS aux72;
|
|
VM-steps: 8
|
|
SAVEPOINT sp2695;
|
|
VM-steps: 4
|
|
PRAGMA full_column_names = NO;
|
|
VM-steps: 5
|
|
PRAGMA cache_spill = TRUE;
|
|
VM-steps: 4
|
|
PRAGMA writable_schema = YES;
|
|
VM-steps: 5
|
|
.timeout
|
|
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
|
VM-steps: 31
|
|
DROP TABLE t0;
|
|
VM-steps: 458
|
|
ROLLBACK TRANSACTION TO SAVEPOINT sp2695;
|
|
VM-steps: 4
|
|
RELEASE SAVEPOINT sp2695;
|
|
VM-steps: 3
|
|
DETACH DATABASE aux72;
|
|
VM-steps: 8
|
|
ATTACH DATABASE ':memory:' AS aux72;
|
|
VM-steps: 8
|
|
SAVEPOINT sp2695;
|
|
VM-steps: 4
|
|
PRAGMA full_column_names = NO;
|
|
VM-steps: 5
|
|
PRAGMA cache_spill = TRUE;
|
|
VM-steps: 4
|
|
PRAGMA writable_schema = YES;
|
|
VM-steps: 5
|
|
.timeout
|
|
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
|
VM-steps: 31
|
|
DROP TABLE t0;
|
|
VM-steps: 458
|
|
ROLLBACK TRANSACTION TO SAVEPOINT sp2695;
|
|
VM-steps: 4
|
|
RELEASE SAVEPOINT sp2695;
|
|
VM-steps: 3
|
|
DETACH DATABASE aux72;
|
|
VM-steps: 8
|
|
ATTACH DATABASE ':memory:' AS aux72;
|
|
VM-steps: 8
|
|
SAVEPOINT sp2695;
|
|
VM-steps: 4
|
|
PRAGMA full_column_names = NO;
|
|
VM-steps: 5
|
|
PRAGMA cache_spill = TRUE;
|
|
VM-steps: 4
|
|
PRAGMA writable_schema = YES;
|
|
VM-steps: 5
|
|
.timeout
|
|
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
|
|
VM-steps: 31
|
|
DROP TABLE t0;
|
|
VM-steps: 458
|
|
ROLLBACK TRANSACTION TO SAVEPOINT sp2695;
|
|
VM-steps: 4
|
|
RELEASE SAVEPOINT sp2695;
|
|
VM-steps: 3
|
|
DETACH DATABASE aux72;
|
|
VM-steps: 8
|
|
```
|
|
|
|
## Flag
|
|
|
|
```
|
|
-echo
|
|
```
|
|
|