14 lines
1.3 KiB
SQL
14 lines
1.3 KiB
SQL
-- 安全重试保留跨尝试的不确定效果,旧迁移及旧操作摘要保持不变。
|
|
ALTER TABLE pulse_tasks
|
|
ADD COLUMN effect_uncertain BOOLEAN NOT NULL DEFAULT FALSE COMMENT '曾有已授权执行的效果尚未核实,重试与耗尽不清除,仅权威成功或核查可解除',
|
|
ADD CONSTRAINT ck_task_effect_uncertain CHECK (effect_uncertain IN (0,1) AND (effect_uncertain=FALSE OR state NOT IN ('SUCCEEDED','FAILED','CANCELLED')));
|
|
UPDATE pulse_tasks SET effect_uncertain=TRUE WHERE state='NEEDS_REVIEW';
|
|
ALTER TABLE pulse_attempts
|
|
ADD COLUMN retryable BOOLEAN NOT NULL DEFAULT FALSE COMMENT 'Worker 明确失败时声明可安全重试,不用于未知效果或证明实际已安排重试',
|
|
ADD CONSTRAINT ck_attempt_retryable CHECK (retryable IN (0,1) AND (retryable=FALSE OR state='FAILED'));
|
|
ALTER TABLE pulse_attempt_evidence
|
|
ADD COLUMN retryable BOOLEAN NOT NULL DEFAULT FALSE COMMENT '原失败报告的安全重试声明,证据本身不触发重试',
|
|
ADD CONSTRAINT ck_evidence_retryable CHECK (retryable IN (0,1) AND (retryable=FALSE OR outcome='FAILED'));
|
|
ALTER TABLE pulse_attempt_receipts
|
|
ADD KEY ix_result_receipt(namespace_id,attempt_id,operation,request_digest) COMMENT '同一结果换消息身份重报时读取原始已应用回执';
|