1414
1515sub test_recall
1616{
17- my ($c ,$ef_search ,$min ,$operator ) =@_ ;
17+ my ($c ,$ef_search ,$min ,$operator , $mode ) =@_ ;
1818my $correct = 0;
1919my $total = 0;
2020
2121my $explain =$node -> safe_psql(" postgres" ,qq(
2222SET enable_seqscan = off;
2323SET hnsw.ef_search =$ef_search ;
24- SET hnsw.iterative_search =relaxed_order ;
24+ SET hnsw.iterative_search =$mode ;
2525EXPLAIN ANALYZE SELECT i FROM tst WHERE i %$c = 0 ORDER BY v$operator '$queries [0]' LIMIT$limit ;
2626) );
2727like($explain ,qr / Index Scan using idx on tst/ );
@@ -31,7 +31,7 @@ sub test_recall
3131my $actual =$node -> safe_psql(" postgres" ,qq(
3232SET enable_seqscan = off;
3333SET hnsw.ef_search =$ef_search ;
34- SET hnsw.iterative_search =relaxed_order ;
34+ SET hnsw.iterative_search =$mode ;
3535SELECT i FROM tst WHERE i %$c = 0 ORDER BY v$operator '$queries [$i ]' LIMIT$limit ;
3636) );
3737my @actual_ids =split (" \n " ,$actual );
@@ -108,21 +108,8 @@ sub test_recall
108108push (@expected ,$res );
109109}
110110
111- if ($c == 100)
112- {
113- test_recall($c , 40, 0.99,$operator );
114- }
115- else
116- {
117- if ($operator eq " <->" )
118- {
119- test_recall($c , 40, 0.99,$operator );
120- }
121- else
122- {
123- test_recall($c , 40, 0.99,$operator );
124- }
125- }
111+ test_recall($c , 40, 0.99,$operator ," strict_order" );
112+ test_recall($c , 40, 0.99,$operator ," relaxed_order" );
126113}
127114
128115$node -> safe_psql(" postgres" ," DROP INDEX idx;" );