summary refs log tree commit diff
path: root/docs/modules
diff options
context:
space:
mode:
authorDavid Robertson <davidr@element.io>2022-09-06 18:21:24 +0100
committerDavid Robertson <davidr@element.io>2022-09-06 18:28:26 +0100
commit5452fdc26907dbf909ad65edd3ed0622ac0ad0d8 (patch)
treea45ca6e8822c2c233d4daab5972704f6f8e73302 /docs/modules
parentFix db update script invocation during schema dump (diff)
downloadsynapse-dmr/cut-schema.tar.xz
Use .schema to dump from sqlite github/dmr/cut-schema dmr/cut-schema
This has the following effects:

- Don't wrap the schema in a transaction
- `CREATE VIRTUAL TABLE` for full text search, which means we don't have
  to do `PRAGMA writable_scshema=...`
- Don't insert initial values for stream positions and similarly locked
  things

Both of these seem to better match the sqlite full schema dump we have
in the source tree.

Also use `--indent` to produce something that's more human readable.

```
$ diff dump/sqlite-{dump,schema}-sorted
6,7d5
< BEGIN TRANSACTION;
< COMMIT;
287a286,287
> CREATE VIRTUAL TABLE event_search USING fts4 ( event_id, room_id, sender, key, value )
> CREATE VIRTUAL TABLE user_directory_search USING fts4 ( user_id, value )
289a290
> /* event_search(event_id,room_id,sender,"key",value) */;
291,300d291
< INSERT INTO appservice_stream_position VALUES('X',0);
< INSERT INTO event_push_summary_last_receipt_stream_id VALUES('X',0);
< INSERT INTO event_push_summary_stream_ordering VALUES('X',0);
< INSERT INTO federation_stream_position VALUES('events',-1,'master');
< INSERT INTO federation_stream_position VALUES('federation',-1,'master');
< INSERT INTO schema_compat_version VALUES('X',72);
< INSERT INTO sqlite_schema(type,name,tbl_name,rootpage,sql)VALUES('table','event_search','event_search',0,'CREATE VIRTUAL TABLE event_search USING fts4 ( event_id, room_id, sender, key, value )');
< INSERT INTO sqlite_schema(type,name,tbl_name,rootpage,sql)VALUES('table','user_directory_search','user_directory_search',0,'CREATE VIRTUAL TABLE user_directory_search USING fts4 ( user_id, value )');
< INSERT INTO stats_incremental_position VALUES('X',1);
< INSERT INTO user_directory_stream_pos VALUES('X',1);
302,304d292
< PRAGMA foreign_keys=OFF;
< PRAGMA writable_schema=OFF;
< PRAGMA writable_schema=ON;
307a296
> /* user_directory_search(user_id,value) */;
```
Diffstat (limited to 'docs/modules')
0 files changed, 0 insertions, 0 deletions