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]


Reply via email to