summary refs log tree commit diff
path: root/synapse
diff options
context:
space:
mode:
Diffstat (limited to 'synapse')
-rw-r--r--synapse/federation/pdu_codec.py4
-rw-r--r--synapse/state.py23
-rw-r--r--synapse/storage/__init__.py9
-rw-r--r--synapse/storage/schema/signatures.sql66
4 files changed, 8 insertions, 94 deletions
diff --git a/synapse/federation/pdu_codec.py b/synapse/federation/pdu_codec.py
index 6d31286290..d4c896e163 100644
--- a/synapse/federation/pdu_codec.py
+++ b/synapse/federation/pdu_codec.py
@@ -32,11 +32,11 @@ class PduCodec(object):
         self.hs = hs
 
     def encode_event_id(self, local, domain):
-        return EventID.create(local, domain, self.hs).to_string()
+        return local
 
     def decode_event_id(self, event_id):
         e_id = self.hs.parse_eventid(event_id)
-        return e_id.localpart, e_id.domain
+        return event_id, e_id.domain
 
     def event_from_pdu(self, pdu):
         kwargs = {}
diff --git a/synapse/state.py b/synapse/state.py
index f7249705ce..2548deed28 100644
--- a/synapse/state.py
+++ b/synapse/state.py
@@ -77,29 +77,18 @@ class StateHandler(object):
         snapshot.fill_out_prev_events(event)
         yield self.annotate_state_groups(event)
 
-        current_state = snapshot.prev_state_pdu
+        if event.old_state_events:
+            current_state = event.old_state_events.get(
+                (event.type, event.state_key)
+            )
 
-        if current_state:
-            event.prev_state = EventID.create(
-                current_state.pdu_id, current_state.origin, self.hs
-            ).to_string()
+            if current_state:
+                event.prev_state = current_state.event_id
 
         # TODO check current_state to see if the min power level is less
         # than the power level of the user
         # power_level = self._get_power_level_for_event(event)
 
-        e_id = self.hs.parse_eventid(event.event_id)
-        pdu_id = e_id.localpart
-        origin = e_id.domain
-
-        yield self.store.update_current_state(
-            pdu_id=pdu_id,
-            origin=origin,
-            context=key.context,
-            pdu_type=key.type,
-            state_key=key.state_key
-        )
-
         defer.returnValue(True)
 
     @defer.inlineCallbacks
diff --git a/synapse/storage/__init__.py b/synapse/storage/__init__.py
index 3faa571dd9..c2560f6045 100644
--- a/synapse/storage/__init__.py
+++ b/synapse/storage/__init__.py
@@ -67,7 +67,6 @@ SCHEMAS = [
     "keys",
     "redactions",
     "state",
-    "signatures",
     "event_edges",
     "event_signatures",
 ]
@@ -364,13 +363,6 @@ class DataStore(RoomMemberStore, RoomStore,
             membership_state = self._get_room_member(txn, user_id, room_id)
             prev_events = self._get_latest_events_in_room(txn, room_id)
 
-            if state_type is not None and state_key is not None:
-                prev_state_pdu = self._get_current_state_pdu(
-                    txn, room_id, state_type, state_key
-                )
-            else:
-                prev_state_pdu = None
-
             return Snapshot(
                 store=self,
                 room_id=room_id,
@@ -379,7 +371,6 @@ class DataStore(RoomMemberStore, RoomStore,
                 membership_state=membership_state,
                 state_type=state_type,
                 state_key=state_key,
-                prev_state_pdu=prev_state_pdu,
             )
 
         return self.runInteraction("snapshot_room", _snapshot)
diff --git a/synapse/storage/schema/signatures.sql b/synapse/storage/schema/signatures.sql
deleted file mode 100644
index 1c45a51bec..0000000000
--- a/synapse/storage/schema/signatures.sql
+++ /dev/null
@@ -1,66 +0,0 @@
-/* Copyright 2014 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 pdu_content_hashes (
-  pdu_id TEXT,
-  origin TEXT,
-  algorithm TEXT,
-  hash BLOB,
-  CONSTRAINT uniqueness UNIQUE (pdu_id, origin, algorithm)
-);
-
-CREATE INDEX IF NOT EXISTS pdu_content_hashes_id ON pdu_content_hashes (
-    pdu_id, origin
-);
-
-CREATE TABLE IF NOT EXISTS pdu_reference_hashes (
-  pdu_id TEXT,
-  origin TEXT,
-  algorithm TEXT,
-  hash BLOB,
-  CONSTRAINT uniqueness UNIQUE (pdu_id, origin, algorithm)
-);
-
-CREATE INDEX IF NOT EXISTS pdu_reference_hashes_id ON pdu_reference_hashes (
-    pdu_id, origin
-);
-
-CREATE TABLE IF NOT EXISTS pdu_origin_signatures (
-  pdu_id TEXT,
-  origin TEXT,
-  key_id TEXT,
-  signature BLOB,
-  CONSTRAINT uniqueness UNIQUE (pdu_id, origin, key_id)
-);
-
-CREATE INDEX IF NOT EXISTS pdu_origin_signatures_id ON pdu_origin_signatures (
-    pdu_id, origin
-);
-
-CREATE TABLE IF NOT EXISTS pdu_edge_hashes(
-    pdu_id TEXT,
-    origin TEXT,
-    prev_pdu_id TEXT,
-    prev_origin TEXT,
-    algorithm TEXT,
-    hash BLOB,
-    CONSTRAINT uniqueness UNIQUE (
-        pdu_id, origin, prev_pdu_id, prev_origin, algorithm
-    )
-);
-
-CREATE INDEX IF NOT EXISTS pdu_edge_hashes_id ON pdu_edge_hashes(
-    pdu_id, origin
-);