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)

Reply via email to