fix info/neighbor page loading

This commit is contained in:
Graham McIntire 2025-07-10 14:43:00 -05:00
parent aaf92d9045
commit 38f240b3eb
No known key found for this signature in database
4 changed files with 7 additions and 3 deletions

1
.gitignore vendored
View file

@ -42,3 +42,4 @@ k8s/secrets.yaml
/vendor
/temp
server.log

View file

@ -17,7 +17,7 @@ config :aprsme, Aprsme.Repo,
pool_size: 10,
pool_timeout: 5000,
timeout: 15_000,
log: false,
log: :debug,
types: Aprsme.PostgresTypes
config :aprsme, AprsmeWeb.Endpoint,

View file

@ -38,11 +38,12 @@ defmodule Aprsme.Packets.QueryBuilder do
@doc """
Filters query by exact callsign match (case-insensitive).
Uses the functional index on upper(sender) for performance.
"""
@spec for_callsign(Ecto.Query.t(), String.t()) :: Ecto.Query.t()
def for_callsign(query, callsign) when is_binary(callsign) do
normalized = String.upcase(String.trim(callsign))
from p in query, where: ilike(p.sender, ^normalized)
from p in query, where: fragment("upper(?)", p.sender) == ^normalized
end
@doc """

View file

@ -117,7 +117,9 @@ defmodule AprsmeWeb.PacketsLive.CallsignView do
limit: ^limit
# Apply callsign filter using sender field for exact matching
filtered_query = from p in query, where: ilike(p.sender, ^callsign)
# Use functional index on upper(sender) for performance
normalized_callsign = String.upcase(String.trim(callsign))
filtered_query = from p in query, where: fragment("upper(?)", p.sender) == ^normalized_callsign
filtered_query
|> Repo.all()