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 = ?"
)
|