VEU.WathBody/2-db/src/functions/program_get.psql

28 lines
1.1 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- src.program_get: одна строка программы атлета (+ активная версия).
-- На основе: новая.
-- Параметры: p_athlete_id; p_program_id.
-- Возвращает: TABLE — строка program + денормализация; чужая — пустая таблица.
-- прежняя сигнатура (без external_id) снимается — row type меняется
DROP FUNCTION IF EXISTS src.program_get(int, int);
CREATE OR REPLACE FUNCTION src.program_get(
p_athlete_id int,
p_program_id int
)
RETURNS TABLE (
id int,
athlete_id int,
title text,
created_at timestamptz,
active_version_id uuid,
active_version int
) LANGUAGE sql AS $$
SELECT p.id, p.athlete_id, p.title, p.created_at,
v.id AS active_version_id, v.version AS active_version
FROM src.program p
LEFT JOIN src.program_version v
ON v.program_id = p.id AND v.status = 'active'
WHERE p.athlete_id = p_athlete_id AND p.id = p_program_id;
$$;