btree index (4)

_bt_addtup

ページの指定した位置に,BTItemを登録する。
offsetを指定してPageAddItemを実行する。

PageAddItem

ページにItemを登録する。
PageAddItemはb-tree以外にも,tupleや他のindexのアイテムを登録するために
実行される。OffsetNumberでページ内の位置を指定したときは,その位置にアイテムが挿入される。OffsetNumberを指定しなかったときは,空いている位置に挿入する。b-treeはページ内のデータがソートされている必要があるので,OffsetNumberを指定している。tupleはデータの順序はどうでもいいので,空いている場所を使う。指定したOffsetNumberの場所が使用中だった場合,memmoveで既存のアイテムをスライドして場所を空ける。