15 lines
852 B
PL/PgSQL
15 lines
852 B
PL/PgSQL
-- Durable stop requests for opt-in diagnostics, not configuration rollback.
|
|
BEGIN;
|
|
CREATE TABLE mcp_diagnostic_cancellations (
|
|
operation_id uuid PRIMARY KEY REFERENCES mcp_operations(id),
|
|
connection_id uuid NOT NULL REFERENCES mcp_connections(id),
|
|
actor_id text NOT NULL CHECK (length(actor_id) BETWEEN 1 AND 200),
|
|
created_at timestamptz NOT NULL DEFAULT clock_timestamp()
|
|
);
|
|
CREATE FUNCTION mcp_diagnostic_cancellation_immutable() RETURNS trigger LANGUAGE plpgsql AS $$
|
|
BEGIN RAISE EXCEPTION 'diagnostic cancellation request is immutable'; END $$;
|
|
CREATE TRIGGER mcp_diagnostic_cancellation_immutable BEFORE UPDATE OR DELETE ON mcp_diagnostic_cancellations
|
|
FOR EACH ROW EXECUTE FUNCTION mcp_diagnostic_cancellation_immutable();
|
|
INSERT INTO schema_migrations(id) VALUES ('0036_diagnostic_cancellations') ON CONFLICT (id) DO NOTHING;
|
|
COMMIT;
|