使い方
- •scope 例:
REQ,REQ-001.TSK,REQ-001.TSK-001.SUB - •1 Tx 内で
SELECT ... FOR UPDATE→UPDATE last=last+1 - •失敗(ユニーク違反)が発生した場合はバックオフしてリトライ
手順(擬似)
- •BEGIN
- •
SELECT last FROM counters WHERE scope=:scope FOR UPDATE - •
UPDATE counters SET last=last+1 WHERE scope=:scope - •COMMIT
- •
hier_id = f"{scope}-{last:03}"を生成
例
- •
examples/id_alloc.sql