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)