diff options
author | Patrick Cloke <clokep@users.noreply.github.com> | 2023-05-26 13:16:08 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-26 13:16:08 -0400 |
commit | 2ad91ec628126753590c1a90c432270d6c8fa8fd (patch) | |
tree | d437ff10f3a4c604719146cb4b1e201dec0095d1 /synapse/storage/schema/__init__.py | |
parent | Merge branch 'master' into develop (diff) | |
download | synapse-2ad91ec628126753590c1a90c432270d6c8fa8fd.tar.xz |
Set thread_id column to non-null for event_push_{actions,actions_staging,summary} (#15597)
Updates the database schema to require a thread_id (by adding a constraint that the column is non-null) for event_push_actions, event_push_actions_staging, and event_push_actions_summary. For PostgreSQL we add the constraint as NOT VALID, then VALIDATE the constraint a background job to avoid locking the table during an upgrade. Each table is updated as a separate schema delta to avoid deadlocks between them. For SQLite we simply rebuild the table & copy the data.
Diffstat (limited to 'synapse/storage/schema/__init__.py')
-rw-r--r-- | synapse/storage/schema/__init__.py | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/synapse/storage/schema/__init__.py b/synapse/storage/schema/__init__.py index df2cc31ca6..5cc786f030 100644 --- a/synapse/storage/schema/__init__.py +++ b/synapse/storage/schema/__init__.py @@ -110,6 +110,9 @@ SCHEMA_COMPAT_VERSION = ( # Queries against `event_stream_ordering` columns in membership tables must # be disambiguated. # + # The threads_id column must written to with non-null values for the + # event_push_actions, event_push_actions_staging, and event_push_summary tables. + # # insertions to the column `full_user_id` of tables profiles and user_filters can no # longer be null 76 |