stillbox/sql/postgres/queries/calls.sql

79 lines
1.6 KiB
MySQL
Raw Normal View History

-- name: AddCall :exec
2024-07-15 22:30:32 -04:00
INSERT INTO calls (
id,
submitter,
system,
talkgroup,
call_date,
audio_name,
audio_blob,
audio_type,
audio_url,
duration,
frequency,
frequencies,
patches,
tg_label,
tg_alpha_tag,
tg_group,
source
) VALUES (
@id,
@submitter,
@system,
@talkgroup,
@call_date,
@audio_name,
@audio_blob,
@audio_type,
@audio_url,
@duration,
@frequency,
@frequencies,
@patches,
@tg_label,
@tg_alpha_tag,
@tg_group,
@source
);
2024-07-16 19:31:30 -04:00
2024-07-17 19:33:09 -04:00
-- name: SetCallTranscript :exec
2024-07-16 19:31:30 -04:00
UPDATE calls SET transcript = $2 WHERE id = $1;
2024-10-20 12:26:32 -04:00
2024-11-01 09:15:39 -04:00
-- name: AddAlert :exec
2024-11-17 21:46:10 -05:00
INSERT INTO alerts (time, tgid, system_id, weight, score, orig_score, notified, metadata)
2024-11-01 09:15:39 -04:00
VALUES
(
sqlc.arg(time),
sqlc.arg(tgid),
sqlc.arg(system_id),
2024-11-01 09:15:39 -04:00
sqlc.arg(weight),
sqlc.arg(score),
2024-11-02 09:41:48 -04:00
sqlc.arg(orig_score),
2024-11-02 14:26:58 -04:00
sqlc.arg(notified),
2024-11-01 09:15:39 -04:00
sqlc.arg(metadata)
);
2024-10-20 13:04:42 -04:00
-- name: GetDatabaseSize :one
SELECT pg_size_pretty(pg_database_size(current_database()));
-- name: SweepCalls :execrows
WITH to_sweep AS (
SELECT id, submitter, system, talkgroup, calls.call_date, audio_name, audio_blob, duration, audio_type,
audio_url, frequency, frequencies, patches, tg_label, tg_alpha_tag, tg_group, source, transcript
FROM calls
JOIN incidents_calls ic ON ic.call_id = calls.id
WHERE calls.call_date >= @range_start AND calls.call_date < @range_end
) INSERT INTO swept_calls SELECT * FROM to_sweep;
-- name: CleanupSweptCalls :execrows
WITH to_sweep AS (
SELECT id FROM calls
JOIN incidents_calls ic ON ic.call_id = calls.id
WHERE calls.call_date >= @range_start AND calls.call_date < @range_end
) UPDATE incidents_calls
SET
swept_call_id = call_id,
calls_tbl_id = NULL
WHERE call_id IN (SELECT id FROM to_sweep);