diff options
author | Erik Johnston <erik@matrix.org> | 2015-05-14 12:01:38 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2015-05-14 12:01:38 +0100 |
commit | 36ea26c5c02f53691358996d406b6cde5ddd7d57 (patch) | |
tree | 2396db6f1985fc92dfc95cc8ea171172f4450712 | |
parent | Add index on events (diff) | |
parent | Add ID generator for push_rules_enable to #resolve SYN-378 (diff) | |
download | synapse-36ea26c5c02f53691358996d406b6cde5ddd7d57.tar.xz |
Merge branch 'develop' of github.com:matrix-org/synapse into erikj/perf
-rw-r--r-- | README.rst | 2 | ||||
-rw-r--r-- | synapse/storage/_base.py | 1 | ||||
-rw-r--r-- | synapse/storage/push_rule.py | 14 |
3 files changed, 14 insertions, 3 deletions
diff --git a/README.rst b/README.rst index 5a6e105630..259fbaf459 100644 --- a/README.rst +++ b/README.rst @@ -117,7 +117,7 @@ Installing prerequisites on Mac OS X:: To install the synapse homeserver run:: - $ virtualenv ~/.synapse + $ virtualenv -p python2.7 ~/.synapse $ source ~/.synapse/bin/activate $ pip install --process-dependency-links https://github.com/matrix-org/synapse/tarball/master diff --git a/synapse/storage/_base.py b/synapse/storage/_base.py index 0ba12d48a5..46a1c07460 100644 --- a/synapse/storage/_base.py +++ b/synapse/storage/_base.py @@ -310,6 +310,7 @@ class SQLBaseStore(object): self._access_tokens_id_gen = IdGenerator("access_tokens", "id", self) self._pushers_id_gen = IdGenerator("pushers", "id", self) self._push_rule_id_gen = IdGenerator("push_rules", "id", self) + self._push_rules_enable_id_gen = IdGenerator("push_rules_enable", "id", self) def start_profiling(self): self._previous_loop_ts = self._clock.time_msec() 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}, ) |