1 files changed, 10 insertions, 6 deletions
diff --git a/synapse/storage/schema/delta/36/readd_public_rooms.sql b/synapse/storage/schema/delta/36/readd_public_rooms.sql
index 0de7e326d2..5460a350b6 100644
--- a/synapse/storage/schema/delta/36/readd_public_rooms.sql
+++ b/synapse/storage/schema/delta/36/readd_public_rooms.sql
@@ -13,10 +13,14 @@
* limitations under the License.
*/
-
-INSERT INTO public_room_list_stream (stream_id, room_id, visibility)
- SELECT 1, room_id, is_public FROM rooms AS r
- WHERE is_public = CAST(1 AS BOOLEAN)
- AND NOT EXISTS (
- SELECT room_id FROM stream_ordering_to_exterm WHERE room_id = r.room_id
+-- Re-add some entries to stream_ordering_to_exterm that were incorrectly deleted
+INSERT INTO stream_ordering_to_exterm (stream_ordering, room_id, event_id)
+ SELECT
+ (SELECT max(stream_ordering) FROM events where room_id = e.room_id) AS stream_ordering,
+ room_id,
+ event_id
+ FROM event_forward_extremities AS e
+ WHERE NOT EXISTS (
+ SELECT room_id FROM stream_ordering_to_exterm AS s
+ WHERE s.room_id = e.room_id
);
|