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
WIP - rough draft to check the potential scale of impact
Changes to separate delete table handles from generic table handles.
Motivation and Context
Please refer to #24520
Impact
Metadata, ConnectorMetadata, MetadataManager changed
->downstream affects execution: TableWriteInfo, ExecutionWriterTarget, TableWriterNode
Create 2 new types: ConnectorDeleteTableHandle, DeleteTableHandle
Types Changed: TableWriterNode.DeleteHandle
Also affects finishDelete, getDeleteRowIdColumnHandle types (AbstractMockMetadata, DelegatingMetadataManager)
Other classes affected:
ConnectorPageSinkProvider -> provide new pagesink for deletes?
ConnectorHandleResolver -> provide new getDeleteTableHandleClass method -> HandleResolver implements new ConnectorDeleteTableHandle
All connectors affected, those that implement DELETE will require more changes.
Kudu and iceberg connector both need to change types used for begin/finish delete
Iceberg currently uses IcebergTableHandle which inherits from basehivetablehandle->connectorTableHandle, and we would need to create a separate IcebergTableHandle for deletes This would eventually apply to update as well if were going to make the code symmetric
Test Plan
TBD
Pass presto-icebergs tests (includes DELETE tests)
Contributor checklist
Release Notes
Please follow release notes guidelines and fill in the release notes below.
If release note is NOT required, use: