anonymousland-synapse/synapse
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
..
_scripts Add a primitive helper script for listing worker endpoints. (#15243) 2023-03-23 12:11:14 +00:00
api Implement MSC2659: application service ping endpoint (#15249) 2023-03-16 15:00:03 +01:00
app Add information on uploaded media to user export command. (#15107) 2023-02-23 13:14:17 -05:00
appservice Implement MSC2659: application service ping endpoint (#15249) 2023-03-16 15:00:03 +01:00
config Implement MSC2659: application service ping endpoint (#15249) 2023-03-16 15:00:03 +01:00
crypto Use immutabledict instead of frozendict (#15113) 2023-03-22 17:15:34 +00:00
events Use immutabledict instead of frozendict (#15113) 2023-03-22 17:15:34 +00:00
federation Add a primitive helper script for listing worker endpoints. (#15243) 2023-03-23 12:11:14 +00:00
handlers Make EventHandler.get_event return None when the requested event is not found (#15298) 2023-03-21 13:23:47 +00:00
http Add Synapse-Trace-Id to access-control-expose-headers header (#14974) 2023-03-20 11:14:05 -07:00
logging Bump black from 22.12.0 to 23.1.0 (#15103) 2023-02-22 15:29:09 -05:00
media Separate HTTP preview code and URL previewer. (#15269) 2023-03-20 14:32:26 -04:00
metrics Bump black from 22.12.0 to 23.1.0 (#15103) 2023-02-22 15:29:09 -05:00
module_api Move Account Validity callbacks to a dedicated file (#15237) 2023-03-16 10:35:31 +00:00
push Stabilize support for MSC3873: disambuguated event push keys. (#15190) 2023-03-07 11:27:57 -05:00
replication Have replication clients remove _INT_STREAM_POS (#15309) 2023-03-22 12:53:55 +00:00
res Fix #11308 : Remove dependency on jquery on reCAPTCHA page (#14672) 2022-12-14 12:02:28 +00:00
rest Add a primitive helper script for listing worker endpoints. (#15243) 2023-03-23 12:11:14 +00:00
server_notices Remove unused room_alias field from /createRoom response (#15093) 2023-02-22 11:07:28 +00:00
spam_checker_api
state Use immutabledict instead of frozendict (#15113) 2023-03-22 17:15:34 +00:00
static Add viewport directive to HTML templates to optimise for mobile (#13493) 2022-08-11 14:04:20 +01:00
storage Reintroduce membership tables event stream ordering (#15128) 2023-03-24 11:44:01 +00:00
streams Use mypy 1.0 (#15052) 2023-02-16 16:09:11 +00:00
types Use immutabledict instead of frozendict (#15113) 2023-03-22 17:15:34 +00:00
util Use immutabledict instead of frozendict (#15113) 2023-03-22 17:15:34 +00:00
__init__.py Use immutabledict instead of frozendict (#15113) 2023-03-22 17:15:34 +00:00
event_auth.py More speedups/fixes to creating batched events (#15195) 2023-03-07 13:54:39 -08:00
notifier.py Fix a bug in the send_local_online_presence_to module API (#14880) 2023-01-25 21:34:37 +00:00
py.typed
server.py Move Account Validity callbacks to a dedicated file (#15237) 2023-03-16 10:35:31 +00:00
visibility.py Refactor filter_events_for_server (#15240) 2023-03-10 15:31:25 +00:00