Avoid div-by-zero in row count estimations for empty tables #1992
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of Changes
Forward-port of #1991 , an 0.11.1 hotfix for the BitCraft alpha, into master.
What was happening was,
num_distinct_values
on an empty table returned 0, whichindex_row_est
then used as a divisor, leading to a panic. It seems reasonably clear to me thatthe correct estimate of distinct values in an empty index is 0, not bottom, so adjusting
num_distinct_values
to returnOption<NonZeroU64>
, and then makingindex_row_est
return 0 in that case, seems an obvious fix.API and ABI breaking changes
None
Expected complexity level and risk
1
Testing
Describe any testing you've done, and any testing you'd like your reviewers to do,
so that you're confident that all the changes work as expected!