func LoadWTree(id uuid.UUID) *qtree.QTree { mBS() tr, err := qtree.NewWriteQTree(_bs, id) if err != nil { log.Panic(err) } return tr }
func MakeWTree() (*qtree.QTree, uuid.UUID) { id := uuid.NewRandom() mBS() tr, err := qtree.NewWriteQTree(_bs, id) if err != nil { log.Panic(err) } return tr, id }
func (t *openTree) commit(q *Quasar) { if len(t.store) == 0 { //This might happen with a race in the timeout commit return } tr, err := qtree.NewWriteQTree(q.bs, t.id) if err != nil { log.Panic(err) } if err := tr.InsertValues(t.store); err != nil { log.Error("BAD INSERT: ", err) } tr.Commit() t.store = nil }
func (q *Quasar) DeleteRange(id uuid.UUID, start int64, end int64) error { tr, mtx := q.getTree(id) mtx.Lock() if len(tr.store) != 0 { tr.sigEC <- true tr.commit(q) } wtr, err := qtree.NewWriteQTree(q.bs, id) if err != nil { log.Panic(err) } err = wtr.DeleteRange(start, end) if err != nil { log.Panic(err) } wtr.Commit() mtx.Unlock() return nil }