mcpField
P
protheus-locks-deadlocks

protheus-locks-deadlocks

github.com/thalysjuvenalデータ・データベース19147 回インストール6 週間前に更新
リポジトリ

protheus-locks-deadlocks について

Protheus のロック問題を診断・予防する開発者向けのスキルです。ハイブリッドなレコードロックモデル、トランザクション範囲の管理方法、データベースエンジン別のライブ診断を説明します。

主な機能

  1. 01Protheus のロックモデルと API の仕様
  2. 02安全なトランザクション範囲のパターン
  3. 03ロック順序と競合の予防
  4. 04ロックとデッドロックのライブ診断
  5. 05データベース別の SQL チェック

活用シーン

  1. 01レコードロックエラーの調査
  2. 02高負荷時の競合の診断
  3. 03レコードロックを使うコードのレビュー
  4. 04ロック順序を考慮したバッチの計画

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/thalysjuvenal/advpl-specialist --skill protheus-locks-deadlocks

インストール後、Claude Code で/protheus-locks-deadlocksを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

diagnostics.md
patterns-prevention.md
reference.md

詳細

Protheus のロックとデッドロック

このスキルでは、基盤となる RDBMS(PostgreSQL、MSSQL、Oracle)上で DBAccess が調整する、Protheus のハイブリッドロックモデル(レコード単位の Workarea ロック(RecLock/MsUnlock))と、本番環境で最もよく発生する問題の一つであるロックリーク、競合、デッドロックの診断および予防方法について説明します。ロック API のセマンティクス(RecLock、MsUnlock/MsUnlockAll、SoftLock、LockByName、TCSqlExec、BeginTran/EndTran/DisarmTransaction)、BEGIN SEQUENCE/RECOVER を使った安全なトランザクションのスコープ設定、データベースエンジンごとのリアルタイム診断手順を扱います。

ユーザーから「ユーザー XYZ によってレコードがロックされています」というエラーについて報告があった場合、同時負荷下でのパフォーマンス低下を調査する必要がある場合、レコードをロックするコードを作成またはレビューしている場合、あるいはロック順序が重要となる大規模データセットのバッチジョブを設計している場合は、このスキルを有効にしてください。Embedded SQL でのクエリ設計や %nolock% の使用方法(query-builder を参照)、ロック以外の一般的なランタイム/パフォーマンスのデバッグ(advpl-debugging を参照)、BeginSQL/EndSQL マクロの構文(embedded-sql を参照)は対象外です。

参照ファイル読むタイミング
reference.md常に — ロックタイプの表、主要なロック/トランザクション API、用途のガイダンス
patterns-prevention.mdレコードをロックするコードの作成またはリファクタリング時 — BEGIN SEQUENCE/RECOVER、SoftLock、トランザクションのスコープ設定、ロック順序のルール
diagnostics.md稼働中のロック競合やデッドロックの調査時 — TopMemoStatus、MonitorActiveLocks、DBAccess モニター、エンジン固有の SQL ロッククエリ

コメント