summary refs log tree commit diff
path: root/synapse/storage/push_rule.py
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2015-05-14 12:01:38 +0100
committerErik Johnston <erik@matrix.org>2015-05-14 12:01:38 +0100
commit36ea26c5c02f53691358996d406b6cde5ddd7d57 (patch)
tree2396db6f1985fc92dfc95cc8ea171172f4450712 /synapse/storage/push_rule.py
parentAdd index on events (diff)
parentAdd ID generator for push_rules_enable to #resolve SYN-378 (diff)
downloadsynapse-36ea26c5c02f53691358996d406b6cde5ddd7d57.tar.xz
Merge branch 'develop' of github.com:matrix-org/synapse into erikj/perf
Diffstat (limited to 'synapse/storage/push_rule.py')
-rw-r--r--synapse/storage/push_rule.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/synapse/storage/push_rule.py b/synapse/storage/push_rule.py

index 34805e276e..e7988676ce 100644 --- a/synapse/storage/push_rule.py +++ b/synapse/storage/push_rule.py
@@ -204,11 +204,21 @@ class PushRuleStore(SQLBaseStore): @defer.inlineCallbacks def set_push_rule_enabled(self, user_name, rule_id, enabled): - yield self._simple_upsert( + ret = yield self.runInteraction( + "_set_push_rule_enabled_txn", + self._set_push_rule_enabled_txn, + user_name, rule_id, enabled + ) + defer.returnValue(ret) + + def _set_push_rule_enabled_txn(self, txn, user_name, rule_id, enabled): + new_id = self._push_rules_enable_id_gen.get_next_txn(txn) + self._simple_upsert_txn( + txn, PushRuleEnableTable.table_name, {'user_name': user_name, 'rule_id': rule_id}, {'enabled': 1 if enabled else 0}, - desc="set_push_rule_enabled", + {'id': new_id}, )