Back to list
small-java-world

idcounters

by small-java-world

0🍴 0📅 Oct 26, 2025

SKILL.md


name: 階層IDの競合安全な採番(counters 方式) description: > REQ/TSK/SUB の三階層IDを同時作成でも重複させないため、counters(scope,last) を トランザクションでインクリメントして採番する手法。ユニーク違反時は指数バックオフでリトライする。

使い方

  • scope 例: REQ, REQ-001.TSK, REQ-001.TSK-001.SUB
  • 1 Tx 内で SELECT ... FOR UPDATEUPDATE last=last+1
  • 失敗(ユニーク違反)が発生した場合はバックオフしてリトライ

手順(擬似)

  1. BEGIN
  2. SELECT last FROM counters WHERE scope=:scope FOR UPDATE
  3. UPDATE counters SET last=last+1 WHERE scope=:scope
  4. COMMIT
  5. hier_id = f"{scope}-{last:03}" を生成

  • examples/id_alloc.sql

Score

Total Score

45/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon