summary refs log tree commit diff
diff options
context:
space:
mode:
authorAmber Brown <hawkowl@atleastfornow.net>2019-06-03 22:23:40 +1000
committerAmber Brown <hawkowl@atleastfornow.net>2019-06-03 22:23:40 +1000
commit7f81b967ca1d4004832e96513ad33e802f9a6f78 (patch)
treecae99ffcdb6b2b129d25f85e45eb09cf5a5fc2b1
parentfull schema (diff)
downloadsynapse-7f81b967ca1d4004832e96513ad33e802f9a6f78.tar.xz
fix schemas
-rw-r--r--synapse/storage/prepare_database.py4
-rw-r--r--synapse/storage/schema/full_schemas/54/full.sql.postgres72
-rw-r--r--synapse/storage/schema/full_schemas/54/full.sql.sqlite1
-rw-r--r--synapse/storage/schema/full_schemas/README.txt4
-rw-r--r--tests/handlers/test_user_directory.py2
5 files changed, 22 insertions, 61 deletions
diff --git a/synapse/storage/prepare_database.py b/synapse/storage/prepare_database.py
index 07478b6672..b81c05369f 100644
--- a/synapse/storage/prepare_database.py
+++ b/synapse/storage/prepare_database.py
@@ -146,9 +146,9 @@ def _setup_new_database(cur, database_engine):
 
     directory_entries = os.listdir(sql_dir)
 
-    for filename in fnmatch.filter(directory_entries, "*.sql") + fnmatch.filter(
+    for filename in sorted(fnmatch.filter(directory_entries, "*.sql") + fnmatch.filter(
         directory_entries, "*.sql." + specific
-    ):
+    )):
         sql_loc = os.path.join(sql_dir, filename)
         logger.debug("Applying schema %s", sql_loc)
         executescript(cur, sql_loc)
diff --git a/synapse/storage/schema/full_schemas/54/full.sql.postgres b/synapse/storage/schema/full_schemas/54/full.sql.postgres
index 5fb54cfe77..ea3859fd24 100644
--- a/synapse/storage/schema/full_schemas/54/full.sql.postgres
+++ b/synapse/storage/schema/full_schemas/54/full.sql.postgres
@@ -60,21 +60,6 @@ CREATE TABLE application_services_txns (
 );
 
 
-
-CREATE TABLE applied_module_schemas (
-    module_name text NOT NULL,
-    file text NOT NULL
-);
-
-
-
-CREATE TABLE applied_schema_deltas (
-    version integer NOT NULL,
-    file text NOT NULL
-);
-
-
-
 CREATE TABLE appservice_room_list (
     appservice_id text NOT NULL,
     network_id text NOT NULL,
@@ -475,7 +460,7 @@ CREATE TABLE group_roles (
     group_id text NOT NULL,
     role_id text NOT NULL,
     profile text NOT NULL,
-    is_boolean NOT NULL
+    is_public boolean NOT NULL
 );
 
 
@@ -484,7 +469,7 @@ CREATE TABLE group_room_categories (
     group_id text NOT NULL,
     category_id text NOT NULL,
     profile text NOT NULL,
-    is_boolean NOT NULL
+    is_public boolean NOT NULL
 );
 
 
@@ -492,7 +477,7 @@ CREATE TABLE group_room_categories (
 CREATE TABLE group_rooms (
     group_id text NOT NULL,
     room_id text NOT NULL,
-    is_boolean NOT NULL
+    is_public boolean NOT NULL
 );
 
 
@@ -520,7 +505,7 @@ CREATE TABLE group_summary_rooms (
     room_id text NOT NULL,
     category_id text NOT NULL,
     room_order bigint NOT NULL,
-    is_boolean NOT NULL,
+    is_public boolean NOT NULL,
     CONSTRAINT group_summary_rooms_room_order_check CHECK ((room_order > 0))
 );
 
@@ -531,7 +516,7 @@ CREATE TABLE group_summary_users (
     user_id text NOT NULL,
     role_id text NOT NULL,
     user_order bigint NOT NULL,
-    is_boolean NOT NULL
+    is_public boolean NOT NULL
 );
 
 
@@ -540,7 +525,7 @@ CREATE TABLE group_users (
     group_id text NOT NULL,
     user_id text NOT NULL,
     is_admin boolean NOT NULL,
-    is_boolean NOT NULL
+    is_public boolean NOT NULL
 );
 
 
@@ -551,7 +536,7 @@ CREATE TABLE groups (
     avatar_url text,
     short_description text,
     long_description text,
-    is_boolean NOT NULL,
+    is_public boolean NOT NULL,
     join_policy text DEFAULT 'invite'::text NOT NULL
 );
 
@@ -578,7 +563,7 @@ CREATE TABLE local_group_membership (
     user_id text NOT NULL,
     is_admin boolean NOT NULL,
     membership text NOT NULL,
-    is_sed boolean NOT NULL,
+    is_publicised boolean NOT NULL,
     content text NOT NULL
 );
 
@@ -695,7 +680,7 @@ CREATE TABLE profiles (
 
 
 
-CREATE TABLE room_list_stream (
+CREATE TABLE public_room_list_stream (
     stream_id bigint NOT NULL,
     room_id text NOT NULL,
     visibility boolean NOT NULL,
@@ -966,21 +951,12 @@ CREATE TABLE room_tags_revisions (
 
 CREATE TABLE rooms (
     room_id text NOT NULL,
-    is_boolean,
+    is_public boolean,
     creator text
 );
 
 
 
-CREATE TABLE schema_version (
-    lock character(1) DEFAULT 'X'::bpchar NOT NULL,
-    version integer NOT NULL,
-    upgraded boolean NOT NULL,
-    CONSTRAINT schema_version_lock_check CHECK ((lock = 'X'::bpchar))
-);
-
-
-
 CREATE TABLE server_keys_json (
     server_name text NOT NULL,
     key_id text NOT NULL,
@@ -1135,7 +1111,7 @@ CREATE TABLE user_stats (
     user_id text NOT NULL,
     ts bigint NOT NULL,
     bucket_size integer NOT NULL,
-    rooms integer NOT NULL,
+    public_rooms integer NOT NULL,
     private_rooms integer NOT NULL
 );
 
@@ -1175,7 +1151,7 @@ CREATE TABLE users (
 
 
 
-CREATE TABLE users_in_rooms (
+CREATE TABLE users_in_public_rooms (
     user_id text NOT NULL,
     room_id text NOT NULL
 );
@@ -1225,17 +1201,6 @@ ALTER TABLE ONLY application_services_txns
     ADD CONSTRAINT application_services_txns_as_id_txn_id_key UNIQUE (as_id, txn_id);
 
 
-
-ALTER TABLE ONLY applied_module_schemas
-    ADD CONSTRAINT applied_module_schemas_module_name_file_key UNIQUE (module_name, file);
-
-
-
-ALTER TABLE ONLY applied_schema_deltas
-    ADD CONSTRAINT applied_schema_deltas_version_file_key UNIQUE (version, file);
-
-
-
 ALTER TABLE ONLY appservice_stream_position
     ADD CONSTRAINT appservice_stream_position_lock_key UNIQUE (lock);
 
@@ -1521,11 +1486,6 @@ ALTER TABLE ONLY rooms
 
 
 
-ALTER TABLE ONLY schema_version
-    ADD CONSTRAINT schema_version_lock_key UNIQUE (lock);
-
-
-
 ALTER TABLE ONLY server_keys_json
     ADD CONSTRAINT server_keys_json_uniqueness UNIQUE (server_name, key_id, from_server);
 
@@ -1846,15 +1806,15 @@ CREATE INDEX presence_stream_user_id ON presence_stream USING btree (user_id);
 
 
 
-CREATE INDEX room_index ON rooms USING btree (is_;
+CREATE INDEX public_room_index ON rooms USING btree (is_public);
 
 
 
-CREATE INDEX room_list_stream_idx ON room_list_stream USING btree (stream_id);
+CREATE INDEX public_room_list_stream_idx ON public_room_list_stream USING btree (stream_id);
 
 
 
-CREATE INDEX room_list_stream_rm_idx ON room_list_stream USING btree (room_id, stream_id);
+CREATE INDEX public_room_list_stream_rm_idx ON public_room_list_stream USING btree (room_id, stream_id);
 
 
 
@@ -2022,7 +1982,7 @@ CREATE INDEX user_threepids_user_id ON user_threepids USING btree (user_id);
 
 
 
-CREATE UNIQUE INDEX users_in_rooms_u_idx ON users_in_rooms USING btree (user_id, room_id);
+CREATE UNIQUE INDEX users_in_public_rooms_u_idx ON users_in_public_rooms USING btree (user_id, room_id);
 
 
 
diff --git a/synapse/storage/schema/full_schemas/54/full.sql.sqlite b/synapse/storage/schema/full_schemas/54/full.sql.sqlite
index 0b60a6c789..be9295e4c9 100644
--- a/synapse/storage/schema/full_schemas/54/full.sql.sqlite
+++ b/synapse/storage/schema/full_schemas/54/full.sql.sqlite
@@ -255,7 +255,6 @@ CREATE INDEX user_ips_last_seen_only ON user_ips (last_seen);
 CREATE INDEX users_creation_ts ON users (creation_ts);
 CREATE INDEX event_to_state_groups_sg_index ON event_to_state_groups (state_group);
 CREATE UNIQUE INDEX device_lists_remote_cache_unique_id ON device_lists_remote_cache (user_id, device_id);
-CREATE TABLE sqlite_stat1(tbl,idx,stat);
 CREATE INDEX state_groups_state_type_idx ON state_groups_state(state_group, type, state_key);
 CREATE UNIQUE INDEX device_lists_remote_extremeties_unique_idx ON device_lists_remote_extremeties (user_id);
 CREATE UNIQUE INDEX user_ips_user_token_ip_unique_index ON user_ips (user_id, access_token, ip);
diff --git a/synapse/storage/schema/full_schemas/README.txt b/synapse/storage/schema/full_schemas/README.txt
index 12d4eb0746..df49f9b39e 100644
--- a/synapse/storage/schema/full_schemas/README.txt
+++ b/synapse/storage/schema/full_schemas/README.txt
@@ -4,11 +4,11 @@ Building full schema dumps
 Postgres
 --------
 
-$ pg_dump --format=plain --schema-only --no-tablespaces --no-acl --no-owner $DATABASE_NAME| sed -e '/^--/d' -e 's/public.//g' -e '/^SET /d' -e '/^SELECT /d' > full.sql.postgres
+$ pg_dump --format=plain --schema-only --no-tablespaces --no-acl --no-owner $DATABASE_NAME| sed -e '/^--/d' -e 's/public\.//g' -e '/^SET /d' -e '/^SELECT /d' > full.sql.postgres
 
 SQLite
 ------
 
 $ sqlite3 $DATABASE_FILE ".schema" > full.sql.sqlite
 
-Delete the CREATE statements for "schema_version", "applied_schema_deltas", and "applied_module_schemas".
\ No newline at end of file
+Delete the CREATE statements for "sqlite_stat1", "schema_version", "applied_schema_deltas", and "applied_module_schemas".
\ No newline at end of file
diff --git a/tests/handlers/test_user_directory.py b/tests/handlers/test_user_directory.py
index 9021e647fe..b919694f54 100644
--- a/tests/handlers/test_user_directory.py
+++ b/tests/handlers/test_user_directory.py
@@ -96,6 +96,7 @@ class UserDirectoryTestCase(unittest.HomeserverTestCase):
         self.get_success(self.handler.handle_user_deactivated(r_user_id))
         self.store.remove_from_user_dir.called_once_with(r_user_id)
 
+    @unittest.DEBUG
     def test_private_room(self):
         """
         A user can be searched for only by people that are either in a public
@@ -340,6 +341,7 @@ class TestUserDirSearchDisabled(unittest.HomeserverTestCase):
 
         return hs
 
+    @unittest.DEBUG
     def test_disabling_room_list(self):
         self.config.user_directory_search_enabled = True