BEGIN; CREATE OR REPLACE FUNCTION public.mcp_ordinary_retirement_claim_immutable() RETURNS trigger LANGUAGE plpgsql SET TimeZone='UTC' SET search_path=pg_catalog,public AS $$ BEGIN IF TG_OP='INSERT' AND NEW.claim_xid=pg_current_xact_id() AND EXISTS( SELECT 1 FROM public.mcp_operations o JOIN public.mcp_plans p ON p.id=o.plan_id AND p.connection_id=o.connection_id WHERE o.id=NEW.operation_id AND o.plan_id=NEW.plan_id AND o.connection_id=NEW.connection_id AND o.state='applied' AND o.verification='passed' AND o.error_code IS NULL AND isfinite(o.finished_at) AND o.finished_at