Interface SupportsRowLevelUpdate
-
@PublicEvolving public interface SupportsRowLevelUpdateInterface forDynamicTableSinks that support update 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) update.The planner will call method
applyRowLevelUpdate(List, RowLevelModificationScanContext)to get theSupportsRowLevelUpdate.RowLevelUpdateInforeturned by sink, and rewrite the update statement based on the retrievedSupportsRowLevelUpdate.RowLevelUpdateInfoto produce rows toDynamicTableSink.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interfaceSupportsRowLevelUpdate.RowLevelUpdateInfoThe information that guides the planner on how to rewrite the update statement.static classSupportsRowLevelUpdate.RowLevelUpdateModeType of update modes that the sink expects for update purpose.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description SupportsRowLevelUpdate.RowLevelUpdateInfoapplyRowLevelUpdate(List<Column> updatedColumns, RowLevelModificationScanContext context)Applies row-level update with providing the updated columns andRowLevelModificationScanContext, and returnSupportsRowLevelUpdate.RowLevelUpdateInfo.
-
-
-
Method Detail
-
applyRowLevelUpdate
SupportsRowLevelUpdate.RowLevelUpdateInfo applyRowLevelUpdate(List<Column> updatedColumns, @Nullable RowLevelModificationScanContext context)
Applies row-level update with providing the updated columns andRowLevelModificationScanContext, and returnSupportsRowLevelUpdate.RowLevelUpdateInfo.- Parameters:
updatedColumns- the columns updated by update statement in table column order.context- the context passed by table source which implementSupportsRowLevelModificationScan. It'll be null if the table source doesn't implement it.
-
-