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