Class TableBufferReducedStatementExecutor
- java.lang.Object
-
- org.apache.flink.connector.jdbc.internal.executor.TableBufferReducedStatementExecutor
-
- All Implemented Interfaces:
JdbcBatchStatementExecutor<org.apache.flink.table.data.RowData>
public final class TableBufferReducedStatementExecutor extends Object implements JdbcBatchStatementExecutor<org.apache.flink.table.data.RowData>
Currently, this statement executor is only used for table/sql to buffer insert/update/delete events, and reduce them in buffer before submit to external database.
-
-
Constructor Summary
Constructors Constructor Description TableBufferReducedStatementExecutor(JdbcBatchStatementExecutor<org.apache.flink.table.data.RowData> upsertExecutor, JdbcBatchStatementExecutor<org.apache.flink.table.data.RowData> deleteExecutor, java.util.function.Function<org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData> keyExtractor, java.util.function.Function<org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData> valueTransform)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddToBatch(org.apache.flink.table.data.RowData record)voidcloseStatements()Close JDBC related statements.voidexecuteBatch()Submits a batch of commands to the database for execution.voidprepareStatements(Connection connection)Create statements from connection.
-
-
-
Constructor Detail
-
TableBufferReducedStatementExecutor
public TableBufferReducedStatementExecutor(JdbcBatchStatementExecutor<org.apache.flink.table.data.RowData> upsertExecutor, JdbcBatchStatementExecutor<org.apache.flink.table.data.RowData> deleteExecutor, java.util.function.Function<org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData> keyExtractor, java.util.function.Function<org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData> valueTransform)
-
-
Method Detail
-
prepareStatements
public void prepareStatements(Connection connection) throws SQLException
Description copied from interface:JdbcBatchStatementExecutorCreate statements from connection.- Specified by:
prepareStatementsin interfaceJdbcBatchStatementExecutor<org.apache.flink.table.data.RowData>- Throws:
SQLException
-
addToBatch
public void addToBatch(org.apache.flink.table.data.RowData record) throws SQLException- Specified by:
addToBatchin interfaceJdbcBatchStatementExecutor<org.apache.flink.table.data.RowData>- Throws:
SQLException
-
executeBatch
public void executeBatch() throws SQLExceptionDescription copied from interface:JdbcBatchStatementExecutorSubmits a batch of commands to the database for execution.- Specified by:
executeBatchin interfaceJdbcBatchStatementExecutor<org.apache.flink.table.data.RowData>- Throws:
SQLException
-
closeStatements
public void closeStatements() throws SQLExceptionDescription copied from interface:JdbcBatchStatementExecutorClose JDBC related statements.- Specified by:
closeStatementsin interfaceJdbcBatchStatementExecutor<org.apache.flink.table.data.RowData>- Throws:
SQLException
-
-