Skip to content

Commit

Permalink
Merge pull request mojotech#64 from tsg-global/master
Browse files Browse the repository at this point in the history
Introduce a happy path for queries that don't need subquery.
  • Loading branch information
drewolson authored Nov 8, 2018
2 parents a89f203 + 17200cd commit b724702
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions lib/scrivener/paginater/ecto/query.ex
Original file line number Diff line number Diff line change
Expand Up @@ -42,14 +42,13 @@ defimpl Scrivener.Paginater, for: Ecto.Query do
query
|> exclude(:preload)
|> exclude(:order_by)
|> prepare_select
|> count
|> aggregate()
|> repo.one(caller: caller)

total_entries || 0
end

defp prepare_select(
defp aggregate(
%{
group_bys: [
%Ecto.Query.QueryExpr{
Expand All @@ -64,11 +63,13 @@ defimpl Scrivener.Paginater, for: Ecto.Query do
query
|> exclude(:select)
|> select([{x, source_index}], struct(x, ^[field]))
|> count()
end

defp prepare_select(query) do
defp aggregate(query) do
query
|> exclude(:select)
|> select(count("*"))
end

defp count(query) do
Expand Down

0 comments on commit b724702

Please sign in to comment.