レコードの相対バイト アドレスは、特定のレコードに対するすべてのファイル ハンドラーの操作で FCD の fcd-reladdr-offset (またはビット 4 の fcd-config-flags が設定されている場合は fcd-reladdr-big) に配置されます。レコードの相対バイト アドレスを使用するには、READ 操作の後でこのフィールドの内容を保存するだけです。
相対バイト アドレスを使用すると、高速でレコードへアクセスできるようになります。ただし、次のような制限があります。
- 相対バイト アドレス操作は、現行レコード ポインターに影響しません。そのため、READ (順) 操作では、通常のアクセス方法で最後にアクセスしたレコードの次のレコードを返します。相対バイト アドレス指定を使用してアクセスしたレコードの次のレコードを返すわけではありません。ただし、相対バイト アドレス操作を実行するためのファイル ハンドラーを呼び出す前に、fcd-config-flags にビット 5 を設定すると、現行レコード ポインターを更新し、相対バイト アドレス指定を使用してアクセスしたレコードを示すことができます。
- レコードの再書き込みや削除が行われると、相対バイト アドレス操作は索引を更新します。
- レコードの相対バイト アドレスの取得後にそのレコードを削除すると、その相対バイト アドレスを使用した読み書きは通常失敗します。しかし、そのレコードが別のレコードに置き換えられたのにそのことが検出されていない可能性もあります。
相対バイト アドレス操作では、レコード ロックもサポートされています。
レコードの相対バイト アドレスを取得すると、それを使用してさまざまな操作を実行することができます。