Leon4gr45's picture
Upload folder using huggingface_hub (part 2)
8da2481 verified
Raw
History Blame Contribute Delete
1.1 kB
defmodule Plausible.Stats.Base do
use Plausible
alias Plausible.Stats.{TableDecider, SQL}
import Ecto.Query
def base_event_query(query) do
events_q = query_events(query)
if TableDecider.events_join_sessions?(query) do
sessions_q =
from(
s in query_sessions(query),
select: %{session_id: s.session_id},
where: s.sign == 1,
group_by: s.session_id
)
from(
e in events_q,
join: sq in subquery(sessions_q),
on: e.session_id == sq.session_id
)
else
events_q
end
end
defp query_events(query) do
q =
from(e in "events_v2",
where: ^SQL.WhereBuilder.build(:events, query),
where: ^SQL.WhereBuilder.derived_name_filter(query)
)
on_ee do
q = Plausible.Stats.Sampling.add_query_hint(q, query)
end
q
end
def query_sessions(query) do
q = from(s in "sessions_v2", where: ^SQL.WhereBuilder.build(:sessions, query))
on_ee do
q = Plausible.Stats.Sampling.add_query_hint(q, query)
end
q
end
end