Compare commits

...

3 commits

Author SHA1 Message Date
dc34328f15 Merge pull request 'Fix elixir 1.17 and migration lock warnings' (#810) from Oneric/akkoma:ex1.17-warnings into develop
Some checks are pending
ci/woodpecker/push/build-amd64 Pipeline is pending
ci/woodpecker/push/build-arm64 Pipeline is pending
ci/woodpecker/push/docs Pipeline is pending
ci/woodpecker/push/lint Pipeline is pending
ci/woodpecker/push/test Pipeline is pending
Reviewed-on: #810
2024-06-23 02:18:41 +00:00
1a4238bf98 cosmetic: fix concurrent index creation warnings
All checks were successful
ci/woodpecker/pr/lint Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/build-amd64 Pipeline was successful
ci/woodpecker/pr/build-arm64 Pipeline was successful
ci/woodpecker/pr/docs Pipeline was successful
Since those old migrations will now most likely only run during db init,
there’s not much point in running them in the background concurrently
anyway, so just drop the cncurrent setting rather than disabling
migration locks.
2024-06-19 02:25:23 +02:00
c3069b9478 cosmetic: fix elixir 1.17 compiler warnings in main application 2024-06-19 01:49:59 +02:00
22 changed files with 22 additions and 66 deletions

View file

@ -233,7 +233,7 @@ def config_descriptions(policies) do
if function_exported?(policy, :config_description, 0) do
description =
@default_description
|> Map.merge(policy.config_description)
|> Map.merge(policy.config_description())
|> Map.put(:group, :pleroma)
|> Map.put(:tab, :mrf)
|> Map.put(:type, :group)

View file

@ -9,13 +9,13 @@
xmlns:ostatus="http://ostatus.org/schema/1.0"
xmlns:statusnet="http://status.net/schema/api/1/">
<id><%= '#{url(~p"/tags/#{@tag}")}.rss' %></id>
<id><%= "#{url(~p"/tags/#{@tag}")}.rss" %></id>
<title>#<%= @tag %></title>
<subtitle><%= Gettext.dpgettext("static_pages", "tag feed description", "These are public toots tagged with #%{tag}. You can interact with them if you have an account anywhere in the fediverse.", tag: @tag) %></subtitle>
<logo><%= feed_logo() %></logo>
<updated><%= most_recent_update(@activities) %></updated>
<link rel="self" href="<%= '#{url(~p"/tags/#{@tag}")}.atom' %>" type="application/atom+xml"/>
<link rel="self" href="<%= "#{url(~p"/tags/#{@tag}")}.atom" %>" type="application/atom+xml"/>
<%= for activity <- @activities do %>
<%= render @view_module, "_tag_activity.atom", Map.merge(assigns, prepare_activity(activity, actor: true)) %>
<% end %>

View file

@ -5,7 +5,7 @@
<title>#<%= @tag %></title>
<description><%= Gettext.dpgettext("static_pages", "tag feed description", "These are public toots tagged with #%{tag}. You can interact with them if you have an account anywhere in the fediverse.", tag: @tag) %></description>
<link><%= '#{url(~p"/tags/#{@tag}")}.rss' %></link>
<link><%= "#{url(~p"/tags/#{@tag}")}.rss" %></link>
<webfeeds:logo><%= feed_logo() %></webfeeds:logo>
<webfeeds:accentColor>2b90d9</webfeeds:accentColor>
<%= for activity <- @activities do %>

View file

@ -10,12 +10,12 @@
<title><%= @user.nickname <> "'s timeline" %></title>
<updated><%= most_recent_update(@activities, @user) %></updated>
<logo><%= logo(@user) %></logo>
<link rel="self" href="<%= '#{url(~p"/users/#{@user.nickname}/feed")}.atom' %>" type="application/atom+xml"/>
<link rel="self" href="<%= "#{url(~p"/users/#{@user.nickname}/feed")}.atom" %>" type="application/atom+xml"/>
<%= render @view_module, "_author.atom", assigns %>
<%= if last_activity(@activities) do %>
<link rel="next" href="<%= '#{url(~p"/users/#{@user.nickname}/feed")}.atom?max_id=#{last_activity(@activities).id}' %>" type="application/atom+xml"/>
<link rel="next" href="<%= "#{url(~p"/users/#{@user.nickname}/feed")}.atom?max_id=#{last_activity(@activities).id}" %>" type="application/atom+xml"/>
<% end %>
<%= for activity <- @activities do %>

View file

@ -5,12 +5,12 @@
<title><%= @user.nickname <> "'s timeline" %></title>
<updated><%= most_recent_update(@activities, @user) %></updated>
<image><%= logo(@user) %></image>
<link><%= '#{url(~p"/users/#{@user.nickname}/feed")}.rss' %></link>
<link><%= "#{url(~p"/users/#{@user.nickname}/feed")}.rss" %></link>
<%= render @view_module, "_author.rss", assigns %>
<%= if last_activity(@activities) do %>
<link rel="next"><%= '#{url(~p"/users/#{@user.nickname}/feed")}.rss?max_id=#{last_activity(@activities).id}' %></link>
<link rel="next"><%= "#{url(~p"/users/#{@user.nickname}/feed")}.rss?max_id=#{last_activity(@activities).id}" %></link>
<% end %>
<%= for activity <- @activities do %>

View file

@ -1,12 +1,10 @@
defmodule Pleroma.Repo.Migrations.AddContextIndex do
use Ecto.Migration
@disable_ddl_transaction true
def change do
create(
index(:activities, ["(data->>'type')", "(data->>'context')"],
name: :activities_context_index,
concurrently: true
name: :activities_context_index
)
)
end

View file

@ -1,11 +1,9 @@
defmodule Pleroma.Repo.Migrations.AddFTSIndexToActivities do
use Ecto.Migration
@disable_ddl_transaction true
def change do
create(
index(:activities, ["(to_tsvector('english', data->'object'->>'content'))"],
concurrently: true,
using: :gin,
name: :activities_fts
)

View file

@ -1,12 +1,9 @@
defmodule Pleroma.Repo.Migrations.AddTagIndex do
use Ecto.Migration
@disable_ddl_transaction true
def change do
create(
index(:activities, ["(data #> '{\"object\",\"tag\"}')"],
concurrently: true,
using: :gin,
name: :activities_tags
)

View file

@ -1,8 +1,6 @@
defmodule Pleroma.Repo.Migrations.AddSecondObjectIndexToActivty do
use Ecto.Migration
@disable_ddl_transaction true
def change do
drop_if_exists(
index(:activities, ["(data->'object'->>'id')", "(data->>'type')"],
@ -12,8 +10,7 @@ def change do
create(
index(:activities, ["(coalesce(data->'object'->>'id', data->>'object'))"],
name: :activities_create_objects_index,
concurrently: true
name: :activities_create_objects_index
)
)
end

View file

@ -1,14 +1,7 @@
defmodule Pleroma.Repo.Migrations.AddObjectActorIndex do
use Ecto.Migration
@disable_ddl_transaction true
def change do
create(
index(:objects, ["(data->>'actor')", "(data->>'type')"],
concurrently: true,
name: :objects_actor_type
)
)
create(index(:objects, ["(data->>'actor')", "(data->>'type')"], name: :objects_actor_type))
end
end

View file

@ -1,14 +1,12 @@
defmodule Pleroma.Repo.Migrations.AddActorToActivity do
use Ecto.Migration
@disable_ddl_transaction true
def up do
alter table(:activities) do
add(:actor, :string)
end
create(index(:activities, [:actor, "id DESC NULLS LAST"], concurrently: true))
create(index(:activities, [:actor, "id DESC NULLS LAST"]))
end
def down do

View file

@ -1,8 +1,7 @@
defmodule Pleroma.Repo.Migrations.AddSortIndexToActivities do
use Ecto.Migration
@disable_ddl_transaction true
def change do
create(index(:activities, ["id desc nulls last"], concurrently: true))
create(index(:activities, ["id desc nulls last"]))
end
end

View file

@ -1,9 +1,8 @@
defmodule Pleroma.Repo.Migrations.AddFollowerAddressIndexToUsers do
use Ecto.Migration
@disable_ddl_transaction true
def change do
create(index(:users, [:follower_address], concurrently: true))
create(index(:users, [:following], concurrently: true, using: :gin))
create(index(:users, [:follower_address]))
create(index(:users, [:following], using: :gin))
end
end

View file

@ -1,9 +1,8 @@
defmodule Pleroma.Repo.Migrations.ModifyActivityIndex do
use Ecto.Migration
@disable_ddl_transaction true
def change do
create(index(:activities, ["id desc nulls last", "local"], concurrently: true))
create(index(:activities, ["id desc nulls last", "local"]))
drop_if_exists(index(:activities, ["id desc nulls last"]))
end
end

View file

@ -1,13 +1,7 @@
defmodule Pleroma.Repo.Migrations.CreateApidHostExtractionIndex do
use Ecto.Migration
@disable_ddl_transaction true
def change do
create(
index(:activities, ["(split_part(actor, '/', 3))"],
concurrently: true,
name: :activities_hosts
)
)
create(index(:activities, ["(split_part(actor, '/', 3))"], name: :activities_hosts))
end
end

View file

@ -1,13 +1,7 @@
defmodule Pleroma.Repo.Migrations.CreateActivitiesInReplyToIndex do
use Ecto.Migration
@disable_ddl_transaction true
def change do
create(
index(:activities, ["(data->'object'->>'inReplyTo')"],
concurrently: true,
name: :activities_in_reply_to
)
)
create(index(:activities, ["(data->'object'->>'inReplyTo')"], name: :activities_in_reply_to))
end
end

View file

@ -1,6 +1,5 @@
defmodule Pleroma.Repo.Migrations.AddVisibilityFunction do
use Ecto.Migration
@disable_ddl_transaction true
def up do
definition = """
@ -30,8 +29,7 @@ def up do
create(
index(:activities, ["activity_visibility(actor, recipients, data)"],
name: :activities_visibility_index,
concurrently: true
name: :activities_visibility_index
)
)
end

View file

@ -1,11 +1,9 @@
defmodule Pleroma.Repo.Migrations.AddActivitiesLikesIndex do
use Ecto.Migration
@disable_ddl_transaction true
def change do
create(
index(:activities, ["((data #> '{\"object\",\"likes\"}'))"],
concurrently: true,
name: :activities_likes,
using: :gin
)

View file

@ -1,6 +1,5 @@
defmodule Pleroma.Repo.Migrations.AddCorrectDMIndex do
use Ecto.Migration
@disable_ddl_transaction true
def up do
drop_if_exists(
@ -12,7 +11,6 @@ def up do
create(
index(:activities, ["activity_visibility(actor, recipients, data)", "id DESC NULLS LAST"],
name: :activities_visibility_index,
concurrently: true,
where: "data->>'type' = 'Create'"
)
)
@ -22,7 +20,6 @@ def down do
drop_if_exists(
index(:activities, ["activity_visibility(actor, recipients, data)", "id DESC"],
name: :activities_visibility_index,
concurrently: true,
where: "data->>'type' = 'Create'"
)
)

View file

@ -1,13 +1,11 @@
defmodule Pleroma.Repo.Migrations.AddIndexOnSubscribers do
use Ecto.Migration
@disable_ddl_transaction true
def change do
create(
index(:users, ["(info->'subscribers')"],
name: :users_subscribers_index,
using: :gin,
concurrently: true
using: :gin
)
)
end

View file

@ -1,8 +1,7 @@
defmodule Pleroma.Repo.Migrations.AddFollowingAddressIndexToUser do
use Ecto.Migration
@disable_ddl_transaction true
def change do
create(index(:users, [:following_address], concurrently: true))
create(index(:users, [:following_address]))
end
end

View file

@ -100,7 +100,7 @@ def update_follower_count(%{id: user_id} = user) do
"users"
|> where(id: ^user_id)
|> join(:inner, [u], s in subquery(follower_count_query))
|> join(:inner, [u], s in subquery(follower_count_query), on: true)
|> update([u, s],
set: [follower_count: s.count]
)