aboutsummaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
Diffstat (limited to 'sql')
-rw-r--r--sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/jdbc/JdbcUtils.scala12
1 files changed, 4 insertions, 8 deletions
diff --git a/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/jdbc/JdbcUtils.scala b/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/jdbc/JdbcUtils.scala
index 252f1cfd5d..28cd688ef7 100644
--- a/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/jdbc/JdbcUtils.scala
+++ b/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/jdbc/JdbcUtils.scala
@@ -63,14 +63,10 @@ object JdbcUtils extends Logging {
* Returns a PreparedStatement that inserts a row into table via conn.
*/
def insertStatement(conn: Connection, table: String, rddSchema: StructType): PreparedStatement = {
- val sql = new StringBuilder(s"INSERT INTO $table VALUES (")
- var fieldsLeft = rddSchema.fields.length
- while (fieldsLeft > 0) {
- sql.append("?")
- if (fieldsLeft > 1) sql.append(", ") else sql.append(")")
- fieldsLeft = fieldsLeft - 1
- }
- conn.prepareStatement(sql.toString())
+ val columns = rddSchema.fields.map(_.name).mkString(",")
+ val placeholders = rddSchema.fields.map(_ => "?").mkString(",")
+ val sql = s"INSERT INTO $table ($columns) VALUES ($placeholders)"
+ conn.prepareStatement(sql)
}
/**