projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use more efficient queries.
[akkoma]
/
lib
/
pleroma
/
activity.ex
diff --git
a/lib/pleroma/activity.ex
b/lib/pleroma/activity.ex
index d77c8899749a7dd16e568829e3a77340392afa31..40e14005b07d4d50ed64ea112c041924058af4a4 100644
(file)
--- a/
lib/pleroma/activity.ex
+++ b/
lib/pleroma/activity.ex
@@
-12,16
+12,17
@@
defmodule Pleroma.Activity do
def get_by_ap_id(ap_id) do
Repo.one(from activity in Activity,
def get_by_ap_id(ap_id) do
Repo.one(from activity in Activity,
- where: fragment("
? @> ?", activity.data, ^%{id: ap_id}
))
+ where: fragment("
(?)->>'id' = ?", activity.data, ^to_string(ap_id)
))
end
def all_by_object_ap_id(ap_id) do
Repo.all(from activity in Activity,
end
def all_by_object_ap_id(ap_id) do
Repo.all(from activity in Activity,
- where: fragment("
? @> ?", activity.data, ^%{object: %{id: ap_id}}
))
+ where: fragment("
(?)->'object'->>'id' = ?", activity.data, ^to_string(ap_id)
))
end
def get_create_activity_by_object_ap_id(ap_id) do
Repo.one(from activity in Activity,
end
def get_create_activity_by_object_ap_id(ap_id) do
Repo.one(from activity in Activity,
- where: fragment("? @> ?", activity.data, ^%{type: "Create", object: %{id: ap_id}}))
+ where: fragment("(?)->'object'->>'id' = ?", activity.data, ^to_string(ap_id))
+ and fragment("(?)->>'type' = 'Create'", activity.data))
end
end
end
end