spuru9 opened a new pull request, #220:
URL: https://github.com/apache/flink-connector-jdbc/pull/220
## What is the purpose of the change
The JDBC connector documentation still describes the 3.x connector.
FLINK-36659 removed the `flink-connector-jdbc` module and bumped the version to
`4.0-SNAPSHOT`, but `docs/data/jdbc.yml` was never updated, and several
features added since have gone undocumented.
As a result the docs point users at an artifact that 4.x no longer builds,
and the DataStream examples do not compile against the current release.
## Brief change log
**Dependencies and artifacts**
- Point `docs/data/jdbc.yml` at `4.0-SNAPSHOT` and list one variant per
published module instead of the removed aggregate artifact.
- Document the module split in both dependency sections, including that no
self-contained SQL uber jar is published, so `lib/` needs
`flink-connector-jdbc-core` plus the database artifact.
**DataStream API**
- Rewrite the sink section for the Sink V2 builder (`JdbcSink.builder()` /
`buildAtLeastOnce` / `buildExactlyOnce` with `sinkTo`). The documented
`JdbcSink.sink()`, `JdbcSink.exactlyOnceSink()` and `JdbcXaSinkFunction` were
removed together with the old module.
- Lead the source section with `setSplitter` and document
`PreparedSplitterEnumerator` and `SlideTimingSplitterEnumerator` (FLINK-38733),
keeping the deprecated `setSql` path in its own section with the migration.
- Fix `JdbcSourceBuilder.builder()` to `JdbcSource.builder()`.
- Add a lineage section (FLINK-34467).
**Table API**
- Correct `scan.partition.lower-bound` and `scan.partition.upper-bound` to
`Long` (`JdbcConnectorOptions.java:96-105` declares `longType()`).
- Document `compatible-mode` as OceanBase-only with its actual values,
`mysql` and `oracle`.
- Rewrite the catalog `base-url` / `default-database` semantics for
FLINK-38851, including query-parameter passthrough.
- Add CrateDB and OceanBase to the upsert grammar table, and note that
Trino has no upsert.
- Add PostgreSQL `JSON`/`JSONB` (FLINK-39224) and `UUID` (FLINK-38850) to
the data type mapping.
Applied to both `docs/content` and `docs/content.zh`.
## Verifying this change
This change is a documentation update and is verified by review.
Checks performed while preparing it:
- Every API name, option type and default was checked against
`*/src/main/java` on `main`.
- `fromData`, `sinkTo` and `DiscardingSink` (v2) were confirmed present in
`flink-runtime` and `flink-streaming-java` 2.0.0, the `flink.version` on `main`.
- No remaining references to `JdbcSink.sink`, `exactlyOnceSink`,
`JdbcXaSinkFunction`, `JdbcSourceBuilder.builder`, `addSink` or `DiscardSink`.
- Shortcode tags and code fences balance in all four documentation files.
One item worth a reviewer's eye: `docs/data/jdbc.yml` now declares nine
`variants`, and I was not able to preview how `sql_connector_download_table`
renders them. The per-module list is written out as prose above the shortcode
so the section reads correctly either way, but confirmation against the
rendered site would be useful.
## Does this pull request potentially affect one of the following parts:
- Dependencies (does it add or upgrade a dependency): **no**
- The public API, i.e., is any changed class annotated with
`@Public(Evolving)`: **no**
- The serializers: **no**
- The runtime per-record code paths (performance sensitive): **no**
- Anything that affects deployment or recovery: **no**
- The S3 file system connector: **no**
## Documentation
- Does this pull request introduce a new feature? **no**
- If yes, how is the feature documented? **docs** (this change updates
existing documentation only)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
--
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]