diff options
author | Erik Johnston <erikj@jki.re> | 2018-02-06 14:31:24 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-06 14:31:24 +0000 |
commit | 3d33eef6fcbba474664a9bccdcb8822c6f72ee8c (patch) | |
tree | ad7a2201514be1acebc9ef72a10e9cbcc7f6696c /synapse/storage/engines/postgres.py | |
parent | Merge pull request #2849 from matrix-org/rav/clean_up_state_delta (diff) | |
download | synapse-3d33eef6fcbba474664a9bccdcb8822c6f72ee8c.tar.xz |
Store state groups separately from events (#2784)
* Split state group persist into seperate storage func * Add per database engine code for state group id gen * Move store_state_group to StateReadStore This allows other workers to use it, and so resolve state. * Hook up store_state_group * Fix tests * Rename _store_mult_state_groups_txn * Rename StateGroupReadStore * Remove redundant _have_persisted_state_group_txn * Update comments * Comment compute_event_context * Set start val for state_group_id_seq ... otherwise we try to recreate old state groups * Update comments * Don't store state for outliers * Update comment * Update docstring as state groups are ints
Diffstat (limited to 'synapse/storage/engines/postgres.py')
-rw-r--r-- | synapse/storage/engines/postgres.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/synapse/storage/engines/postgres.py b/synapse/storage/engines/postgres.py index a6ae79dfad..8a0386c1a4 100644 --- a/synapse/storage/engines/postgres.py +++ b/synapse/storage/engines/postgres.py @@ -62,3 +62,9 @@ class PostgresEngine(object): def lock_table(self, txn, table): txn.execute("LOCK TABLE %s in EXCLUSIVE MODE" % (table,)) + + def get_next_state_group_id(self, txn): + """Returns an int that can be used as a new state_group ID + """ + txn.execute("SELECT nextval('state_group_id_seq')") + return txn.fetchone()[0] |