summary refs log tree commit diff
path: root/synapse/storage
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2015-06-30 15:29:47 +0100
committerErik Johnston <erik@matrix.org>2015-06-30 15:29:47 +0100
commit901f56fa63c0f8cd4519e2a2f774724af9ea3431 (patch)
treecb9cd47b859270c02a4335ec59c458f425e8bfd8 /synapse/storage
parentOops: underride rule had an identifier with override in it. (diff)
downloadsynapse-901f56fa63c0f8cd4519e2a2f774724af9ea3431.tar.xz
Add tables for receipts
Diffstat (limited to 'synapse/storage')
-rw-r--r--synapse/storage/__init__.py2
-rw-r--r--synapse/storage/schema/delta/21/receipts.sql35
2 files changed, 36 insertions, 1 deletions
diff --git a/synapse/storage/__init__.py b/synapse/storage/__init__.py
index c137f47820..275598adda 100644
--- a/synapse/storage/__init__.py
+++ b/synapse/storage/__init__.py
@@ -51,7 +51,7 @@ logger = logging.getLogger(__name__)
 
 # Remember to update this number every time a change is made to database
 # schema files, so the users will be informed on server restarts.
-SCHEMA_VERSION = 20
+SCHEMA_VERSION = 21
 
 dir_path = os.path.abspath(os.path.dirname(__file__))
 
diff --git a/synapse/storage/schema/delta/21/receipts.sql b/synapse/storage/schema/delta/21/receipts.sql
new file mode 100644
index 0000000000..da9e18e903
--- /dev/null
+++ b/synapse/storage/schema/delta/21/receipts.sql
@@ -0,0 +1,35 @@
+# Copyright 2015 OpenMarket Ltd
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+CREATE TABLE IF NOT EXISTS receipts_graph(
+    room_id TEXT NOT NULL,
+    receipt_type TEXT NOT NULL,
+    user_id TEXT NOT NULL,
+    event_id TEXT NOT NULL
+);
+
+CREATE INDEX receipts_graph_room_tuple ON receipts_graph(
+  room_id, receipt_type, user_id
+);
+
+CREATE TABLE IF NOT EXISTS receipts_linearized (
+    room_id TEXT NOT NULL,
+    receipt_type TEXT NOT NULL,
+    user_id TEXT NOT NULL,
+    event_id TEXT NOT NULL
+);
+
+CREATE INDEX receipts_graph_room_tuple ON receipts_graph(
+  room_id, receipt_type, user_id
+);