Skip to content

Commit

Permalink
assert
Browse files Browse the repository at this point in the history
  • Loading branch information
friendlymatthew committed Jul 2, 2024
1 parent 8940c25 commit 763f3ee
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 2 deletions.
1 change: 1 addition & 0 deletions pkg/bptree/bptree.go
Original file line number Diff line number Diff line change
Expand Up @@ -274,6 +274,7 @@ func (t *BPTree) Insert(key pointer.ReferencedValue, value pointer.MemoryPointer
if err != nil {
return err
}

return t.MetaPage.SetRoot(pointer.MemoryPointer{Offset: uint64(offset), Length: uint32(len(buf))})
}

Expand Down
2 changes: 1 addition & 1 deletion pkg/btree/btree.go
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ func (t *BTree) Insert(key pointer.ReferencedId, vector hnsw.Point) error {
return err
}

offset, err := t.PageFile.Write(buf)
offset, err := t.PageFile.NewPage(buf)
if err != nil {
return err
}
Expand Down
26 changes: 25 additions & 1 deletion pkg/btree/btree_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ func TestBTree(t *testing.T) {
t.Fatal(err)
}
mp := newTestMetaPage(t, p)
tree := &BTree{PageFile: p, MetaPage: mp, Width: uint16(6)}
tree := &BTree{PageFile: p, MetaPage: mp, Width: uint16(6), VectorDim: 2}
if err := tree.Insert(pointer.ReferencedId{Value: 1}, hnsw.Point{2, 2}); err != nil {
t.Fatal(err)
}
Expand Down Expand Up @@ -193,3 +193,27 @@ func TestBTree(t *testing.T) {
}
})
}

func TestBTree_SequentialInsertionTest(t *testing.T) {
b := buftest.NewSeekableBuffer()
p, err := pagefile.NewPageFile(b)
if err != nil {
t.Fatal(err)
}
tree := &BTree{PageFile: p, MetaPage: newTestMetaPage(t, p), VectorDim: 2}
for i := 0; i < 256; i++ {
if err := tree.Insert(pointer.ReferencedId{Value: hnsw.Id(i)}, hnsw.Point{float32(i), float32(i)}); err != nil {
t.Fatal(err)
}
}

for i := 0; i < 256; i++ {
k, _, err := tree.Find(pointer.ReferencedId{Value: hnsw.Id(i)})
if err != nil {
t.Fatal(err)
}
if k.Value != hnsw.Id(i) {
t.Fatalf("expected to find key %d", i)
}
}
}

0 comments on commit 763f3ee

Please sign in to comment.