moomindani commented on a change in pull request #28953:
URL: https://github.com/apache/spark/pull/28953#discussion_r450013210



##########
File path: 
sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/jdbc/JdbcUtils.scala
##########
@@ -122,6 +122,37 @@ object JdbcUtils extends Logging {
     }
   }
 
+  /**
+   * Runs a custom query against a table from the JDBC database.
+   */
+  def runQuery(conn: Connection, actions: String, options: JDBCOptions): Unit 
= {
+    val autoCommit = conn.getAutoCommit
+    conn.setAutoCommit(false)
+    val queries = actions.split(";")
+    try {
+      queries.foreach { query =>
+        val queryString = query.trim()
+        val statement = conn.prepareStatement(queryString)
+        try {
+          statement.setQueryTimeout(options.queryTimeout)
+          val hasResultSet = statement.execute()

Review comment:
       I really appreciate your kind review. I had a quick conversation with 
@maropu and he agreed with your idea. 
   After reviewing your comment, I changed my mind to allow only DDL and DML 
(insert/update/delete) queries in `preActions/postActions` to use `addBatch()` 
and `executeBatch()` instead of looping `execute()`. I reflected changes in the 
codes and also updated docs.




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



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to