slow version
This commit is contained in:
parent
108c6ec62f
commit
91e9b2ed8e
2 changed files with 19 additions and 19 deletions
|
@ -255,13 +255,13 @@ SELECT
|
|||
c.id,
|
||||
c.call_date,
|
||||
c.duration,
|
||||
tgs.system_id,
|
||||
tgs.tgid,
|
||||
sys.name system_name,
|
||||
tgs.name tg_name
|
||||
c.system,
|
||||
c.talkgroup,
|
||||
COUNT(ic.incident_id) incidents
|
||||
FROM calls c
|
||||
JOIN talkgroups tgs ON c.talkgroup = tgs.tgid AND c.system = tgs.system_id
|
||||
JOIN systems sys ON sys.id = tgs.system_id
|
||||
LEFT JOIN incidents_calls ic ON c.id = ic.calls_tbl_id AND c.call_date = ic.call_date
|
||||
WHERE
|
||||
CASE WHEN $1::TIMESTAMPTZ IS NOT NULL THEN
|
||||
c.call_date >= $1 ELSE TRUE END AND
|
||||
|
@ -279,6 +279,7 @@ CASE WHEN $4::TEXT[] IS NOT NULL THEN
|
|||
(CASE WHEN $6::NUMERIC IS NOT NULL THEN (
|
||||
c.duration > $6
|
||||
) ELSE TRUE END)
|
||||
GROUP BY c.id, c.call_date
|
||||
ORDER BY
|
||||
CASE WHEN $7::TEXT = 'asc' THEN c.call_date END ASC,
|
||||
CASE WHEN $7 = 'desc' THEN c.call_date END DESC
|
||||
|
@ -299,13 +300,12 @@ type ListCallsPParams struct {
|
|||
}
|
||||
|
||||
type ListCallsPRow struct {
|
||||
ID uuid.UUID `json:"id"`
|
||||
CallDate pgtype.Timestamptz `json:"call_date"`
|
||||
Duration *int32 `json:"duration"`
|
||||
SystemID int32 `json:"system_id"`
|
||||
TGID int32 `json:"tgid"`
|
||||
SystemName string `json:"system_name"`
|
||||
TGName *string `json:"tg_name"`
|
||||
ID uuid.UUID `json:"id"`
|
||||
CallDate pgtype.Timestamptz `json:"call_date"`
|
||||
Duration *int32 `json:"duration"`
|
||||
System int `json:"system"`
|
||||
Talkgroup int `json:"talkgroup"`
|
||||
Incidents int64 `json:"incidents"`
|
||||
}
|
||||
|
||||
func (q *Queries) ListCallsP(ctx context.Context, arg ListCallsPParams) ([]ListCallsPRow, error) {
|
||||
|
@ -331,10 +331,9 @@ func (q *Queries) ListCallsP(ctx context.Context, arg ListCallsPParams) ([]ListC
|
|||
&i.ID,
|
||||
&i.CallDate,
|
||||
&i.Duration,
|
||||
&i.SystemID,
|
||||
&i.TGID,
|
||||
&i.SystemName,
|
||||
&i.TGName,
|
||||
&i.System,
|
||||
&i.Talkgroup,
|
||||
&i.Incidents,
|
||||
); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
|
@ -101,13 +101,13 @@ SELECT
|
|||
c.id,
|
||||
c.call_date,
|
||||
c.duration,
|
||||
tgs.system_id,
|
||||
tgs.tgid,
|
||||
sys.name system_name,
|
||||
tgs.name tg_name
|
||||
c.system,
|
||||
c.talkgroup,
|
||||
COUNT(ic.incident_id) incidents
|
||||
FROM calls c
|
||||
JOIN talkgroups tgs ON c.talkgroup = tgs.tgid AND c.system = tgs.system_id
|
||||
JOIN systems sys ON sys.id = tgs.system_id
|
||||
LEFT JOIN incidents_calls ic ON c.id = ic.calls_tbl_id AND c.call_date = ic.call_date
|
||||
WHERE
|
||||
CASE WHEN sqlc.narg('start')::TIMESTAMPTZ IS NOT NULL THEN
|
||||
c.call_date >= @start ELSE TRUE END AND
|
||||
|
@ -125,6 +125,7 @@ CASE WHEN sqlc.narg('tags_not')::TEXT[] IS NOT NULL THEN
|
|||
(CASE WHEN sqlc.narg('longer_than')::NUMERIC IS NOT NULL THEN (
|
||||
c.duration > @longer_than
|
||||
) ELSE TRUE END)
|
||||
GROUP BY c.id, c.call_date
|
||||
ORDER BY
|
||||
CASE WHEN @direction::TEXT = 'asc' THEN c.call_date END ASC,
|
||||
CASE WHEN @direction = 'desc' THEN c.call_date END DESC
|
||||
|
|
Loading…
Reference in a new issue