排他制御とは、他のユーザーからファイルやデータベースを同時に利用されデータの整合性がおかしくならないように、データの読み書きやアクセスを一時的に制御することをいいます。排他制御には「楽観的同時実行制御(楽観的ロック)」と「悲観的同時実行制御(悲観的ロック)」があります。
「楽観的ロック」は、 データを更新する直前に他のユーザーによって更新されていないかどうかをチェックし、更新されていない場合にデータをロックし更新します。更新されていた場合は、更新処理をキャンセルします。
「悲観的ロック」は、データを読み出す時にロックし、書き込みが終わるまでの間、他のユーザーがそのデータに触れないようロックし続けます。
Forguncyでは、「楽観的ロック」に対応しています。
特定のデータベースにおいては、レコードの更新時に「楽観的同時実行制御(楽観的ロック)」を行います。この制御はデータベースによって行われるものと行われないものが存在しますので注意してください。
この同時実行制御が行われるのは以下の場合のみとなり、それ以外の場合には同時実行制御は行われません。
- 「テーブルデータの更新」コマンドの[対象レコード]が「カレントレコード」に設定されているコマンドを使用して更新を行ったとき
- リストビューの[編集を許可]オプションを使用してレコードの更新を行ったとき
内部データベース
Forguncyの内部データベースを使用している場合、同時実行制御は行われます。
同時実行制御の動作についいては内部データベースの同時実行制御を参照してください。
外部データベース
外部データベースでも同時実行制御が行われるようにすることは可能ですが、製品によってそれぞれ条件があります。詳細については同時実行制御 を参照してください。
検索キーワード: fgcinfo fgcdatabase