forked-synapse/synapse/storage/schema
Nick Mills-Barrett e6af49fbea
Reintroduce membership tables event stream ordering (#15128)
* Add `event_stream_ordering` column to membership state tables

Specifically this adds the column to `current_state_events`,
`local_current_membership` and `room_memberships`. Each of these tables
is regularly joined with the `events` table to get the stream ordering
and denormalising this into each table will yield significant query
performance improvements once used.

* Make denormalised `event_stream_ordering` columns foreign keys
* Add comment in schema file explaining new denormalised columns
* Add triggers to enforce consistency of `event_stream_ordering` columns
* Re-order purge room tables to account for foreign keys
* Bump schema version to 75

Co-authored-by: David Robertson <david.m.robertson1@gmail.com>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2023-03-24 11:44:01 +00:00
..
common Snapshot schema 72 (#13873) 2022-09-26 18:28:32 +01:00
main Reintroduce membership tables event stream ordering (#15128) 2023-03-24 11:44:01 +00:00
state Snapshot schema 72 (#13873) 2022-09-26 18:28:32 +01:00
__init__.py Reintroduce membership tables event stream ordering (#15128) 2023-03-24 11:44:01 +00:00
README.md update links to schema doc (#10620) 2021-08-17 10:45:35 +00:00

Synapse Database Schemas

This directory contains the schema files used to build Synapse databases. For more information, see https://matrix-org.github.io/synapse/develop/development/database_schema.html.