This is an automated email from the ASF dual-hosted git repository.
srowen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/spark.git
The following commit(s) were added to refs/heads/master by this push:
new 8ee09f2 [SPARK-27159][SQL] update mssql server dialect to support
binary type
8ee09f2 is described below
commit 8ee09f26d51dd0acdbada9c4d3d2baee05a7f786
Author: Zhu, Lipeng <[email protected]>
AuthorDate: Fri Mar 15 20:21:59 2019 -0500
[SPARK-27159][SQL] update mssql server dialect to support binary type
## What changes were proposed in this pull request?
Change the binary type mapping from default blob to varbinary(max) for
mssql server.
https://docs.microsoft.com/en-us/sql/t-sql/data-types/binary-and-varbinary-transact-sql?view=sql-server-2017

## How was this patch tested?
Unit test.
Closes #24091 from lipzhu/SPARK-27159.
Authored-by: Zhu, Lipeng <[email protected]>
Signed-off-by: Sean Owen <[email protected]>
---
.../scala/org/apache/spark/sql/jdbc/MsSqlServerDialect.scala | 1 +
.../src/test/scala/org/apache/spark/sql/jdbc/JDBCSuite.scala | 12 ++++++++++++
2 files changed, 13 insertions(+)
diff --git
a/sql/core/src/main/scala/org/apache/spark/sql/jdbc/MsSqlServerDialect.scala
b/sql/core/src/main/scala/org/apache/spark/sql/jdbc/MsSqlServerDialect.scala
index da787b4..29500cf 100644
--- a/sql/core/src/main/scala/org/apache/spark/sql/jdbc/MsSqlServerDialect.scala
+++ b/sql/core/src/main/scala/org/apache/spark/sql/jdbc/MsSqlServerDialect.scala
@@ -38,6 +38,7 @@ private object MsSqlServerDialect extends JdbcDialect {
case TimestampType => Some(JdbcType("DATETIME", java.sql.Types.TIMESTAMP))
case StringType => Some(JdbcType("NVARCHAR(MAX)", java.sql.Types.NVARCHAR))
case BooleanType => Some(JdbcType("BIT", java.sql.Types.BIT))
+ case BinaryType => Some(JdbcType("VARBINARY(MAX)",
java.sql.Types.VARBINARY))
case _ => None
}
diff --git a/sql/core/src/test/scala/org/apache/spark/sql/jdbc/JDBCSuite.scala
b/sql/core/src/test/scala/org/apache/spark/sql/jdbc/JDBCSuite.scala
index a4dc537..5f27e75 100644
--- a/sql/core/src/test/scala/org/apache/spark/sql/jdbc/JDBCSuite.scala
+++ b/sql/core/src/test/scala/org/apache/spark/sql/jdbc/JDBCSuite.scala
@@ -885,6 +885,18 @@ class JDBCSuite extends QueryTest
Some(TimestampType))
}
+ test("MsSqlServerDialect jdbc type mapping") {
+ val msSqlServerDialect = JdbcDialects.get("jdbc:sqlserver")
+
assert(msSqlServerDialect.getJDBCType(TimestampType).map(_.databaseTypeDefinition).get
==
+ "DATETIME")
+
assert(msSqlServerDialect.getJDBCType(StringType).map(_.databaseTypeDefinition).get
==
+ "NVARCHAR(MAX)")
+
assert(msSqlServerDialect.getJDBCType(BooleanType).map(_.databaseTypeDefinition).get
==
+ "BIT")
+
assert(msSqlServerDialect.getJDBCType(BinaryType).map(_.databaseTypeDefinition).get
==
+ "VARBINARY(MAX)")
+ }
+
test("table exists query by jdbc dialect") {
val MySQL = JdbcDialects.get("jdbc:mysql://127.0.0.1/db")
val Postgres = JdbcDialects.get("jdbc:postgresql://127.0.0.1/db")
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]