Parcourir la source

Make user timelines faster for users with few statuses.

tags/v0.9.9
Roger Braun il y a 7 ans
Parent
révision
5e17e04144
3 fichiers modifiés avec 9 ajouts et 2 suppressions
  1. +1
    -1
      lib/pleroma/web/activity_pub/activity_pub.ex
  2. +1
    -1
      lib/pleroma/web/ostatus/ostatus_controller.ex
  3. +7
    -0
      priv/repo/migrations/20170701142005_add_actor_index_to_activity.exs

+ 1
- 1
lib/pleroma/web/activity_pub/activity_pub.ex Voir le fichier

@@ -112,7 +112,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do

defp restrict_actor(query, %{"actor_id" => actor_id}) do
from activity in query,
where: fragment("? @> ?", activity.data, ^%{actor: actor_id})
where: fragment("?->>'actor' = ?", activity.data, ^actor_id)
end
defp restrict_actor(query, _), do: query



+ 1
- 1
lib/pleroma/web/ostatus/ostatus_controller.ex Voir le fichier

@@ -19,7 +19,7 @@ defmodule Pleroma.Web.OStatus.OStatusController do
def feed(conn, %{"nickname" => nickname}) do
user = User.get_cached_by_nickname(nickname)
query = from activity in Activity,
where: fragment("? @> ?", activity.data, ^%{actor: user.ap_id}),
where: fragment("?->>'actor' = ?", activity.data, ^user.ap_id),
limit: 20,
order_by: [desc: :inserted_at]



+ 7
- 0
priv/repo/migrations/20170701142005_add_actor_index_to_activity.exs Voir le fichier

@@ -0,0 +1,7 @@
defmodule Pleroma.Repo.Migrations.AddActorIndexToActivity do
use Ecto.Migration

def change do
create index(:activities, ["(data->>'actor')", "inserted_at desc"], name: :activities_actor_index)
end
end

Chargement…
Annuler
Enregistrer