mobuchowski opened a new pull request #15102:
URL: https://github.com/apache/flink/pull/15102
## What is the purpose of the change
Currently datastream JDBC sink supports outputting data only to one table -
by having to provide SQL template, from which SimpleBatchStatementExecutor
creates PreparedStatement. Creating multiple sinks, each of which writes data
to one table is impractical for moderate to large number of tables - relational
databases don't usually tolerate large number of connections.
## Brief change log
- *Created DynamicBatchStatementExecutor, that dynamically creates
statements using provided JdbcStatementFactory*
- *Created associated factory functions*
## Verifying this change
This change added tests and can be verified as follows:
- *Added integration test for the feature*
- *This slightly changed code (backported for Flink 1.12) works "on
production" with oracle DB 19c, writing to ~400 tables on 24 sink instances*
## 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)`: yes
- The serializers: no
- The runtime per-record code paths (performance sensitive): no
- Anything that affects deployment or recovery: JobManager (and its
components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: no
- The S3 file system connector: no
## Documentation
- Does this pull request introduce a new feature? yes
- If yes, how is the feature documented? will be JavaDocs
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]