fix(mcp): обновить проверенный снимок маршрутизации и хранения операций
This commit is contained in:
1 parent
f1af1a85e5
commit
5ce56b5168
117 files changed
+9960
-182
No files matched your search
@@ -0,0 +1,22 @@
|
||||
BEGIN;
|
||||
CREATE TABLE public.server_probe_retired_sources (
|
||||
receipt_id uuid PRIMARY KEY REFERENCES public.server_probe_storage_admissions(receipt_id),
|
||||
operation_id uuid NOT NULL UNIQUE REFERENCES public.mcp_operation_replay_tombstones(operation_id),
|
||||
source jsonb NOT NULL CHECK(jsonb_typeof(source)='object' AND octet_length(source::text) BETWEEN 1 AND 8192),
|
||||
proof text NOT NULL CHECK(proof ~ '^[0-9a-f]{64}$'),
|
||||
CHECK((source->>'version') IS NOT DISTINCT FROM '1'
|
||||
AND (source->>'receiptId') IS NOT DISTINCT FROM receipt_id::text
|
||||
AND (source->>'executionId') IS NOT DISTINCT FROM operation_id::text)
|
||||
);
|
||||
CREATE FUNCTION public.server_probe_retired_source_immutable() RETURNS trigger
|
||||
LANGUAGE plpgsql SET search_path=pg_catalog,public AS $$
|
||||
BEGIN
|
||||
RAISE EXCEPTION 'retired diagnostic source is immutable';
|
||||
END $$;
|
||||
CREATE TRIGGER server_probe_retired_source_immutable
|
||||
BEFORE UPDATE OR DELETE ON public.server_probe_retired_sources
|
||||
FOR EACH ROW EXECUTE FUNCTION public.server_probe_retired_source_immutable();
|
||||
CREATE TRIGGER server_probe_retired_source_no_truncate BEFORE TRUNCATE ON public.server_probe_retired_sources
|
||||
FOR EACH STATEMENT EXECUTE FUNCTION public.server_probe_retired_source_immutable();
|
||||
INSERT INTO public.schema_migrations(id) VALUES ('0050_server_probe_retired_sources') ON CONFLICT(id) DO NOTHING;
|
||||
COMMIT;
|
||||
Reference in new issue
Block a user