logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma
commit: 1cd6194deeca32a96a31fc43c0ed27daadd65f64
parent: 0b5bc62b33a655488afe73b35945adcbab11300d
Author: lain <lain@soykaf.club>
Date:   Thu, 24 May 2018 12:44:26 +0200

More efficient queries.

Diffstat:

Mlib/pleroma/web/activity_pub/utils.ex5+++--
Mtest/support/factory.ex3++-
2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/lib/pleroma/web/activity_pub/utils.ex b/lib/pleroma/web/activity_pub/utils.ex @@ -242,8 +242,9 @@ defmodule Pleroma.Web.ActivityPub.Utils do fragment( "? @> ?", activity.data, - ^%{type: "Follow", actor: follower_id, object: followed_id} + ^%{type: "Follow", object: followed_id} ), + where: activity.actor == ^follower_id, order_by: [desc: :id], limit: 1 ) @@ -260,7 +261,7 @@ defmodule Pleroma.Web.ActivityPub.Utils do query = from( activity in Activity, - where: fragment("(?)->>'actor' = ?", activity.data, ^actor), + where: activity.actor == ^actor, # this is to use the index where: fragment( diff --git a/test/support/factory.ex b/test/support/factory.ex @@ -95,7 +95,8 @@ defmodule Pleroma.Factory do } %Pleroma.Activity{ - data: data + data: data, + actor: follower.ap_id } end