private List<ChunkRange> getChunks(TableId tableId, JdbcConnection jdbc, Table table) {
        if (table.primaryKeyColumns().isEmpty()) {
            // take the whole table as chunk range
            // when there is no primary key presented
            return Collections.singletonList(ChunkRange.all());
        } else {
            Column splitColumn = ChunkUtils.getSplitColumn(table);
            try {
                return splitTableIntoChunks(jdbc, tableId, splitColumn);
            } catch (SQLException e) {
                throw new FlinkRuntimeException("Failed to split chunks for table " + tableId, e);
            }
        }
    }
get chunks of the table using primary key
for those who don't have primary key, return the whole table as a chunk
@return chunks
inlong-sort/sort-flink/sort-flink-v1.13/sort-connectors/mysql-cdc/src/main/java/org/apache/inlong/sort/cdc/mysql/source/assigners/ChunkSplitter.java