From 45e3e88c70800c0b3c9a79983a25deb015fb387c Mon Sep 17 00:00:00 2001 From: Andrei Mihu Date: Fri, 19 Apr 2019 15:36:29 +0100 Subject: [PATCH] Add extra indexes to support user deletes. --- migrate/a_migrate-packr.go | 2 +- migrate/sql/20180103142001_initial_schema.sql | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/migrate/a_migrate-packr.go b/migrate/a_migrate-packr.go index 529d3fb3c..6661320c7 100644 --- a/migrate/a_migrate-packr.go +++ b/migrate/a_migrate-packr.go @@ -7,6 +7,6 @@ import "github.com/gobuffalo/packr" // You can use the "packr clean" command to clean up this, // and any other packr generated files. func init() { - packr.PackJSONBytes("./sql", "20180103142001_initial_schema.sql", "\"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\"") + packr.PackJSONBytes("./sql", "20180103142001_initial_schema.sql", "\"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\"") packr.PackJSONBytes("./sql", "20180805174141-tournaments.sql", "\"H4sIAAAAAAAA/7RVzW7bOBfd6ykuvGncz38JUHwzNaaAYisTobJUWHLazsagqRuLE4lUSaq25+kHlG39pJGbLkbwhtY5h+fee0iN31rwFmYiP0i2TTTcTK5/gyhB8MkTyQjYhU6EVBaUOI9R5ApjKHiMEnSCYOeEJnh+M4AHlIoJDjejCVwZQO/0qtefGomDKCAjB+BCQ6EQdMIUPLIUAfcUcw2MAxVZnjLCKcKO6aTc56QyMhpfTxpiownjQICK/ADisQkEok+mE63z9+PxbrcbkdLsSMjtOD3C1NhzZ44fOsOb0eREWPEUlQKJ3womMYbNAUiep4ySTYqQkh0ICWQrEWPQwhjeSaYZ3w5AiUe9IxKNTMyUlmxT6Fa/zvaYagEEB8KhZ4fghj24tUM3HBiRz250H6wi+Gwvl7YfuU4IwRJmgT93IzfwQwjuwPa/wkfXnw8AmU5QAu5zaSoQEpjpJMZl20LEloVHcbSkcqTskVFICd8WZIuwFd9Rcsa3kKPMmDITVUB4bGRSljFNdPnXD3WZjcaWNRyCH0TOe4jMeDO2lSUBMsILkqYHM+KMaWWapzAnkmgELQlXhB6VtQDkqpBotEqXNMGMQJHHRKMCIhEUfiuQUzMipMSkiQr6JAWhSbyBWKAqY6aKPBdSGyESx6aq2b0z+whUcKUlYVwr+M4I9GwvcpYQ2beeA6PRCOz5HGaBt1r4PVCaaMyQazUqy/vfsSiEVW42qa1bt86frj+1mmIpkhjlRhAZW9CQBUo0boU8QPmEC9vzXD8qF3Pnzl55EUxMJ8Ffed6gzY1RUcnysq8AD/Zydm8vr27evetX3DdvOsnFaSLlc96za2MYDo+TooLHatSWQh6vNcvwyI7chRNG9uJT9Fct9eb69/9PhpPr4eQaJpP35Q9W0azT3t+C8XV1AG+DwHNsv23vzvZCp4ufkf1asX/wQnnXk9NzSYMX2VpRIfGiRrtRGdkDSVOxwxiOXKI1Zrl+3jjNdIqV5i8OsK7uNQN8xtVE6mpmL06Mi91Vv+JPra44ryVS8TzVP3auq2FTaxYsFm40tV57bPwwWtpGkiZIn9bVAToe6atq/eEPmPQHXbQq/idatb5Mq2J1olXrDz9j1e1oUOs/z/wH23PnduR0F3oZda7jMups++eoyuHUsmZLx+Bcf+58AfeunKHzxQ2jsLpN1nWy1udroXK+ZvEeAr851brxg0YoB/WVMnfC2aC6JfuXXYgdR7lm8Rr3OZOH4+7NrLL4BQ+nBMPVmT6ABn8AbYH+64/Cf5GCZzOpDk/zgzQXO97y6N6dO9Q+UPNl8Ol8ZGtMM2gvIxofngugRhJfRpyH3I1ofQW6Yc04dyOqtnXDygu5+/XlPer8Ti2rhFQZ/bV8PkvYi9Ors/aKgqfWvwEAAP//B0qo3OYLAAA=\"") } diff --git a/migrate/sql/20180103142001_initial_schema.sql b/migrate/sql/20180103142001_initial_schema.sql index eeb76d528..0ca8835e3 100644 --- a/migrate/sql/20180103142001_initial_schema.sql +++ b/migrate/sql/20180103142001_initial_schema.sql @@ -70,6 +70,7 @@ CREATE TABLE IF NOT EXISTS user_edge ( UNIQUE (source_id, destination_id) ); +CREATE INDEX IF NOT EXISTS user_edge_auto_index_fk_destination_id_ref_users ON user_edge (destination_id); CREATE TABLE IF NOT EXISTS notification ( -- FIXME: cockroach's analyser is not clever enough when create_time has DESC mode on the index. @@ -102,6 +103,7 @@ CREATE TABLE IF NOT EXISTS storage ( UNIQUE (collection, key, user_id) ); CREATE INDEX IF NOT EXISTS collection_read_user_id_key_idx ON storage (collection, read, user_id, key); +CREATE INDEX IF NOT EXISTS storage_auto_index_fk_user_id_ref_users ON storage (user_id); CREATE TABLE IF NOT EXISTS message ( PRIMARY KEY (stream_mode, stream_subject, stream_descriptor, stream_label, create_time, id), -- GitLab