This PR changes the name and behavior of bucket_candidates:
bucket_candidates become initial_candidates that is less confusing
initial_candidates is no more a simple RoaringBitmap but an enum allowing us to precise if the candidates are exhaustive or not
this enum ensures that any modification is allowed only if the candidates are not already exhaustive.
The bug occurred because initial_candidates are modified during the bucket sort allowing the estimation to be more and more precise along the search, and this was an issue when the initial_candidates were already exhaustive, now, if candidates are exhaustive, then no modifications are made.
This PR changes the name and behavior of
bucket_candidates
:bucket_candidates
becomeinitial_candidates
that is less confusinginitial_candidates
is no more a simpleRoaringBitmap
but an enum allowing us to precise if the candidates are exhaustive or notThe bug occurred because
initial_candidates
are modified during the bucket sort allowing the estimation to be more and more precise along the search, and this was an issue when theinitial_candidates
were already exhaustive, now, if candidates are exhaustive, then no modifications are made.