feat(release): prepare 1.1.0 candidate
This commit is contained in:
parent
5a34f66981
commit
5205dcdfa9
736 changed files with 115667 additions and 12203 deletions
|
|
@ -0,0 +1,50 @@
|
|||
BEGIN;
|
||||
|
||||
-- Workers normally transition queued/running jobs to succeeded, but recovery
|
||||
-- and import paths may insert an already-succeeded job or attach history_id
|
||||
-- after the provider result was committed. Every server-owned completion edge
|
||||
-- must enqueue the same immutable event exactly once.
|
||||
CREATE OR REPLACE FUNCTION public.enqueue_processing_job_push()
|
||||
RETURNS trigger
|
||||
LANGUAGE plpgsql
|
||||
SECURITY DEFINER
|
||||
SET search_path = ''
|
||||
AS $$
|
||||
BEGIN
|
||||
IF NEW.kind <> 'transcription'
|
||||
OR NEW.status <> 'succeeded'
|
||||
OR NEW.history_id IS NULL THEN
|
||||
RETURN NEW;
|
||||
END IF;
|
||||
|
||||
IF TG_OP = 'UPDATE'
|
||||
AND OLD.status IS NOT DISTINCT FROM 'succeeded'
|
||||
AND OLD.history_id IS NOT DISTINCT FROM NEW.history_id THEN
|
||||
RETURN NEW;
|
||||
END IF;
|
||||
|
||||
IF EXISTS (
|
||||
SELECT 1
|
||||
FROM public.history
|
||||
WHERE id = NEW.history_id
|
||||
AND user_id = NEW.user_id
|
||||
AND status = 'completed'
|
||||
) THEN
|
||||
PERFORM public.enqueue_immutable_push_event(
|
||||
'transcription.completed', NEW.history_id
|
||||
);
|
||||
END IF;
|
||||
RETURN NEW;
|
||||
END;
|
||||
$$;
|
||||
|
||||
DROP TRIGGER enqueue_processing_job_push_after_success
|
||||
ON public.processing_jobs;
|
||||
CREATE TRIGGER enqueue_processing_job_push_after_success
|
||||
AFTER INSERT OR UPDATE OF status, history_id ON public.processing_jobs
|
||||
FOR EACH ROW EXECUTE FUNCTION public.enqueue_processing_job_push();
|
||||
|
||||
REVOKE ALL ON FUNCTION public.enqueue_processing_job_push()
|
||||
FROM PUBLIC, anon, authenticated;
|
||||
|
||||
COMMIT;
|
||||
Loading…
Add table
Add a link
Reference in a new issue