@PublicEvolving public interface SupportsRowLevelUpdate
DynamicTableSink
s 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
.
Modifier and Type | Interface and Description |
---|---|
static interface |
SupportsRowLevelUpdate.RowLevelUpdateInfo
The information that guides the planner on how to rewrite the update statement.
|
static class |
SupportsRowLevelUpdate.RowLevelUpdateMode
Type of update modes that the sink expects for update purpose.
|
Modifier and Type | Method and Description |
---|---|
SupportsRowLevelUpdate.RowLevelUpdateInfo |
applyRowLevelUpdate(List<Column> updatedColumns,
RowLevelModificationScanContext context)
Applies row-level update with providing the updated columns and
RowLevelModificationScanContext , and return SupportsRowLevelUpdate.RowLevelUpdateInfo . |
SupportsRowLevelUpdate.RowLevelUpdateInfo applyRowLevelUpdate(List<Column> updatedColumns, @Nullable RowLevelModificationScanContext context)
RowLevelModificationScanContext
, and return SupportsRowLevelUpdate.RowLevelUpdateInfo
.updatedColumns
- the columns updated by update statement in table column order.context
- the context passed by table source which implement SupportsRowLevelModificationScan
. It'll be null if the table source doesn't implement
it.Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.