yuxiqian commented on code in PR #3319: URL: https://github.com/apache/flink-cdc/pull/3319#discussion_r1599352772
########## flink-cdc-connect/flink-cdc-source-connectors/flink-cdc-base/src/main/java/org/apache/flink/cdc/connectors/base/source/assigner/splitter/JdbcSourceChunkSplitter.java: ########## @@ -18,104 +18,144 @@ package org.apache.flink.cdc.connectors.base.source.assigner.splitter; import org.apache.flink.cdc.common.annotation.Experimental; +import org.apache.flink.cdc.connectors.base.config.JdbcSourceConfig; +import org.apache.flink.cdc.connectors.base.dialect.JdbcDataSourceDialect; import org.apache.flink.cdc.connectors.base.source.meta.split.SnapshotSplit; +import org.apache.flink.cdc.connectors.base.source.utils.JdbcChunkUtil; +import org.apache.flink.cdc.connectors.base.utils.ObjectUtils; import org.apache.flink.table.types.DataType; import org.apache.flink.table.types.logical.LogicalTypeRoot; import org.apache.flink.table.types.logical.RowType; +import org.apache.flink.util.FlinkRuntimeException; import io.debezium.jdbc.JdbcConnection; import io.debezium.relational.Column; +import io.debezium.relational.Table; import io.debezium.relational.TableId; +import io.debezium.relational.history.TableChanges; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import javax.annotation.Nullable; + +import java.math.BigDecimal; import java.sql.SQLException; +import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import static java.math.BigDecimal.ROUND_CEILING; +import static org.apache.flink.cdc.connectors.base.utils.ObjectUtils.doubleCompare; import static org.apache.flink.table.api.DataTypes.FIELD; import static org.apache.flink.table.api.DataTypes.ROW; /** The {@code ChunkSplitter} used to split table into a set of chunks for JDBC data source. */ @Experimental -public interface JdbcSourceChunkSplitter extends ChunkSplitter { Review Comment: Is there a reason to change `Splitter` interface into an abstract class, instead of providing a `default` implementation for `generateSplits`? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@flink.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org