diff options
-rw-r--r-- | synapse/storage/filtering.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/synapse/storage/filtering.py b/synapse/storage/filtering.py index a2ccc66ea7..e7ec43cf97 100644 --- a/synapse/storage/filtering.py +++ b/synapse/storage/filtering.py @@ -52,6 +52,15 @@ class FilteringStore(SQLBaseStore): # INSERT a new one def _do_txn(txn): sql = ( + "SELECT filter_id FROM user_filters " + "WHERE user_id = ? AND filter_json = ?" + ) + txn.execute(sql, (user_localpart,def_json)) + filter_id = txn.fetchone()[0] + if filter_id is not None: + return filter_id + + sql = ( "SELECT MAX(filter_id) FROM user_filters " "WHERE user_id = ?" ) |