Interface SupportsRowLevelUpdate
@PublicEvolving
public interface SupportsRowLevelUpdate
Interface for
DynamicTableSinks 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 the SupportsRowLevelUpdate.RowLevelUpdateInfo returned by sink, and
rewrite the update statement based on the retrieved SupportsRowLevelUpdate.RowLevelUpdateInfo to produce rows to
DynamicTableSink.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceThe information that guides the planner on how to rewrite the update statement.static enumType of update modes that the sink expects for update purpose. -
Method Summary
Modifier and TypeMethodDescriptionapplyRowLevelUpdate(List<Column> updatedColumns, RowLevelModificationScanContext context) Applies row-level update with providing the updated columns andRowLevelModificationScanContext, and returnSupportsRowLevelUpdate.RowLevelUpdateInfo.
-
Method Details
-
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.
-