Polber commented on code in PR #28971:
URL: https://github.com/apache/beam/pull/28971#discussion_r1369231745


##########
sdks/python/apache_beam/yaml/standard_io.yaml:
##########
@@ -112,3 +112,38 @@
     'WriteToJson': 'beam:schematransform:org.apache.beam:json_write:v1'
   config:
     gradle_target: 'sdks:java:extensions:schemaio-expansion-service:shadowJar'
+
+- type: renaming
+  transforms:
+    'ReadFromJdbc': 'ReadFromJdbc'
+    'WriteToJdbc': 'WriteToJdbc'
+  config:
+    mappings:
+      'ReadFromJdbc':
+        driver_class_name: 'driverClassName'
+        jdbc_url: 'jdbcUrl'
+        username: 'username'
+        password: 'password'
+        table_name: 'location'
+        read_query: 'readQuery'
+        num_rows: 'fetchSize'
+        driver_jars: 'driverJars'
+        connection_properties: 'connectionProperties'
+        connection_init_sql: 'connectionInitSql'
+      'WriteToJdbc':
+        driver_class_name: 'driverClassName'
+        jdbc_url: 'jdbcUrl'
+        username: 'username'
+        password: 'password'
+        table_name: 'location'
+        write_statement: 'writeStatement'

Review Comment:
   The problem is the SchemaTransform does not know the table schema, so we 
can't set the order of the values in the INSERT statement based off the table 
schema. We could theoretically do a `INSERT INTO {table} (?, ?, ?) VALUES (?, 
?, ?)`, but the current `BeamRowPreparedStatementSetter` does not support 
specifying columns (It just loops of the field values and replaces the ?'s 
iteratively), so it would require a major rewrite that would unlikely be 
completed by 2.52
   
   I think that this might be worth another FR, but not blocking this PR.



-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to