Feature Request / Improvement
Context
TrackedFileAdapters currently provides adapters for:
asDataFile -- wraps a DATA TrackedFile as a DataFile
asEqualityDeleteFile -- wraps an EQUALITY_DELETES TrackedFile as a DeleteFile
asDVDeleteFile -- extracts the DV from a DATA TrackedFile as a DeleteFile
There is no adapter for v2-style position delete files (content type
POSITION_DELETES). Tables upgraded from v2 to v4 may still contain position
delete files that were written before the upgrade, and scan planning needs
to wrap these as DeleteFile instances.
See #16100 (comment)
Proposed change
Add asPositionDeleteFile(TrackedFile, Map<Integer, PartitionSpec>) to
TrackedFileAdapters. This can extend AbstractTrackedContentFile<DeleteFile>
with:
content() returning FileContent.POSITION_DELETES
firstRowId() returning null (per spec, first_row_id for delete files is always null)
equalityFieldIds() returning null
Query engine
None
Willingness to contribute
Feature Request / Improvement
Context
TrackedFileAdapters currently provides adapters for:
asDataFile-- wraps a DATA TrackedFile as a DataFileasEqualityDeleteFile-- wraps an EQUALITY_DELETES TrackedFile as a DeleteFileasDVDeleteFile-- extracts the DV from a DATA TrackedFile as a DeleteFileThere is no adapter for v2-style position delete files (content type
POSITION_DELETES). Tables upgraded from v2 to v4 may still contain position
delete files that were written before the upgrade, and scan planning needs
to wrap these as DeleteFile instances.
See #16100 (comment)
Proposed change
Add
asPositionDeleteFile(TrackedFile, Map<Integer, PartitionSpec>)toTrackedFileAdapters. This can extend
AbstractTrackedContentFile<DeleteFile>with:
content()returningFileContent.POSITION_DELETESfirstRowId()returningnull(per spec, first_row_id for delete files is always null)equalityFieldIds()returningnullQuery engine
None
Willingness to contribute