diff options
author | Krombel <krombel@krombel.de> | 2017-05-11 16:05:30 +0200 |
---|---|---|
committer | Krombel <krombel@krombel.de> | 2017-05-11 16:05:30 +0200 |
commit | 6b95e35e969f730f7f92f6c3f814691c4bedaeff (patch) | |
tree | 3758ea57b5e0a28f23c1eacf01c4f753cc74624a | |
parent | Merge pull request #2214 from matrix-org/rav/hurry_up_purge (diff) | |
download | synapse-6b95e35e969f730f7f92f6c3f814691c4bedaeff.tar.xz |
add check to only add a new filter if the same filter does not exist previously
Signed-off-by: Matthias Kesler <krombel@krombel.de>
-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 = ?" ) |