Hi, dear community Recently, I’m thinking to refactor the flink-jdbc connector structure before release 1.11. After the refactor, in the future, we can easily introduce unified pluggable JDBC dialect for Table and DataStream, and we can have a better module organization and implementations.
So, I propose following changes: 1) Use `Jdbc` instead of `JDBC` in the new public API and interface name. The Datastream API `JdbcSink` which imported in this version has followed this standard. 2) Move all interface and classes from `org.apache.flink.java.io.jdbc`(old package) to `org.apache.flink.connector.jdbc`(new package) to follow the base connector path in FLIP-27. I think we can move JDBC TableSource, TableSink and factory from old package to new package because TableEnvironment#registerTableSource、 TableEnvironment#registerTableSink will be removed in 1.11 ans these classes are not exposed to users[1]. We can move Datastream API JdbcSink from old package to new package because it’s introduced in this version. We will still keep `JDBCInputFormat` and `JDBCOoutoutFormat` in old package and deprecate them. Other classes/interfaces are internal used and we can move to new package without breaking compatibility. 3) Rename `flink-jdbc` to `flink-connector-jdbc`. well, this is a compatibility broken change but in order to comply with other connectors and it’s real a connector rather than a flink-jdc-driver[2] we’d better decide do it ASAP. What do you think? Any feedback is appreciate. Best, Leonard Xu [1]http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/DISCUSS-Remove-registration-of-TableSource-TableSink-in-Table-Env-and-ConnectTableDescriptor-td37270.html <http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/DISCUSS-Remove-registration-of-TableSource-TableSink-in-Table-Env-and-ConnectTableDescriptor-td37270.html> [2]https://github.com/ververica/flink-jdbc-driver <https://github.com/ververica/flink-jdbc-driver>