($title_img_alt)

こちらからの投稿は、先頭に表示されているコメントへの返信になります。
CHAIN命令 SAKI さん [ 8月8日(火) 15時9分 ]
CHAIN命令についてお聞きします。キーが3個有り(いずれも昇順)最初の2つに値をセットしCHAI
Nした場合、3つ目のキーの最小が必ず読めますでしょうか?キーリストも2つだけ指定です。(現
状この様なPGが有りどの様な動きをするのかを調べております)(ソースタイプRPG)
RE:CHAIN命令 SAKI さん [ 8月8日(火) 15時15分 ]
すみません。補足です。最小のレコードが読めるとして、連続して同じキーでCHAINしても同じ最小のレコードが
のレコードが読めるでしょうか?
RE:CHAIN命令 IKD さん [ 8月9日(水) 8時14分 ]
ご質問の文章にある「キー」とはキーのことではなく「キー・フィールド」のことであると
読み替えて解釈します。

複数の、例えば3つのキー・フィールドを持っている索引ファイルに対して
上位2つだけのキー・フィールドをキー・リストとしてCHAIN命令を実行すると
CHAIN が成功したときは3つめのキー・フィールドは一番、小さなキー・フィールドとなる
レコードが取得されているか? というご質問であると解釈しました。

つまり複数のキー・フィールドを持っている索引ファイルを一部の上位だけの
キー・フィールドで CHAIN するとどうなるか? ということでしょうか?

ご質問がこのとおりであれば

 3番目のキー・フィールドが上位2つの同じキー・フィールドであるレコードの中で
  最小のレコードが取得されている保証はどこにもありません。

CHAIN が成功するということはキー・リストでレコードを取得することだけの話
ですから最小レコードを取得するという仕様はありません。
前後の演算の結果に影響されると思います。

このようなCHAIN は非常に脆弱で不安定な演算になりますので
やはりキー・フィールドの一部ではなく、フル・キーでCHAIN すべきでしょう。

事情があって上位のキー・フィールドだけで検索したい場合は

  SETLL & READE を使うべきで、これなら意図的に行う演算であり

確実な結果が得られます。
RE:CHAIN命令 SAKI さん [ 8月10日(木) 11時19分 ]
ご回答有難うございました。

お名前

パスワード

メールアドレス

タイトル

ホームページ

アドレス

項目