More efficient queries.

This commit is contained in:
lain 2018-05-24 12:44:26 +02:00
parent 0b5bc62b33
commit 1cd6194dee
2 changed files with 5 additions and 3 deletions

View file

@ -242,8 +242,9 @@ def fetch_latest_follow(%User{ap_id: follower_id}, %User{ap_id: followed_id}) do
fragment( fragment(
"? @> ?", "? @> ?",
activity.data, activity.data,
^%{type: "Follow", actor: follower_id, object: followed_id} ^%{type: "Follow", object: followed_id}
), ),
where: activity.actor == ^follower_id,
order_by: [desc: :id], order_by: [desc: :id],
limit: 1 limit: 1
) )
@ -260,7 +261,7 @@ def get_existing_announce(actor, %{data: %{"id" => id}}) do
query = query =
from( from(
activity in Activity, activity in Activity,
where: fragment("(?)->>'actor' = ?", activity.data, ^actor), where: activity.actor == ^actor,
# this is to use the index # this is to use the index
where: where:
fragment( fragment(

View file

@ -95,7 +95,8 @@ def follow_activity_factory do
} }
%Pleroma.Activity{ %Pleroma.Activity{
data: data data: data,
actor: follower.ap_id
} }
end end