自動的にリトライする

データ管理 > エラー処理 > エラーハンドラの作成 > 詳細/対応

ロックや最大接続数の超過のような一部のエラーの復旧では、エンドユーザによる入力なしに処理が自動的にリトライされます。Magicが自動的にリトライできるのは、次の表に示すエラーのみです。ほとんどのエラーでは、「ユーザがリトライする」で説明するような、ユーザによる介入が必要です。

エラー

動作

テーブルロック不可

レコードロック

最大接続数超過

Magicにより、処理コマンドが自動的にリトライされます。物理トランザクションであるか遅延トランザクションであるかに関係なく、トランザクションもデータビューもロールバックされません。カーソルは同じレコードにパークし、タイムアウト値に達するまでロックまたは接続がリトライされます。

重複インデックス

制約違反

トリガ失敗

遅延トランザクションのみ。

Magicにより、フラッシュ段階で物理トランザクション全体が自動的にリトライされます。

テーブルのオープン失敗

テーブル作成エラー

テーブルの削除に失敗

テーブルのコピーに失敗

トランザクションのコミット失敗

トランザクションのオープン失敗

トランザクションの内部エラー

デッドロック

接続に失敗

致命的なエラー

挿入/更新/削除に失敗

SQL 実行エラー

不当なSQL コマンド

不当なオープンQuery式

不当なテーブル名

テーブルが存在しない

読込専用テーブルを更新

レコードが更新されていた

レコードを別ユーザが変更

レコードが失われていた

不適用、設定はできません。

 

注意:

遅延トランザクションモードでは、自動リトライによって、遅延トランザクション中に蓄積されたコマンドについてトランザクションのフラッシュ段階で発生した全てのエラーが参照されます。物理トランザクションは、ロールバックされてから再起動されます。これには、実行済みの全ての処理コマンドも含まれます。