THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block | ||
---|---|---|
| ||
@PublicEvolving public class TableConfigOptions { @Documentation.TableOption(execMode = Documentation.ExecMode.BATCH_STREAMING) public static final ConfigOption<Boolean> TABLE_CTAS_ATOMICITY_ENABLED = key("table.ctas.atomicity-enabled") .booleanType() .defaultValue(false) .withDescription( "Specifies if the create table as select operation is executed atomically. " + "By default, the operation is non-atomic. The target table is created in Client side, and it will not be dropped even though the job fails or is cancelled. " + "If set this option to true and DynamicTableSink implements the SupportsStaging interface, the targetcreate table as select operation is createdexpected to inbe JMexecuted side, it also will be dropped when the job fails or is cancelledatomically, " + "the behavior of which depends on the actual DynamicTableSink."); } |
Proposed Changes
First we need to have a Table interface that can be combined with the abstract transaction capability, so we introduce StagedTable, which can perform start transaction, commit transaction, and abort transaction operations.
...