eskabetxe opened a new pull request, #180: URL: https://github.com/apache/flink-connector-jdbc/pull/180
This pull request refactors the JDBC source split enumeration logic in the Flink connector, replacing the previous `SqlTemplateSplitEnumerator` and related classes with a new abstraction called `SplitterEnumerator`. The builder and enumerator classes are updated to use this new abstraction, simplifying split management and improving extensibility. The changes also update lineage handling and testing methods to use the new splitter abstraction. ### Split Enumeration Refactoring * Replaced `SqlTemplateSplitEnumerator` and `JdbcSqlSplitEnumeratorBase` with the new `SplitterEnumerator` abstraction across `JdbcSource`, `JdbcSourceBuilder`, and `JdbcSourceEnumerator`, updating constructors, fields, and method calls accordingly. [[1]](diffhunk://#diff-0edf621823b1e62c3e5826ba6b6e0edf7834e9c2801e9c8b1c71f87b6a170adfL37-R37) [[2]](diffhunk://#diff-0edf621823b1e62c3e5826ba6b6e0edf7834e9c2801e9c8b1c71f87b6a170adfL74-R73) [[3]](diffhunk://#diff-0edf621823b1e62c3e5826ba6b6e0edf7834e9c2801e9c8b1c71f87b6a170adfL83-R89) [[4]](diffhunk://#diff-146012c0d5620209bb3a222d84608631083728c89f8bd3494123bb3711e46494L53-R100) * Updated the builder to support setting a custom `SplitterEnumerator`, and added logic to select the appropriate splitter implementation based on provided parameters. [[1]](diffhunk://#diff-c5a71b101b2c00e298beb0193faf509a6d9df943fbc066654c954abd96ce1cdeL121-R123) [[2]](diffhunk://#diff-c5a71b101b2c00e298beb0193faf509a6d9df943fbc066654c954abd96ce1cdeR137-R141) [[3]](diffhunk://#diff-c5a71b101b2c00e298beb0193faf509a6d9df943fbc066654c954abd96ce1cdeR321-R348) * Refactored enumerator startup and split assignment logic to use the new splitter, improving asynchronous split enumeration and handling both bounded and unbounded modes. ### Lineage and Testing Updates * Changed lineage vertex extraction to use the new splitter abstraction for query information, removing direct calls to `SqlTemplateSplitEnumerator`. [[1]](diffhunk://#diff-0edf621823b1e62c3e5826ba6b6e0edf7834e9c2801e9c8b1c71f87b6a170adfL218-R220) [[2]](diffhunk://#diff-40124af43e5f64e1e9fe33f1d5d5c2bdb1662c648e7aabd67143e49c2356f728L1) * Updated visible-for-testing methods to expose the new splitter abstraction instead of the old provider. ### Miscellaneous * Updated equality checks and state snapshot logic to use the new splitter abstraction and its serializable state. [[1]](diffhunk://#diff-0edf621823b1e62c3e5826ba6b6e0edf7834e9c2801e9c8b1c71f87b6a170adfL207-R208) [[2]](diffhunk://#diff-146012c0d5620209bb3a222d84608631083728c89f8bd3494123bb3711e46494L139-R146) * Removed obsolete annotations for the old split enumerator methods in the architecture violation files. -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
