summary refs log tree commit diff
path: root/synapse/storage/stream.py
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2015-03-20 13:52:56 +0000
committerErik Johnston <erik@matrix.org>2015-03-20 14:11:38 +0000
commit87db64b83962873a3cf2af951e4c4bc2e4d50d76 (patch)
tree326af613b0f40a1c5ad6898bbafb517c18d7ba5c /synapse/storage/stream.py
parentMerge pull request #112 from matrix-org/hotfixes-v0.8.1-r2 (diff)
downloadsynapse-87db64b83962873a3cf2af951e4c4bc2e4d50d76.tar.xz
Rearrange storage modules
Diffstat (limited to 'synapse/storage/stream.py')
-rw-r--r--synapse/storage/stream.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/synapse/storage/stream.py b/synapse/storage/stream.py
index 09bc522210..df234efdff 100644
--- a/synapse/storage/stream.py
+++ b/synapse/storage/stream.py
@@ -419,6 +419,25 @@ class StreamStore(SQLBaseStore):
             self._get_room_events_max_id_txn
         )
 
+    @defer.inlineCallbacks
+    def _get_min_token(self):
+        row = yield self._execute(
+            "_get_min_token", None, "SELECT MIN(stream_ordering) FROM events"
+        )
+
+        self.min_token = row[0][0] if row and row[0] and row[0][0] else -1
+        self.min_token = min(self.min_token, -1)
+
+        logger.debug("min_token is: %s", self.min_token)
+
+        defer.returnValue(self.min_token)
+
+    def get_next_stream_id(self):
+        with self._next_stream_id_lock:
+            i = self._next_stream_id
+            self._next_stream_id += 1
+            return i
+
     def _get_room_events_max_id_txn(self, txn):
         txn.execute(
             "SELECT MAX(stream_ordering) as m FROM events"