btree index (20)

_bt_spoolinit

ソートしてbtree indexを構築するとき,indexのアイテムを一時的に登録して
ソートするためのスプール領域(BTSpool)を作成する。スプールサイズはmaintenance_work_mem(default: 16Mbyte)が使用される。ただしdead tupleを登録するためのスプールは大きくなくてよいので,work_mem(default:1Mbyte)を使っている。

    btKbytes = isdead ? work_mem : maintenance_work_mem;

BTItemDataのソートはIndexTupleDataのソートルーチンを利用しているため、BTItemDataが通常のIndexTupleDataと同じであることをチェックしている。

    Assert(sizeof(BTItemData) == sizeof(IndexTupleData));

_bt_spooldestroy

BTSpoolをクリアする。

_bt_spool

btree indexのアイテム(BTItem)をスプールに登録する。