diff options
author | lain <lain@soykaf.club> | 2023-06-11 19:48:23 +0000 |
---|---|---|
committer | lain <lain@soykaf.club> | 2023-06-11 19:48:23 +0000 |
commit | fdb5bec431ad815263bae542324257a8ca29d81e (patch) | |
tree | cf731d955b25833023d0b674c6bdd46ee89c0db4 | |
parent | d65a8bcd2d74f5a87c889e754b6918747bb889fc (diff) | |
parent | 22878cf84afd3f8b844c66e99f37022318c4c55e (diff) | |
download | pleroma-fdb5bec431ad815263bae542324257a8ca29d81e.tar.gz pleroma-fdb5bec431ad815263bae542324257a8ca29d81e.zip |
Merge branch 'unused_indexes' into 'develop'
Remove unused indexes
See merge request pleroma/pleroma!3874
-rw-r--r-- | changelog.d/3874.remove | 1 | ||||
-rw-r--r-- | priv/repo/migrations/20230422154018_drop_unused_indexes.exs | 73 |
2 files changed, 74 insertions, 0 deletions
diff --git a/changelog.d/3874.remove b/changelog.d/3874.remove new file mode 100644 index 000000000..a81f744bf --- /dev/null +++ b/changelog.d/3874.remove @@ -0,0 +1 @@ +Remove a few unused indexes. diff --git a/priv/repo/migrations/20230422154018_drop_unused_indexes.exs b/priv/repo/migrations/20230422154018_drop_unused_indexes.exs new file mode 100644 index 000000000..0d877a798 --- /dev/null +++ b/priv/repo/migrations/20230422154018_drop_unused_indexes.exs @@ -0,0 +1,73 @@ +defmodule Pleroma.Repo.Migrations.DropUnusedIndexes do + use Ecto.Migration + + @disable_ddl_transaction true + @disable_migration_lock true + + def up do + drop_if_exists( + index(:activities, ["(data->>'actor')", "inserted_at desc"], name: :activities_actor_index) + ) + + drop_if_exists(index(:activities, ["(data->'to')"], name: :activities_to_index)) + + drop_if_exists(index(:activities, ["(data->'cc')"], name: :activities_cc_index)) + + drop_if_exists(index(:activities, ["(split_part(actor, '/', 3))"], name: :activities_hosts)) + + drop_if_exists( + index(:activities, ["(data->'object'->>'inReplyTo')"], name: :activities_in_reply_to) + ) + + drop_if_exists( + index(:activities, ["((data #> '{\"object\",\"likes\"}'))"], name: :activities_likes) + ) + end + + def down do + create_if_not_exists( + index(:activities, ["(data->>'actor')", "inserted_at desc"], + name: :activities_actor_index, + concurrently: true + ) + ) + + create_if_not_exists( + index(:activities, ["(data->'to')"], + name: :activities_to_index, + using: :gin, + concurrently: true + ) + ) + + create_if_not_exists( + index(:activities, ["(data->'cc')"], + name: :activities_cc_index, + using: :gin, + concurrently: true + ) + ) + + create_if_not_exists( + index(:activities, ["(split_part(actor, '/', 3))"], + name: :activities_hosts, + concurrently: true + ) + ) + + create_if_not_exists( + index(:activities, ["(data->'object'->>'inReplyTo')"], + name: :activities_in_reply_to, + concurrently: true + ) + ) + + create_if_not_exists( + index(:activities, ["((data #> '{\"object\",\"likes\"}'))"], + name: :activities_likes, + using: :gin, + concurrently: true + ) + ) + end +end |