This is an automated email from the ASF dual-hosted git repository.
MartijnVisser pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/flink-connector-jdbc.git
The following commit(s) were added to refs/heads/main by this push:
new 61915567 [FLINK-40746][jdbc] Deprecate the setSql-only
JdbcSourceBuilder setters
61915567 is described below
commit 6191556785112e977426b072f7c23d749689ef1e
Author: Martijn Visser <[email protected]>
AuthorDate: Tue Sep 22 10:36:37 2026 +0200
[FLINK-40746][jdbc] Deprecate the setSql-only JdbcSourceBuilder setters
- @Deprecated on setContinuousUnBoundingSettings and
setOptionalSqlSplitEnumeratorState, only the setSql path reads them
- @Internal on SqlTemplateSplitEnumerator and its
TemplateSqlSplitEnumeratorProvider
Generated-by: Claude Code (Fable 5.1)
---
.../core/datastream/source/JdbcSourceBuilder.java | 30 ++++++++++++++++------
.../enumerator/SqlTemplateSplitEnumerator.java | 3 +++
2 files changed, 25 insertions(+), 8 deletions(-)
diff --git
a/flink-connector-jdbc-core/src/main/java/org/apache/flink/connector/jdbc/core/datastream/source/JdbcSourceBuilder.java
b/flink-connector-jdbc-core/src/main/java/org/apache/flink/connector/jdbc/core/datastream/source/JdbcSourceBuilder.java
index 5671ac38..3d370a56 100644
---
a/flink-connector-jdbc-core/src/main/java/org/apache/flink/connector/jdbc/core/datastream/source/JdbcSourceBuilder.java
+++
b/flink-connector-jdbc-core/src/main/java/org/apache/flink/connector/jdbc/core/datastream/source/JdbcSourceBuilder.java
@@ -64,9 +64,11 @@ import java.util.Objects;
* .build();
* </code></pre>
*
- * <p>In order to query the JDBC source in parallel, you need to provide a
parameterized query
- * template (i.e. a valid {@link PreparedStatement}) and a {@link
JdbcParameterValuesProvider} which
- * provides binding values for the query parameters. E.g.:
+ * <p>In order to query the JDBC source in parallel, give {@link
#setSplitter(SplitterEnumerator)} a
+ * {@link
+ *
org.apache.flink.connector.jdbc.core.datastream.source.enumerator.splitter.PreparedSplitterEnumerator}
+ * built from a parameterized query template (i.e. a valid {@link
PreparedStatement}) and one row of
+ * binding values per split. E.g.:
*
* <pre><code>
*
@@ -141,7 +143,7 @@ public class JdbcSourceBuilder<OUT> {
}
/**
- * @deprecated Use {@link #setSplitter(SplitterEnumerator)} instead.
+ * @deprecated Since 4.1.0. Use {@link #setSplitter(SplitterEnumerator)}
instead.
*/
@Deprecated
public JdbcSourceBuilder<OUT> setSql(@Nonnull String sql) {
@@ -195,10 +197,16 @@ public class JdbcSourceBuilder<OUT> {
// ------ Optional
------------------------------------------------------------------
/**
- * The continuousUnBoundingSettings to discovery the next available batch
splits. Note: If the
- * value was set, the {@link #jdbcParameterValuesProvider} must specified
with the {@link
- * org.apache.flink.connector.jdbc.split.JdbcSlideTimingParameterProvider}.
+ * Settings for continuous split discovery on the deprecated {@link
#setSql(String)} path; they
+ * require {@link
#setJdbcParameterValuesProvider(JdbcParameterValuesProvider)} with a {@link
+ * JdbcSlideTimingParameterProvider}.
+ *
+ * @deprecated Since 5.0.0. Only the deprecated {@link #setSql(String)}
path reads this.
+ * Unbounded reads on the {@link #setSplitter(SplitterEnumerator)}
path use {@link
+ *
org.apache.flink.connector.jdbc.core.datastream.source.enumerator.splitter.SlideTimingSplitterEnumerator},
+ * which has no discovery interval.
*/
+ @Deprecated
public JdbcSourceBuilder<OUT> setContinuousUnBoundingSettings(
ContinuousUnBoundingSettings continuousUnBoundingSettings) {
this.continuousUnBoundingSettings = continuousUnBoundingSettings;
@@ -209,7 +217,7 @@ public class JdbcSourceBuilder<OUT> {
* If the value was set as an instance of {@link
JdbcSlideTimingParameterProvider}, it's
* required to specify the {@link #continuousUnBoundingSettings}.
*
- * @deprecated Use {@link #setSplitter(SplitterEnumerator)} instead.
+ * @deprecated Since 4.1.0. Use {@link #setSplitter(SplitterEnumerator)}
instead.
*/
@Deprecated
public JdbcSourceBuilder<OUT> setJdbcParameterValuesProvider(
@@ -275,6 +283,12 @@ public class JdbcSourceBuilder<OUT> {
return this;
}
+ /**
+ * @deprecated Since 5.0.0. Only the deprecated {@link #setSql(String)}
path reads this. A
+ * {@link SplitterEnumerator} set with {@link
#setSplitter(SplitterEnumerator)} carries its
+ * own state.
+ */
+ @Deprecated
public JdbcSourceBuilder<OUT> setOptionalSqlSplitEnumeratorState(
Serializable optionalSqlSplitEnumeratorState) {
this.optionalSqlSplitEnumeratorState = optionalSqlSplitEnumeratorState;
diff --git
a/flink-connector-jdbc-core/src/main/java/org/apache/flink/connector/jdbc/core/datastream/source/enumerator/SqlTemplateSplitEnumerator.java
b/flink-connector-jdbc-core/src/main/java/org/apache/flink/connector/jdbc/core/datastream/source/enumerator/SqlTemplateSplitEnumerator.java
index 3a16b376..f1c6c52f 100644
---
a/flink-connector-jdbc-core/src/main/java/org/apache/flink/connector/jdbc/core/datastream/source/enumerator/SqlTemplateSplitEnumerator.java
+++
b/flink-connector-jdbc-core/src/main/java/org/apache/flink/connector/jdbc/core/datastream/source/enumerator/SqlTemplateSplitEnumerator.java
@@ -18,6 +18,7 @@
package org.apache.flink.connector.jdbc.core.datastream.source.enumerator;
+import org.apache.flink.annotation.Internal;
import org.apache.flink.annotation.VisibleForTesting;
import
org.apache.flink.connector.jdbc.core.datastream.source.enumerator.splitter.PreparedSplitterEnumerator;
import
org.apache.flink.connector.jdbc.core.datastream.source.split.CheckpointedOffset;
@@ -44,6 +45,7 @@ import java.util.function.Supplier;
* @deprecated Use {@link PreparedSplitterEnumerator} instead.
*/
@Deprecated
+@Internal
public final class SqlTemplateSplitEnumerator extends
JdbcSqlSplitEnumeratorBase<JdbcSourceSplit> {
public static final Logger LOG =
LoggerFactory.getLogger(SqlTemplateSplitEnumerator.class);
@@ -112,6 +114,7 @@ public final class SqlTemplateSplitEnumerator extends
JdbcSqlSplitEnumeratorBase
/** The {@link TemplateSqlSplitEnumeratorProvider} for {@link
SqlTemplateSplitEnumerator}. */
@Deprecated
+ @Internal
public static class TemplateSqlSplitEnumeratorProvider
implements JdbcSqlSplitEnumeratorBase.Provider<JdbcSourceSplit> {