Big +1 from my side. The new structure and class names look nicer now. Regarding to the compability problem, I have looked into the public APIs in flink-jdbc, there are 3 kinds of APIs now: 1) new introduced JdbcSink for DataStream users in 1.11 2) JDBCAppendTableSink, JDBCUpsertTableSink, JDBCTableSource are introduced since 1.9 3) very ancient JDBCOutputFormat and JDBCInputFormat
For (1), as it's an un-released API, so I think it's safe to move to new package. cc @Khachatryan Roman <khachatryan.ro...@gmail.com> who contributed this. For (2), because TableSource and TableSink are not designed to be accessed by users since 1.11, so I think it's fine to move them. For (3), I'm not sure how many users are still using these out-of-date classes. But I think it's fine to keep them for one more version, and drop them in the next version. Best, Jark On Thu, 30 Apr 2020 at 22:57, Flavio Pompermaier <pomperma...@okkam.it> wrote: > Very big +1 from me > > Best, > Flavio > > On Thu, Apr 30, 2020 at 4:47 PM David Anderson <da...@alpinegizmo.com> > wrote: > > > I'm very happy to see the jdbc connector being normalized in this way. +1 > > from me. > > > > David > > > > On Thu, Apr 30, 2020 at 2:14 PM Timo Walther <twal...@apache.org> wrote: > > > > > Hi Leonard, > > > > > > this sounds like a nice refactoring for consistency. +1 from my side. > > > > > > However, I'm not sure how much backwards compatibility is required. > > > Maybe others can comment on this. > > > > > > Thanks, > > > Timo > > > > > > On 30.04.20 14:09, Leonard Xu wrote: > > > > 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> > > > > > > > > > > > > > > > > >