21 lines
502 B
MySQL
21 lines
502 B
MySQL
|
-- 'NEW' in this context is a segment row.
|
||
|
-- we update this function to also set the vod status to 'recording' if applicable.
|
||
|
|
||
|
CREATE OR REPLACE FUNCTION update_vod_on_segment_update()
|
||
|
RETURNS TRIGGER AS $$
|
||
|
BEGIN
|
||
|
UPDATE api.vods
|
||
|
SET
|
||
|
updated_at = NOW(),
|
||
|
status = CASE
|
||
|
WHEN NEW.filesize > OLD.filesize THEN 'recording'
|
||
|
ELSE status
|
||
|
END
|
||
|
WHERE id IN (
|
||
|
SELECT vod_id
|
||
|
FROM segments_vod_links
|
||
|
WHERE segment_id = NEW.id
|
||
|
);
|
||
|
RETURN NEW;
|
||
|
END;
|
||
|
$$ LANGUAGE plpgsql;
|