Support for metadata columns (location
, size
, last_modified
) in ListingTableProvider
#74
+722
−118
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.
Which issue does this PR close?
TBD
Rationale for this change
This enables another way to prune files that don't need to be read, similar to partitioning, but based on the metadata of the file itself. This can be used to efficiently find all data that are in files that have changed since I last did a query, for example:
SELECT * FROM test WHERE last_modified > {last_check_time}
.What changes are included in this PR?
Adds a new option to the
ListingOptions
for specifying certain metadata properties. The metadata properties that are supported arelocation
,size
andlast_modified
. When those properties are included, then they are added to the table schema (similar to partition columns) and the value is filled in by looking at theObjectMeta
for the file.Are these changes tested?
Yes, added tests to
path_partition.rs
.Are there any user-facing changes?