Interface SupportsRowLevelDelete
-
@PublicEvolving public interface SupportsRowLevelDeleteInterface forDynamicTableSinks that support delete existing data according to row-level changes. The table sink is responsible for telling planner how to produce the row changes, and consuming them to achieve the purpose of row(s) deletion.The planner will call the method
applyRowLevelDelete(RowLevelModificationScanContext)to get theSupportsRowLevelDelete.RowLevelDeleteInforeturned by sink, and rewrite the delete statement based on the retrievedSupportsRowLevelDelete.RowLevelDeleteInfoto produce rows toDynamicTableSink.Note: For the cases where the table sink implement both
SupportsDeletePushDownandSupportsRowLevelDelete, the planner always prefersSupportsDeletePushDownoverSupportsRowLevelDeleteon condition thatSupportsDeletePushDown.applyDeleteFilters(List)return true.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interfaceSupportsRowLevelDelete.RowLevelDeleteInfoThe information that guides the planner on how to rewrite the delete statement.static classSupportsRowLevelDelete.RowLevelDeleteModeType of delete modes that the sink expects for delete purpose.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description SupportsRowLevelDelete.RowLevelDeleteInfoapplyRowLevelDelete(RowLevelModificationScanContext context)Applies row-level delete withRowLevelModificationScanContext, and return aSupportsRowLevelDelete.RowLevelDeleteInfo.
-
-
-
Method Detail
-
applyRowLevelDelete
SupportsRowLevelDelete.RowLevelDeleteInfo applyRowLevelDelete(@Nullable RowLevelModificationScanContext context)
Applies row-level delete withRowLevelModificationScanContext, and return aSupportsRowLevelDelete.RowLevelDeleteInfo.- Parameters:
context- the context passed by table source which implementSupportsRowLevelModificationScan. It'll be null if the table source doesn't implement it.
-
-