refactor: introduce new method accurate_columns_ranges
to Table
#16247
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.
I hereby agree to the terms of the CLA available at: https://docs.databend.com/dev/policies/cla/
Summary
Introduce a new method
accurate_columns_ranges
to theTable
trait, which returns the "accurate" ranges of the given columns.The bounds of the column ranges are derived from the segment information of the given table, making them tight. However, for string-type columns, the bounds may have been truncated, which is indicated by the
may_be_truncated
field in theBound
struct.accurate_columns_ranges
is intended to be used later in the optimization of queries likeSELECT MIN/MAX(col) FROM t
.Tests
Type of change
This change is