分散ファイルの入出力に関する考慮事項

以下の考慮事項は、分散ファイルの入出力操作に適用されます。

レコードを挿入、更新、および削除用に検索する例

図 129 で、バッファー付き検索の最初のキー別検索要求の後の、 分散ファイル内の異なるレコード位置を示します。 このキー別検察要求で、分散ファイルは各ノードの最初のレコードの位置に付けられています。

図 129. 分散ファイル内のノード全体での最初の重複レコード・キーの位置
テキストの図、下記で説明

この例では、最初のキー別検索の要求でレコード A がプログラムに戻されています。 レコード位置はノードによってまちまちであるため、それに続くキー別次検索の要求によって、 ノード 1 のレコード H かノード 3 のレコード I のどちらかより前にあって、 ノード 1 で挿入もしくは更新されていたレコードは戻されません。 プログラムに戻された最後のレコードの後であっても、特定ノードの現行のキー位置の前にきている、 挿入もしくは更新済みレコードは、レコードを読み取る方向を変えない限りプログラムには見えません。

削除されたレコードは、すでに特定のノードに位置が決められ、かつそこから検索されている場合は、プログラムから見える場合もあります。 たとえば、ノード 2 のレコード A がプログラムに戻されている場合は、 ノード 3 のレコード I がプログラムに戻されます (たとえ、それが、その検索に設定された次のキー別次検索の要求を出す前に削除されている場合であっても)。

非バッファー付き検索 (*CURRENT) が使用されているときは、オープン後に分散ファイルで挿入もしくは更新されたレコードは、 ノードにまたがる重複キー値の場合を除き、非分散データベース・ファイルの場合と同じ方法で検索されます。 非バッファー付き検索用にオープンされている後に、分散ファイルで挿入もしくは更新されるレコードも、 プログラムに戻された最後のレコードの前にそのキー値がきている場合は、見えない可能性があります。 分散ファイルへのキー順入力で、ノードにまたがる重複キー値の場合を除き、 非分散データベース・ファイル用に検索された場合と同じレコードを検索するように求める場合は、 キー付き分散ファイルのオープンを非バッファー付き検索に指定変更する必要があります。