btree index (16)

_bt_step

次のアイテムに移動する。bufPに現在Read中のBuffer(ページ)を指定する。dirに移動する方向を指定する。ページを移動するときは、bufPは移動先のページに設定する。処理が成功したときはscan->currentItemDataを更新してtrueを返す。失敗したとき(次のアイテムがないとき)は、bufPのロックとPinを開放してfalseを返す。

_bt_checkkeys

IndexTupleがScanKeyの検索条件に一致するかチェックする。一致したらtrue, しなかったらfalseを返す。一致しなかったときでも、次の検索で一致するかもしれない場合、continuescanにtrueをセットする。
例えばa, b, cの3つのカラムのIndexがあって、検索条件にaとcを指定した場合、aが一致しない場合はcontinuescanをfalseにして検索を止める。aが一致していてcが一致しない場合は、continuescanをtrueにして検索を続ける。(cはbの値ごとに分散されているため、次のbのデータを検索する)
また、NULLはNon-NULLデータの後ろに登録されているので、cがNULLの場合、次のbのデータを検索をするためにcontinuescanをtrueにする。bがNULLのときは次のbは存在しないので、検索を止める。