dilipbiswal commented on a change in pull request #28953:
URL: https://github.com/apache/spark/pull/28953#discussion_r449993229
##########
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:
@moomindani
IMHO, the best behavior would be to only allow DDL or DML
(insert/update/delete) in pre and post actions. But if its not achievable, then
we have to clearly document what is allowed and ramifications of users
specifying other kind of statements. Lets please get input from @maropu and
@HyukjinKwon to decide on the best course to move forward.
----------------------------------------------------------------
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]