From 64626ffb40fbc673790a2c26297960cf97a0df77 Mon Sep 17 00:00:00 2001 From: luxu1 Date: Tue, 6 Apr 2021 12:35:56 -0400 Subject: [PATCH 1/2] change TimestampType match to datetime2 for MsSQLServerDialect --- .../scala/org/apache/spark/sql/jdbc/MsSqlServerDialect.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 f78022a950217..f28932ba6fb26 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 @@ -56,7 +56,7 @@ private object MsSqlServerDialect extends JdbcDialect { } override def getJDBCType(dt: DataType): Option[JdbcType] = dt match { - case TimestampType => Some(JdbcType("DATETIME", java.sql.Types.TIMESTAMP)) + case TimestampType => Some(JdbcType("DATETIME2", 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)) From ae35e8cdf757f29abad224d38511541783212e65 Mon Sep 17 00:00:00 2001 From: luxu1-ms Date: Thu, 3 Jun 2021 13:13:44 -0400 Subject: [PATCH 2/2] update test case for datetime2 mapping --- .../src/test/scala/org/apache/spark/sql/jdbc/JDBCSuite.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 5865ff245aa39..7dbf2c98522f0 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 @@ -938,7 +938,7 @@ class JDBCSuite extends QueryTest test("MsSqlServerDialect jdbc type mapping") { val msSqlServerDialect = JdbcDialects.get("jdbc:sqlserver") assert(msSqlServerDialect.getJDBCType(TimestampType).map(_.databaseTypeDefinition).get == - "DATETIME") + "DATETIME2") assert(msSqlServerDialect.getJDBCType(StringType).map(_.databaseTypeDefinition).get == "NVARCHAR(MAX)") assert(msSqlServerDialect.getJDBCType(BooleanType).map(_.databaseTypeDefinition).get ==