From 4aa46fe9bf532ad195d66293197bd1d59755b090 Mon Sep 17 00:00:00 2001 From: Max Gekk Date: Mon, 19 Apr 2021 21:17:54 +0300 Subject: [PATCH 1/2] Add a test --- .../SparkThriftServerProtocolVersionsSuite.scala | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/sql/hive-thriftserver/src/test/scala/org/apache/spark/sql/hive/thriftserver/SparkThriftServerProtocolVersionsSuite.scala b/sql/hive-thriftserver/src/test/scala/org/apache/spark/sql/hive/thriftserver/SparkThriftServerProtocolVersionsSuite.scala index 363436679a6c3..df9f32c8185f5 100644 --- a/sql/hive-thriftserver/src/test/scala/org/apache/spark/sql/hive/thriftserver/SparkThriftServerProtocolVersionsSuite.scala +++ b/sql/hive-thriftserver/src/test/scala/org/apache/spark/sql/hive/thriftserver/SparkThriftServerProtocolVersionsSuite.scala @@ -20,7 +20,7 @@ package org.apache.spark.sql.hive.thriftserver import java.sql.{Date, Timestamp} import java.util.{List => JList, Properties} -import org.apache.hadoop.hive.common.`type`.HiveIntervalDayTime +import org.apache.hadoop.hive.common.`type`.{HiveIntervalDayTime, HiveIntervalYearMonth} import org.apache.hive.jdbc.{HiveConnection, HiveQueryResultSet} import org.apache.hive.service.auth.PlainSaslHelper import org.apache.hive.service.cli.GetInfoType @@ -471,5 +471,17 @@ class SparkThriftServerProtocolVersionsSuite extends HiveThriftServer2TestBase { assert(metaData.getColumnType(1) === java.sql.Types.OTHER) } } + + test(s"SPARK-35018: $version get year-month interval type") { + testExecuteStatementWithProtocolVersion( + version, "SELECT INTERVAL '1-1' YEAR TO MONTH AS ym") { rs => + assert(rs.next()) + assert(rs.getObject(1) === new HiveIntervalYearMonth(1, 1)) + val metaData = rs.getMetaData + assert(metaData.getColumnName(1) === "ym") + assert(metaData.getColumnTypeName(1) === "interval_year_month") + assert(metaData.getColumnType(1) === java.sql.Types.OTHER) + } + } } } From e01c6500de299ce25d45b09ad5f994da72b8267c Mon Sep 17 00:00:00 2001 From: Max Gekk Date: Mon, 19 Apr 2021 21:21:52 +0300 Subject: [PATCH 2/2] Improve day-time test --- .../thriftserver/SparkThriftServerProtocolVersionsSuite.scala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sql/hive-thriftserver/src/test/scala/org/apache/spark/sql/hive/thriftserver/SparkThriftServerProtocolVersionsSuite.scala b/sql/hive-thriftserver/src/test/scala/org/apache/spark/sql/hive/thriftserver/SparkThriftServerProtocolVersionsSuite.scala index df9f32c8185f5..8ca33d3e1b410 100644 --- a/sql/hive-thriftserver/src/test/scala/org/apache/spark/sql/hive/thriftserver/SparkThriftServerProtocolVersionsSuite.scala +++ b/sql/hive-thriftserver/src/test/scala/org/apache/spark/sql/hive/thriftserver/SparkThriftServerProtocolVersionsSuite.scala @@ -462,9 +462,9 @@ class SparkThriftServerProtocolVersionsSuite extends HiveThriftServer2TestBase { test(s"SPARK-35017: $version get day-time interval type") { testExecuteStatementWithProtocolVersion( - version, "SELECT date'2021-01-01' - date'2020-12-31' AS dt") { rs => + version, "SELECT INTERVAL '1 10:11:12' DAY TO SECOND AS dt") { rs => assert(rs.next()) - assert(rs.getObject(1) === new HiveIntervalDayTime(1, 0, 0, 0, 0)) + assert(rs.getObject(1) === new HiveIntervalDayTime(1, 10, 11, 12, 0)) val metaData = rs.getMetaData assert(metaData.getColumnName(1) === "dt") assert(metaData.getColumnTypeName(1) === "interval_day_time")