コード例 #1
0
ファイル: qtree_utils.go プロジェクト: gtfierro/btrdb
/**
 * Load a quasar tree
 */
func NewReadQTree(bs *bstore.BlockStore, id uuid.UUID, generation uint64) (*QTree, error) {
	sb := bs.LoadSuperblock(id, generation)
	if sb == nil {
		return nil, ErrNoSuchStream
	}
	rv := &QTree{sb: sb, bs: bs}
	if sb.Root() != 0 {
		rt, err := rv.LoadNode(sb.Root(), sb.Gen(), ROOTPW, ROOTSTART)
		if err != nil {
			log.Panicf("%v", err)
			return nil, err
		}
		//log.Debug("The start time for the root is %v",rt.StartTime())
		rv.root = rt
	}
	return rv, nil
}