デフォルトのレコード ロック

表 2、3、および 4 は、ファイルを特定のオープン モードで開く際に使用されるデフォルトのロックの種類を示す。デフォルトのロックを変更するには、翻訳群を COBOL にサブミットする時点で AUTOLOCK コンパイラ指令が設定されている必要がある。これらの表では、個々のファイルに対してデフォルトのロックをオーバーライドできるかどうかも示す。これを行うには、ファイルに対する SELECT 句に適切な句を挿入する。「ファイル管理記述項」トピックを参照。

XOPEN X/Open では、自動ロックでの単一レコード ロック、または手動ロックでの複数レコード ロックのどちらかを使用する X/Open 準拠ソース プログラムを制限している。

表 1. レコード順編成ファイルでのデフォルトのロック
OPEN モード 指令なし AUTOLOCK コンパイラ指令 SELECT 文でのオーバーライド
INPUT ロックなし ロックなし 可。ただし排他モードのみ
I-O 排他モード 単一レコードのロック
OUTPUT 排他モード 排他モード 不可
EXTEND 排他モード ロックなし 可。ファイルは共有できるが、レコードはロックできない
表 2. 行順編成ファイルでのデフォルトのロック
OPEN モード 指令なし AUTOLOCK コンパイラ指令 SELECT 文でのオーバーライド
INPUT ロックなし ロックなし 不可
I-O 排他モード ロックなし 不可
OUTPUT 排他モード 排他モード 不可
EXTEND 排他モード ロックなし 不可
表 3. 相対ファイルおよび索引ファイルでのデフォルトのロック
OPEN モード 指令なし AUTOLOCK コンパイラ指令 SELECT 文でのオーバーライド
INPUT ロックなし ロックなし 可。ただし排他モードのみ
I-O 排他モード 単一レコードの自動ロック
OUTPUT 排他モード 排他モード 不可
EXTEND 排他モード 排他モード 不可
注:
  1. 出力用に開いたファイルは、指定したロックのモードにかかわらず排他モードになる。
  2. 個々のファイルに対してロックの種類を選択するには、デフォルトのロック方式 (表 1、2、および 3 を参照) を使用するか、ファイル管理記述項に LOCK MODE 句を含める (「ファイル管理記述項」セクションを参照)。