Rik Nauta created BEAM-2376:
-------------------------------
Summary: JdbcIO should allow multiple statements
Key: BEAM-2376
URL: https://issues.apache.org/jira/browse/BEAM-2376
Project: Beam
Issue Type: Improvement
Components: sdk-java-extensions
Affects Versions: Not applicable
Reporter: Rik Nauta
Assignee: Davor Bonaci
Fix For: Not applicable
Right now the JdbcIO pipeline adds a single Write statement to the batch per
PCollection element. This makes it difficult to execute several statements that
require a specific order (for instance due to constraints in the DB), since
JDBC doesn't allow multiple statements in a single "addBatch".
For instance, I can't execute {{INSERT INTO users (id) VALUES (test); INSERT
INTO profiles (user_id, name) VALUES (test, 'John');}}
There's several ways we could solve this, one would be not to return a PDone
but just pass through the data so that you can at least chain several Writes.
Alternatively we could take the Statement string, split on the ";" character if
there is one and apply each statement to the either an array of argument
setters or the same setter with an additional {{statement_#}} parameter. And
then we simply don't commit a batch between these statements.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)