Files
koc-loop/mysql/0021_reconcile_claimed_quantity.sql

14 lines
610 B
MySQL
Raw Normal View History

-- 校准任务领取计数:0020 物理合并删除了伴生回收任务的分发/领取行、并搬运了
-- 部分回收到父任务分发行,但没有同步父任务 claimed_quantity,任务卡「已领取」
-- 会与实际分发行数漂移。领取(+1)/释放(-1) 路径共同维护的不变式是:
-- content_publish 任务的 claimed_quantity = 当前分发行数,此处按此对账。
UPDATE tasks
SET claimed_quantity = (
SELECT COUNT(*) FROM distributions d
WHERE d.task_id = tasks.id
)
WHERE claimed_quantity <> (
SELECT COUNT(*) FROM distributions d
WHERE d.task_id = tasks.id
);