@@ -111,7 +111,7 @@ func (suite *StoreTestSuite) TestRunTransaction() {
111111 suite .ErrorContains (store .RunTransaction (suite .ctx , func (tx cspann.Txn ) error {
112112 toSearch := []cspann.PartitionToSearch {{Key : cspann .RootKey }}
113113 searchSet := cspann.SearchSet {MaxResults : 1 }
114- _ , err := tx .SearchPartitions (suite .ctx , treeKey , toSearch , vector.T {1 , - 1 }, & searchSet )
114+ err := tx .SearchPartitions (suite .ctx , treeKey , toSearch , vector.T {1 , - 1 }, & searchSet )
115115 suite .NoError (err )
116116 suite .Equal (1 , toSearch [0 ].Count )
117117 return errors .New ("abort" )
@@ -260,16 +260,15 @@ func (suite *StoreTestSuite) TestNonRootPartition() {
260260 // Search partition.
261261 toSearch := []cspann.PartitionToSearch {{Key : partitionKey }}
262262 searchSet := cspann.SearchSet {MaxResults : 1 }
263- searchLevel , err := txn .SearchPartitions (
264- suite .ctx , treeKey , toSearch , vector.T {5 , - 1 }, & searchSet )
263+ err = txn .SearchPartitions (suite .ctx , treeKey , toSearch , vector.T {5 , - 1 }, & searchSet )
265264 suite .NoError (err )
266- suite .Equal (cspann .SecondLevel , searchLevel )
267265 result1 := cspann.SearchResult {
268266 QuerySquaredDistance : 17 , ErrorBound : 0 , CentroidDistance : 0 ,
269267 ParentPartitionKey : partitionKey , ChildKey : partitionKey3 , ValueBytes : valueBytes3 }
270268 results := searchSet .PopResults ()
271269 RoundResults (results , 4 )
272270 suite .Equal (cspann.SearchResults {result1 }, results )
271+ suite .Equal (cspann .SecondLevel , toSearch [0 ].Level )
273272 suite .Equal (2 , toSearch [0 ].Count )
274273 })
275274 }
@@ -308,17 +307,18 @@ func (suite *StoreTestSuite) TestSearchMultiplePartitions() {
308307
309308 searchSet := cspann.SearchSet {MaxResults : 2 }
310309 toSearch := []cspann.PartitionToSearch {{Key : cspann .RootKey }, {Key : partitionKey }}
311- level , err : = txn .SearchPartitions (suite .ctx , treeKey , toSearch , vec4 , & searchSet )
310+ err = txn .SearchPartitions (suite .ctx , treeKey , toSearch , vec4 , & searchSet )
312311 suite .NoError (err )
313- suite .Equal (cspann .LeafLevel , level )
314312 result1 := cspann.SearchResult {
315313 QuerySquaredDistance : 24 , ErrorBound : 24.08 , CentroidDistance : 3.16 ,
316314 ParentPartitionKey : partitionKey , ChildKey : primaryKey1 , ValueBytes : valueBytes1 }
317315 result2 := cspann.SearchResult {
318316 QuerySquaredDistance : 29 , ErrorBound : 0 , CentroidDistance : 5 ,
319317 ParentPartitionKey : cspann .RootKey , ChildKey : primaryKey3 , ValueBytes : valueBytes3 }
320318 suite .Equal (cspann.SearchResults {result1 , result2 }, RoundResults (searchSet .PopResults (), 2 ))
319+ suite .Equal (cspann .LeafLevel , toSearch [0 ].Level )
321320 suite .Equal (3 , toSearch [0 ].Count )
321+ suite .Equal (cspann .LeafLevel , toSearch [1 ].Level )
322322 suite .Equal (2 , toSearch [1 ].Count )
323323 })
324324 }
@@ -602,6 +602,7 @@ func (suite *StoreTestSuite) TestGetFullVectors() {
602602 {Key : cspann.ChildKey {KeyBytes : cspann.KeyBytes {0 }}},
603603 {Key : cspann.ChildKey {PartitionKey : partitionKey }},
604604 {Key : cspann.ChildKey {KeyBytes : key3 }},
605+ {Key : cspann.ChildKey {PartitionKey : cspann .PartitionKey (99 )}}, // No such partition.
605606 }
606607 err := txn .GetFullVectors (suite .ctx , treeKey , results )
607608 suite .NoError (err )
@@ -612,6 +613,7 @@ func (suite *StoreTestSuite) TestGetFullVectors() {
612613 suite .Nil (results [4 ].Vector )
613614 suite .Equal (vector.T {4 , 3 }, results [5 ].Vector )
614615 suite .Equal (vec3 , results [6 ].Vector )
616+ suite .Nil (results [7 ].Vector )
615617
616618 // Grab another set of vectors to ensure that saved state is properly reset.
617619 results = []cspann.VectorWithKey {
@@ -1228,10 +1230,10 @@ func (suite *StoreTestSuite) testEmptyOrMissingRoot(store TestStore, treeID int,
12281230 RunTransaction (suite .ctx , suite .T (), store , func (txn cspann.Txn ) {
12291231 searchSet := cspann.SearchSet {MaxResults : 2 }
12301232 toSearch := []cspann.PartitionToSearch {{Key : cspann .RootKey }}
1231- level , err := txn .SearchPartitions (suite .ctx , treeKey , toSearch , vector.T {1 , 1 }, & searchSet )
1233+ err := txn .SearchPartitions (suite .ctx , treeKey , toSearch , vector.T {1 , 1 }, & searchSet )
12321234 suite .NoError (err )
1233- suite .Equal (cspann .LeafLevel , level )
12341235 suite .Nil (searchSet .PopResults ())
1236+ suite .Equal (cspann .LeafLevel , toSearch [0 ].Level )
12351237 suite .Equal (0 , toSearch [0 ].Count )
12361238 })
12371239 })
@@ -1345,10 +1347,8 @@ func (suite *StoreTestSuite) testLeafPartition(
13451347 // Search partition.
13461348 searchSet := cspann.SearchSet {MaxResults : 2 }
13471349 toSearch := []cspann.PartitionToSearch {{Key : partitionKey }}
1348- searchLevel , err := txn .SearchPartitions (
1349- suite .ctx , treeKey , toSearch , vector.T {1 , 1 }, & searchSet )
1350+ err = txn .SearchPartitions (suite .ctx , treeKey , toSearch , vector.T {1 , 1 }, & searchSet )
13501351 suite .NoError (err )
1351- suite .Equal (cspann .LeafLevel , searchLevel )
13521352 result1 := cspann.SearchResult {
13531353 QuerySquaredDistance : 1 , ErrorBound : 0 ,
13541354 CentroidDistance : testutils .RoundFloat (num32 .L2Distance (vec1 , centroid ), 4 ),
@@ -1367,6 +1367,7 @@ func (suite *StoreTestSuite) testLeafPartition(
13671367 results := searchSet .PopResults ()
13681368 RoundResults (results , 4 )
13691369 suite .Equal (cspann.SearchResults {result1 , result2 }, results )
1370+ suite .Equal (cspann .LeafLevel , toSearch [0 ].Level )
13701371 suite .Equal (3 , toSearch [0 ].Count )
13711372
13721373 // Ensure partition metadata is updated.
@@ -1407,10 +1408,8 @@ func (suite *StoreTestSuite) testLeafPartition(
14071408 // Search partition.
14081409 searchSet := cspann.SearchSet {MaxResults : 1 }
14091410 toSearch := []cspann.PartitionToSearch {{Key : partitionKey }}
1410- searchLevel , err := txn .SearchPartitions (
1411- suite .ctx , treeKey , toSearch , vector.T {10 , - 5 }, & searchSet )
1411+ err = txn .SearchPartitions (suite .ctx , treeKey , toSearch , vector.T {10 , - 5 }, & searchSet )
14121412 suite .NoError (err )
1413- suite .Equal (cspann .LeafLevel , searchLevel )
14141413 result1 := cspann.SearchResult {
14151414 QuerySquaredDistance : 25 , ErrorBound : 0 ,
14161415 CentroidDistance : testutils .RoundFloat (num32 .L2Distance (vec4 , centroid ), 4 ),
@@ -1423,6 +1422,7 @@ func (suite *StoreTestSuite) testLeafPartition(
14231422 results := searchSet .PopResults ()
14241423 RoundResults (results , 4 )
14251424 suite .Equal (cspann.SearchResults {result1 }, results )
1425+ suite .Equal (cspann .LeafLevel , toSearch [0 ].Level )
14261426 suite .Equal (3 , toSearch [0 ].Count )
14271427 })
14281428 })
@@ -1470,16 +1470,15 @@ func (suite *StoreTestSuite) setRootPartition(store TestStore, treeID int) {
14701470 // Search partition.
14711471 searchSet := cspann.SearchSet {MaxResults : 1 }
14721472 toSearch := []cspann.PartitionToSearch {{Key : cspann .RootKey }}
1473- searchLevel , err := txn .SearchPartitions (
1474- suite .ctx , treeKey , toSearch , vector.T {5 , 5 }, & searchSet )
1473+ err = txn .SearchPartitions (suite .ctx , treeKey , toSearch , vector.T {5 , 5 }, & searchSet )
14751474 suite .NoError (err )
1476- suite .Equal (cspann .SecondLevel , searchLevel )
14771475 result1 := cspann.SearchResult {
14781476 QuerySquaredDistance : 5 , ErrorBound : 0 , CentroidDistance : 3.1623 ,
14791477 ParentPartitionKey : cspann .RootKey , ChildKey : partitionKey2 , ValueBytes : valueBytes2 }
14801478 results := searchSet .PopResults ()
14811479 RoundResults (results , 4 )
14821480 suite .Equal (cspann.SearchResults {result1 }, results )
1481+ suite .Equal (cspann .SecondLevel , toSearch [0 ].Level )
14831482 suite .Equal (2 , toSearch [0 ].Count )
14841483 })
14851484}
0 commit comments