aboutsummaryrefslogtreecommitdiff
path: root/sql/hive
diff options
context:
space:
mode:
Diffstat (limited to 'sql/hive')
-rw-r--r--sql/hive/compatibility/src/test/scala/org/apache/spark/sql/hive/execution/HiveCompatibilitySuite.scala10
-rw-r--r--sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveContext.scala6
-rw-r--r--sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveInspectors.scala9
-rw-r--r--sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveMetastoreCatalog.scala2
-rw-r--r--sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveQl.scala8
-rw-r--r--sql/hive/src/test/resources/golden/date_1-0-23edf29bf7376c70d5ecf12720f4b1eb0
-rw-r--r--sql/hive/src/test/resources/golden/date_1-1-4ebe3571c13a8b0c03096fbd972b7f1b0
-rw-r--r--sql/hive/src/test/resources/golden/date_1-10-d964bec7e5632091ab5cb6f6786dbbf91
-rw-r--r--sql/hive/src/test/resources/golden/date_1-11-480c5f024a28232b7857be327c9925091
-rw-r--r--sql/hive/src/test/resources/golden/date_1-12-4c0ed7fcb75770d8790575b586bf14f41
-rw-r--r--sql/hive/src/test/resources/golden/date_1-13-44fc74c1993062c0a9522199ff27fea1
-rw-r--r--sql/hive/src/test/resources/golden/date_1-14-4855a66124b16d1d0d003235995ac06b1
-rw-r--r--sql/hive/src/test/resources/golden/date_1-15-8bc190dba0f641840b5e1e198a14c55b1
-rw-r--r--sql/hive/src/test/resources/golden/date_1-16-23edf29bf7376c70d5ecf12720f4b1eb0
-rw-r--r--sql/hive/src/test/resources/golden/date_1-2-abdce0c0d14d3fc7441b7c134b02f99a0
-rw-r--r--sql/hive/src/test/resources/golden/date_1-3-df16364a220ff96a6ea1cd478cbc1d0b1
-rw-r--r--sql/hive/src/test/resources/golden/date_1-4-d964bec7e5632091ab5cb6f6786dbbf91
-rw-r--r--sql/hive/src/test/resources/golden/date_1-5-5e70fc74158fbfca38134174360de12d0
-rw-r--r--sql/hive/src/test/resources/golden/date_1-6-df16364a220ff96a6ea1cd478cbc1d0b1
-rw-r--r--sql/hive/src/test/resources/golden/date_1-7-d964bec7e5632091ab5cb6f6786dbbf91
-rw-r--r--sql/hive/src/test/resources/golden/date_1-8-1d5c58095cd52ea539d869f2ab1ab67d0
-rw-r--r--sql/hive/src/test/resources/golden/date_1-9-df16364a220ff96a6ea1cd478cbc1d0b1
-rw-r--r--sql/hive/src/test/resources/golden/date_2-3-eedb73e0a622c2ab760b524f395dd4ba137
-rw-r--r--sql/hive/src/test/resources/golden/date_2-4-3618dfde8da7c26f03bca72970db9ef7137
-rw-r--r--sql/hive/src/test/resources/golden/date_2-5-fe9bebfc8994ddd8d7cd0208c1f0af3c12
-rw-r--r--sql/hive/src/test/resources/golden/date_2-6-f4edce7cb20f325e8b69e787b2ae88820
-rw-r--r--sql/hive/src/test/resources/golden/date_3-3-4cf49e71b636df754871a675f9e4e240
-rw-r--r--sql/hive/src/test/resources/golden/date_3-4-e009f358964f6d1236cfc03283e2b06f1
-rw-r--r--sql/hive/src/test/resources/golden/date_3-5-c26de4559926ddb0127d2dc5ea1547740
-rw-r--r--sql/hive/src/test/resources/golden/date_4-0-b84f7e931d710dcbe3c5126d998285a80
-rw-r--r--sql/hive/src/test/resources/golden/date_4-1-6272f5e518f6a20bc96a5870ff315c4f0
-rw-r--r--sql/hive/src/test/resources/golden/date_4-2-4a0e7bde447ef616b98e0f55d2886de00
-rw-r--r--sql/hive/src/test/resources/golden/date_4-3-a23faa56b5d3ca9063a21f72b4278b000
-rw-r--r--sql/hive/src/test/resources/golden/date_4-4-bee09a7384666043621f68297cee2e681
-rw-r--r--sql/hive/src/test/resources/golden/date_4-5-b84f7e931d710dcbe3c5126d998285a80
-rw-r--r--sql/hive/src/test/resources/golden/date_comparison-0-69eec445bd045c9dc899fafa348d84951
-rw-r--r--sql/hive/src/test/resources/golden/date_comparison-1-fcc400871a502009c8680509e3869ec11
-rw-r--r--sql/hive/src/test/resources/golden/date_comparison-10-a9f2560c273163e11306d4f1dd1d9d541
-rw-r--r--sql/hive/src/test/resources/golden/date_comparison-11-4a7bac9ddcf40db6329faaec8e4265431
-rw-r--r--sql/hive/src/test/resources/golden/date_comparison-2-b8598a4d0c948c2ddcf3eeef0abf22641
-rw-r--r--sql/hive/src/test/resources/golden/date_comparison-3-14d35f266be9cceb11a2ae09ec8b38351
-rw-r--r--sql/hive/src/test/resources/golden/date_comparison-4-c8865b14d53f2c2496fb69ee8191bf371
-rw-r--r--sql/hive/src/test/resources/golden/date_comparison-5-f2c907e64da8166a731ddc0ed19bad6c1
-rw-r--r--sql/hive/src/test/resources/golden/date_comparison-6-5606505a92bad10023ad9a3ef77eacc91
-rw-r--r--sql/hive/src/test/resources/golden/date_comparison-7-47913d4aaf0d468ab3764cc3bfd68eb1
-rw-r--r--sql/hive/src/test/resources/golden/date_comparison-8-1e5ce4f833b6fba45618437c8fb7643c1
-rw-r--r--sql/hive/src/test/resources/golden/date_comparison-9-bcd987341fc1c38047a27d29dac6ae7c1
-rw-r--r--sql/hive/src/test/resources/golden/date_join1-3-f71c7be760fb4de4eff8225f2c6614b222
-rw-r--r--sql/hive/src/test/resources/golden/date_join1-4-70b9b49c55699fe94cfde069f5d197c0
-rw-r--r--sql/hive/src/test/resources/golden/date_serde-10-d80e681519dcd8f5078c5602bb5befa90
-rw-r--r--sql/hive/src/test/resources/golden/date_serde-11-29540200936bba47f17553547b409af70
-rw-r--r--sql/hive/src/test/resources/golden/date_serde-12-c3c3275658b89d31fc504db31ae9f99c0
-rw-r--r--sql/hive/src/test/resources/golden/date_serde-13-6c546456c81e635b6753e1552fac91291
-rw-r--r--sql/hive/src/test/resources/golden/date_serde-14-f8ba18cc7b0225b4022299c44d4351011
-rw-r--r--sql/hive/src/test/resources/golden/date_serde-15-66fadc9bcea7d107a610758aa6f50ff30
-rw-r--r--sql/hive/src/test/resources/golden/date_serde-16-1bd3345b46f77e17810978e56f9f7c6b0
-rw-r--r--sql/hive/src/test/resources/golden/date_serde-17-a0df43062f8ab676ef728c9968443f120
-rw-r--r--sql/hive/src/test/resources/golden/date_serde-18-b50ecc72ce9018ab12fb17568fef038a1
-rw-r--r--sql/hive/src/test/resources/golden/date_serde-19-28f1cf92bdd6b2e5d328cd9d10f828b61
-rw-r--r--sql/hive/src/test/resources/golden/date_serde-20-588516368d8c1533cb7bfb2157fd58c10
-rw-r--r--sql/hive/src/test/resources/golden/date_serde-21-dfe166fe053468e738dca23ebe0430910
-rw-r--r--sql/hive/src/test/resources/golden/date_serde-22-45240a488fb708e432d2f45b74ef7e630
-rw-r--r--sql/hive/src/test/resources/golden/date_serde-23-1742a51e4967a8d263572d890cd8d4a81
-rw-r--r--sql/hive/src/test/resources/golden/date_serde-24-14fd49bd6fee907c1699f7b4e26685b1
-rw-r--r--sql/hive/src/test/resources/golden/date_serde-25-a199cf185184a25190d65c123d0694ee0
-rw-r--r--sql/hive/src/test/resources/golden/date_serde-26-c5fa68d9aff36f22e5edc1b54332d0ab0
-rw-r--r--sql/hive/src/test/resources/golden/date_serde-27-4d86c79f858866acec3c37f6598c26380
-rw-r--r--sql/hive/src/test/resources/golden/date_serde-28-16a41fc9e0f51eb417c763bae8e9cadb1
-rw-r--r--sql/hive/src/test/resources/golden/date_serde-29-bd1cb09aacd906527b0bbf43bbded8121
-rw-r--r--sql/hive/src/test/resources/golden/date_serde-30-7c80741f9f485729afc68609c55423a00
-rw-r--r--sql/hive/src/test/resources/golden/date_serde-31-da36cd1654aee055cb3650133c9d11f0
-rw-r--r--sql/hive/src/test/resources/golden/date_serde-32-bb2f76bd307ed616a3c797f8dd45a8d10
-rw-r--r--sql/hive/src/test/resources/golden/date_serde-33-a742813b024e6dcfb4a358aa4e9fcdb61
-rw-r--r--sql/hive/src/test/resources/golden/date_serde-34-6485841336c097895ad5b34f42c0745f1
-rw-r--r--sql/hive/src/test/resources/golden/date_serde-35-8651a7c351cbc07fb1af6193f6885de80
-rw-r--r--sql/hive/src/test/resources/golden/date_serde-36-36e6041f53433482631018410bb62a990
-rw-r--r--sql/hive/src/test/resources/golden/date_serde-37-3ddfd8ecb28991aeed588f1ea852c4270
-rw-r--r--sql/hive/src/test/resources/golden/date_serde-38-e6167e27465514356c557a77d956ea460
-rw-r--r--sql/hive/src/test/resources/golden/date_serde-39-c1e17c93582656c12970c37bac153bf20
-rw-r--r--sql/hive/src/test/resources/golden/date_serde-40-4a17944b9ec8999bb20c5ba5d4cb877c0
-rw-r--r--sql/hive/src/test/resources/golden/date_serde-8-cace4f60a08342f58fbe816a9c3a73cf137
-rw-r--r--sql/hive/src/test/resources/golden/date_serde-9-436c3c61cc4278b54ac79c53c88ff42212
-rw-r--r--sql/hive/src/test/resources/golden/date_udf-0-84604a42a5d7f2842f1eec10c689d4470
-rw-r--r--sql/hive/src/test/resources/golden/date_udf-1-5e8136f6a6503ae9bef9beca80fada130
-rw-r--r--sql/hive/src/test/resources/golden/date_udf-10-988ad9744096a29a3672a2d4c121299b1
-rw-r--r--sql/hive/src/test/resources/golden/date_udf-11-a5100dd42201b5bc035a9d684cc21bdc1
-rw-r--r--sql/hive/src/test/resources/golden/date_udf-12-eb7280a1f191344a99eaa0f805e8faff1
-rw-r--r--sql/hive/src/test/resources/golden/date_udf-13-cc99e4f14fd092994b006ee7ebe4fc921
-rw-r--r--sql/hive/src/test/resources/golden/date_udf-14-a6a5ce5134cc1125355a4bdf0a73d971
-rw-r--r--sql/hive/src/test/resources/golden/date_udf-15-d031ee50c119d7c6acafd53543dbd0c41
-rw-r--r--sql/hive/src/test/resources/golden/date_udf-16-dc59f69e1685e8d923b187ec50d80f061
-rw-r--r--sql/hive/src/test/resources/golden/date_udf-17-7d046d4efc568049cf3792470b6feab91
-rw-r--r--sql/hive/src/test/resources/golden/date_udf-18-84604a42a5d7f2842f1eec10c689d4470
-rw-r--r--sql/hive/src/test/resources/golden/date_udf-19-5e8136f6a6503ae9bef9beca80fada130
-rw-r--r--sql/hive/src/test/resources/golden/date_udf-2-10e337c34d1e82a360b8599988f4b2660
-rw-r--r--sql/hive/src/test/resources/golden/date_udf-20-10e337c34d1e82a360b8599988f4b2660
-rw-r--r--sql/hive/src/test/resources/golden/date_udf-3-29e406e613c0284b3e16a8943a4d31bd0
-rw-r--r--sql/hive/src/test/resources/golden/date_udf-4-23653315213f578856ab5c3bd80c02640
-rw-r--r--sql/hive/src/test/resources/golden/date_udf-5-891fd92a4787b9789f6d1f51c1eddc8a0
-rw-r--r--sql/hive/src/test/resources/golden/date_udf-6-3473c118d20783eafb456043a2ee5d5b0
-rw-r--r--sql/hive/src/test/resources/golden/date_udf-7-9fb5165824e161074565e7500959c1b20
-rw-r--r--sql/hive/src/test/resources/golden/date_udf-8-badfe833681362092fc6345f888b1c211
-rw-r--r--sql/hive/src/test/resources/golden/date_udf-9-a8cbb039661d796beaa0d1564c58c5631
-rw-r--r--sql/hive/src/test/resources/golden/partition_date-0-7ec1f3a845e2c49191460e15af30aa300
-rw-r--r--sql/hive/src/test/resources/golden/partition_date-1-916193405ce5e020dcd32c58325db6fe0
-rw-r--r--sql/hive/src/test/resources/golden/partition_date-10-a8dde9c0b5746dd770c9c262d23ffb101
-rw-r--r--sql/hive/src/test/resources/golden/partition_date-11-fdface2fb6eef67f15bb7d0de22949571
-rw-r--r--sql/hive/src/test/resources/golden/partition_date-12-9b945f8ece6e09ad28c866ff3a10cc241
-rw-r--r--sql/hive/src/test/resources/golden/partition_date-13-b7cb91c7c459798078a79071d329dbf1
-rw-r--r--sql/hive/src/test/resources/golden/partition_date-14-e4366325f3a0c4a8e92be59f4de73fce1
-rw-r--r--sql/hive/src/test/resources/golden/partition_date-15-a062a6e87867d8c8cfbdad97bedcbe5f1
-rw-r--r--sql/hive/src/test/resources/golden/partition_date-16-22a5627d9ac112665eae01d07a91c89c1
-rw-r--r--sql/hive/src/test/resources/golden/partition_date-17-b9ce94ef93cb16d629af7d7f8ee637e1
-rw-r--r--sql/hive/src/test/resources/golden/partition_date-18-72c6e9a4e0b434cef67144825346c6871
-rw-r--r--sql/hive/src/test/resources/golden/partition_date-19-44e5165eb210559e420105073bc961251
-rw-r--r--sql/hive/src/test/resources/golden/partition_date-2-e2e70ac0f4e0ea987b49b86f73d819c90
-rw-r--r--sql/hive/src/test/resources/golden/partition_date-20-7ec1f3a845e2c49191460e15af30aa300
-rw-r--r--sql/hive/src/test/resources/golden/partition_date-3-c938b08f57d588926a5d5fbfa45310120
-rw-r--r--sql/hive/src/test/resources/golden/partition_date-4-a93eff99ce43bb939ec1d6464c0ef0b30
-rw-r--r--sql/hive/src/test/resources/golden/partition_date-5-a855aba47876561fd4fb095e095806860
-rw-r--r--sql/hive/src/test/resources/golden/partition_date-6-1405c311915f27b0cc616c83d39eaacc2
-rw-r--r--sql/hive/src/test/resources/golden/partition_date-7-2ac950d8d5656549dd453e5464cb85305
-rw-r--r--sql/hive/src/test/resources/golden/partition_date-8-a425c11c12c9ce4c9c43d4fbccee53471
-rw-r--r--sql/hive/src/test/resources/golden/partition_date-9-aad6078a09b7bd8f5141437e86bb229f1
-rw-r--r--sql/hive/src/test/resources/golden/partition_type_check-12-7e053ba4f9dea1e74c1d04c557c3adac6
-rw-r--r--sql/hive/src/test/resources/golden/partition_type_check-13-45fb706ff448da1fe609c7ff76a80d4d0
-rw-r--r--sql/hive/src/test/resources/golden/union_date-6-f4d5c71145a9b7464685aa7d09cd4dfd40
-rw-r--r--sql/hive/src/test/resources/golden/union_date-7-a0bade1c77338d4f72962389a1f5bea20
-rw-r--r--sql/hive/src/test/resources/golden/union_date-8-21306adbd8be8ad75174ad9d3e42b73c0
129 files changed, 600 insertions, 2 deletions
diff --git a/sql/hive/compatibility/src/test/scala/org/apache/spark/sql/hive/execution/HiveCompatibilitySuite.scala b/sql/hive/compatibility/src/test/scala/org/apache/spark/sql/hive/execution/HiveCompatibilitySuite.scala
index 35e9c9939d..463888551a 100644
--- a/sql/hive/compatibility/src/test/scala/org/apache/spark/sql/hive/execution/HiveCompatibilitySuite.scala
+++ b/sql/hive/compatibility/src/test/scala/org/apache/spark/sql/hive/execution/HiveCompatibilitySuite.scala
@@ -343,6 +343,13 @@ class HiveCompatibilitySuite extends HiveQueryFileTest with BeforeAndAfter {
"ct_case_insensitive",
"database_location",
"database_properties",
+ "date_2",
+ "date_3",
+ "date_4",
+ "date_comparison",
+ "date_join1",
+ "date_serde",
+ "date_udf",
"decimal_1",
"decimal_4",
"decimal_join",
@@ -604,8 +611,10 @@ class HiveCompatibilitySuite extends HiveQueryFileTest with BeforeAndAfter {
"part_inherit_tbl_props",
"part_inherit_tbl_props_empty",
"part_inherit_tbl_props_with_star",
+ "partition_date",
"partition_schema1",
"partition_serde_format",
+ "partition_type_check",
"partition_varchar1",
"partition_wise_fileformat4",
"partition_wise_fileformat5",
@@ -904,6 +913,7 @@ class HiveCompatibilitySuite extends HiveQueryFileTest with BeforeAndAfter {
"union7",
"union8",
"union9",
+ "union_date",
"union_lateralview",
"union_ppr",
"union_remove_11",
diff --git a/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveContext.scala b/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveContext.scala
index fad3b39f81..8b5a90159e 100644
--- a/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveContext.scala
+++ b/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveContext.scala
@@ -18,7 +18,7 @@
package org.apache.spark.sql.hive
import java.io.{BufferedReader, File, InputStreamReader, PrintStream}
-import java.sql.Timestamp
+import java.sql.{Date, Timestamp}
import java.util.{ArrayList => JArrayList}
import scala.collection.JavaConversions._
@@ -34,6 +34,7 @@ import org.apache.hadoop.hive.ql.processors._
import org.apache.hadoop.hive.ql.session.SessionState
import org.apache.hadoop.hive.ql.stats.StatsSetupConst
import org.apache.hadoop.hive.serde2.io.TimestampWritable
+import org.apache.hadoop.hive.serde2.io.DateWritable
import org.apache.spark.SparkContext
import org.apache.spark.rdd.RDD
@@ -357,7 +358,7 @@ class HiveContext(sc: SparkContext) extends SQLContext(sc) {
protected val primitiveTypes =
Seq(StringType, IntegerType, LongType, DoubleType, FloatType, BooleanType, ByteType,
- ShortType, DecimalType, TimestampType, BinaryType)
+ ShortType, DecimalType, DateType, TimestampType, BinaryType)
protected[sql] def toHiveString(a: (Any, DataType)): String = a match {
case (struct: Row, StructType(fields)) =>
@@ -372,6 +373,7 @@ class HiveContext(sc: SparkContext) extends SQLContext(sc) {
toHiveStructString((key, kType)) + ":" + toHiveStructString((value, vType))
}.toSeq.sorted.mkString("{", ",", "}")
case (null, _) => "NULL"
+ case (d: Date, DateType) => new DateWritable(d).toString
case (t: Timestamp, TimestampType) => new TimestampWritable(t).toString
case (bin: Array[Byte], BinaryType) => new String(bin, "UTF-8")
case (other, tpe) if primitiveTypes contains tpe => other.toString
diff --git a/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveInspectors.scala b/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveInspectors.scala
index d633c42c6b..1977618b4c 100644
--- a/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveInspectors.scala
+++ b/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveInspectors.scala
@@ -39,6 +39,7 @@ private[hive] trait HiveInspectors {
case c: Class[_] if c == classOf[hiveIo.HiveDecimalWritable] => DecimalType
case c: Class[_] if c == classOf[hiveIo.ByteWritable] => ByteType
case c: Class[_] if c == classOf[hiveIo.ShortWritable] => ShortType
+ case c: Class[_] if c == classOf[hiveIo.DateWritable] => DateType
case c: Class[_] if c == classOf[hiveIo.TimestampWritable] => TimestampType
case c: Class[_] if c == classOf[hadoopIo.Text] => StringType
case c: Class[_] if c == classOf[hadoopIo.IntWritable] => IntegerType
@@ -49,6 +50,7 @@ private[hive] trait HiveInspectors {
// java class
case c: Class[_] if c == classOf[java.lang.String] => StringType
+ case c: Class[_] if c == classOf[java.sql.Date] => DateType
case c: Class[_] if c == classOf[java.sql.Timestamp] => TimestampType
case c: Class[_] if c == classOf[HiveDecimal] => DecimalType
case c: Class[_] if c == classOf[java.math.BigDecimal] => DecimalType
@@ -93,6 +95,7 @@ private[hive] trait HiveInspectors {
System.arraycopy(b.getBytes(), 0, bytes, 0, b.getLength)
bytes
}
+ case d: hiveIo.DateWritable => d.get
case t: hiveIo.TimestampWritable => t.getTimestamp
case b: hiveIo.HiveDecimalWritable => BigDecimal(b.getHiveDecimal().bigDecimalValue())
case list: java.util.List[_] => list.map(unwrap)
@@ -108,6 +111,7 @@ private[hive] trait HiveInspectors {
case str: String => str
case p: java.math.BigDecimal => p
case p: Array[Byte] => p
+ case p: java.sql.Date => p
case p: java.sql.Timestamp => p
}
@@ -147,6 +151,7 @@ private[hive] trait HiveInspectors {
case l: Byte => l: java.lang.Byte
case b: BigDecimal => new HiveDecimal(b.underlying())
case b: Array[Byte] => b
+ case d: java.sql.Date => d
case t: java.sql.Timestamp => t
case s: Seq[_] => seqAsJavaList(s.map(wrap))
case m: Map[_,_] =>
@@ -173,6 +178,7 @@ private[hive] trait HiveInspectors {
case ByteType => PrimitiveObjectInspectorFactory.javaByteObjectInspector
case NullType => PrimitiveObjectInspectorFactory.javaVoidObjectInspector
case BinaryType => PrimitiveObjectInspectorFactory.javaByteArrayObjectInspector
+ case DateType => PrimitiveObjectInspectorFactory.javaDateObjectInspector
case TimestampType => PrimitiveObjectInspectorFactory.javaTimestampObjectInspector
case DecimalType => PrimitiveObjectInspectorFactory.javaHiveDecimalObjectInspector
case StructType(fields) =>
@@ -211,6 +217,8 @@ private[hive] trait HiveInspectors {
case _: JavaBinaryObjectInspector => BinaryType
case _: WritableHiveDecimalObjectInspector => DecimalType
case _: JavaHiveDecimalObjectInspector => DecimalType
+ case _: WritableDateObjectInspector => DateType
+ case _: JavaDateObjectInspector => DateType
case _: WritableTimestampObjectInspector => TimestampType
case _: JavaTimestampObjectInspector => TimestampType
case _: WritableVoidObjectInspector => NullType
@@ -238,6 +246,7 @@ private[hive] trait HiveInspectors {
case ShortType => shortTypeInfo
case StringType => stringTypeInfo
case DecimalType => decimalTypeInfo
+ case DateType => dateTypeInfo
case TimestampType => timestampTypeInfo
case NullType => voidTypeInfo
}
diff --git a/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveMetastoreCatalog.scala b/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveMetastoreCatalog.scala
index addd5bed84..c5fee5e470 100644
--- a/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveMetastoreCatalog.scala
+++ b/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveMetastoreCatalog.scala
@@ -186,6 +186,7 @@ object HiveMetastoreTypes extends RegexParsers {
"binary" ^^^ BinaryType |
"boolean" ^^^ BooleanType |
"decimal" ^^^ DecimalType |
+ "date" ^^^ DateType |
"timestamp" ^^^ TimestampType |
"varchar\\((\\d+)\\)".r ^^^ StringType
@@ -235,6 +236,7 @@ object HiveMetastoreTypes extends RegexParsers {
case LongType => "bigint"
case BinaryType => "binary"
case BooleanType => "boolean"
+ case DateType => "date"
case DecimalType => "decimal"
case TimestampType => "timestamp"
case NullType => "void"
diff --git a/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveQl.scala b/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveQl.scala
index 7cc14dc7a9..2b599157d1 100644
--- a/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveQl.scala
+++ b/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveQl.scala
@@ -17,6 +17,8 @@
package org.apache.spark.sql.hive
+import java.sql.Date
+
import org.apache.hadoop.hive.ql.lib.Node
import org.apache.hadoop.hive.ql.parse._
import org.apache.hadoop.hive.ql.plan.PlanUtils
@@ -317,6 +319,7 @@ private[hive] object HiveQl {
case Token("TOK_STRING", Nil) => StringType
case Token("TOK_FLOAT", Nil) => FloatType
case Token("TOK_DOUBLE", Nil) => DoubleType
+ case Token("TOK_DATE", Nil) => DateType
case Token("TOK_TIMESTAMP", Nil) => TimestampType
case Token("TOK_BINARY", Nil) => BinaryType
case Token("TOK_LIST", elementType :: Nil) => ArrayType(nodeToDataType(elementType))
@@ -924,6 +927,8 @@ private[hive] object HiveQl {
Cast(nodeToExpr(arg), DecimalType)
case Token("TOK_FUNCTION", Token("TOK_TIMESTAMP", Nil) :: arg :: Nil) =>
Cast(nodeToExpr(arg), TimestampType)
+ case Token("TOK_FUNCTION", Token("TOK_DATE", Nil) :: arg :: Nil) =>
+ Cast(nodeToExpr(arg), DateType)
/* Arithmetic */
case Token("-", child :: Nil) => UnaryMinus(nodeToExpr(child))
@@ -1047,6 +1052,9 @@ private[hive] object HiveQl {
case ast: ASTNode if ast.getType == HiveParser.StringLiteral =>
Literal(BaseSemanticAnalyzer.unescapeSQLString(ast.getText))
+ case ast: ASTNode if ast.getType == HiveParser.TOK_DATELITERAL =>
+ Literal(Date.valueOf(ast.getText.substring(1, ast.getText.length - 1)))
+
case a: ASTNode =>
throw new NotImplementedError(
s"""No parse rules for ASTNode type: ${a.getType}, text: ${a.getText} :
diff --git a/sql/hive/src/test/resources/golden/date_1-0-23edf29bf7376c70d5ecf12720f4b1eb b/sql/hive/src/test/resources/golden/date_1-0-23edf29bf7376c70d5ecf12720f4b1eb
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_1-0-23edf29bf7376c70d5ecf12720f4b1eb
diff --git a/sql/hive/src/test/resources/golden/date_1-1-4ebe3571c13a8b0c03096fbd972b7f1b b/sql/hive/src/test/resources/golden/date_1-1-4ebe3571c13a8b0c03096fbd972b7f1b
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_1-1-4ebe3571c13a8b0c03096fbd972b7f1b
diff --git a/sql/hive/src/test/resources/golden/date_1-10-d964bec7e5632091ab5cb6f6786dbbf9 b/sql/hive/src/test/resources/golden/date_1-10-d964bec7e5632091ab5cb6f6786dbbf9
new file mode 100644
index 0000000000..8fb5edae63
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_1-10-d964bec7e5632091ab5cb6f6786dbbf9
@@ -0,0 +1 @@
+2011-01-01 1
diff --git a/sql/hive/src/test/resources/golden/date_1-11-480c5f024a28232b7857be327c992509 b/sql/hive/src/test/resources/golden/date_1-11-480c5f024a28232b7857be327c992509
new file mode 100644
index 0000000000..5a368ab170
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_1-11-480c5f024a28232b7857be327c992509
@@ -0,0 +1 @@
+2012-01-01 2011-01-01 2011-01-01 00:00:00 2011-01-01 2011-01-01
diff --git a/sql/hive/src/test/resources/golden/date_1-12-4c0ed7fcb75770d8790575b586bf14f4 b/sql/hive/src/test/resources/golden/date_1-12-4c0ed7fcb75770d8790575b586bf14f4
new file mode 100644
index 0000000000..edb4b1f840
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_1-12-4c0ed7fcb75770d8790575b586bf14f4
@@ -0,0 +1 @@
+NULL NULL NULL NULL NULL NULL NULL
diff --git a/sql/hive/src/test/resources/golden/date_1-13-44fc74c1993062c0a9522199ff27fea b/sql/hive/src/test/resources/golden/date_1-13-44fc74c1993062c0a9522199ff27fea
new file mode 100644
index 0000000000..2af0b9ed3a
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_1-13-44fc74c1993062c0a9522199ff27fea
@@ -0,0 +1 @@
+true true true true true true true true true true
diff --git a/sql/hive/src/test/resources/golden/date_1-14-4855a66124b16d1d0d003235995ac06b b/sql/hive/src/test/resources/golden/date_1-14-4855a66124b16d1d0d003235995ac06b
new file mode 100644
index 0000000000..d8dfbf6000
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_1-14-4855a66124b16d1d0d003235995ac06b
@@ -0,0 +1 @@
+2001-01-28 2001-02-28 2001-03-28 2001-04-28 2001-05-28 2001-06-28 2001-07-28 2001-08-28 2001-09-28 2001-10-28 2001-11-28 2001-12-28
diff --git a/sql/hive/src/test/resources/golden/date_1-15-8bc190dba0f641840b5e1e198a14c55b b/sql/hive/src/test/resources/golden/date_1-15-8bc190dba0f641840b5e1e198a14c55b
new file mode 100644
index 0000000000..4f6a1bc427
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_1-15-8bc190dba0f641840b5e1e198a14c55b
@@ -0,0 +1 @@
+true true true true true true true true true true true true
diff --git a/sql/hive/src/test/resources/golden/date_1-16-23edf29bf7376c70d5ecf12720f4b1eb b/sql/hive/src/test/resources/golden/date_1-16-23edf29bf7376c70d5ecf12720f4b1eb
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_1-16-23edf29bf7376c70d5ecf12720f4b1eb
diff --git a/sql/hive/src/test/resources/golden/date_1-2-abdce0c0d14d3fc7441b7c134b02f99a b/sql/hive/src/test/resources/golden/date_1-2-abdce0c0d14d3fc7441b7c134b02f99a
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_1-2-abdce0c0d14d3fc7441b7c134b02f99a
diff --git a/sql/hive/src/test/resources/golden/date_1-3-df16364a220ff96a6ea1cd478cbc1d0b b/sql/hive/src/test/resources/golden/date_1-3-df16364a220ff96a6ea1cd478cbc1d0b
new file mode 100644
index 0000000000..963bc42fde
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_1-3-df16364a220ff96a6ea1cd478cbc1d0b
@@ -0,0 +1 @@
+2011-01-01
diff --git a/sql/hive/src/test/resources/golden/date_1-4-d964bec7e5632091ab5cb6f6786dbbf9 b/sql/hive/src/test/resources/golden/date_1-4-d964bec7e5632091ab5cb6f6786dbbf9
new file mode 100644
index 0000000000..8fb5edae63
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_1-4-d964bec7e5632091ab5cb6f6786dbbf9
@@ -0,0 +1 @@
+2011-01-01 1
diff --git a/sql/hive/src/test/resources/golden/date_1-5-5e70fc74158fbfca38134174360de12d b/sql/hive/src/test/resources/golden/date_1-5-5e70fc74158fbfca38134174360de12d
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_1-5-5e70fc74158fbfca38134174360de12d
diff --git a/sql/hive/src/test/resources/golden/date_1-6-df16364a220ff96a6ea1cd478cbc1d0b b/sql/hive/src/test/resources/golden/date_1-6-df16364a220ff96a6ea1cd478cbc1d0b
new file mode 100644
index 0000000000..963bc42fde
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_1-6-df16364a220ff96a6ea1cd478cbc1d0b
@@ -0,0 +1 @@
+2011-01-01
diff --git a/sql/hive/src/test/resources/golden/date_1-7-d964bec7e5632091ab5cb6f6786dbbf9 b/sql/hive/src/test/resources/golden/date_1-7-d964bec7e5632091ab5cb6f6786dbbf9
new file mode 100644
index 0000000000..8fb5edae63
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_1-7-d964bec7e5632091ab5cb6f6786dbbf9
@@ -0,0 +1 @@
+2011-01-01 1
diff --git a/sql/hive/src/test/resources/golden/date_1-8-1d5c58095cd52ea539d869f2ab1ab67d b/sql/hive/src/test/resources/golden/date_1-8-1d5c58095cd52ea539d869f2ab1ab67d
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_1-8-1d5c58095cd52ea539d869f2ab1ab67d
diff --git a/sql/hive/src/test/resources/golden/date_1-9-df16364a220ff96a6ea1cd478cbc1d0b b/sql/hive/src/test/resources/golden/date_1-9-df16364a220ff96a6ea1cd478cbc1d0b
new file mode 100644
index 0000000000..963bc42fde
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_1-9-df16364a220ff96a6ea1cd478cbc1d0b
@@ -0,0 +1 @@
+2011-01-01
diff --git a/sql/hive/src/test/resources/golden/date_2-3-eedb73e0a622c2ab760b524f395dd4ba b/sql/hive/src/test/resources/golden/date_2-3-eedb73e0a622c2ab760b524f395dd4ba
new file mode 100644
index 0000000000..db973ab292
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_2-3-eedb73e0a622c2ab760b524f395dd4ba
@@ -0,0 +1,137 @@
+2010-10-20 7291
+2010-10-20 3198
+2010-10-20 3014
+2010-10-20 2630
+2010-10-20 1610
+2010-10-20 1599
+2010-10-20 1531
+2010-10-20 1142
+2010-10-20 1064
+2010-10-20 897
+2010-10-20 361
+2010-10-21 7291
+2010-10-21 3198
+2010-10-21 3014
+2010-10-21 2646
+2010-10-21 2630
+2010-10-21 1610
+2010-10-21 1599
+2010-10-21 1531
+2010-10-21 1142
+2010-10-21 1064
+2010-10-21 897
+2010-10-21 361
+2010-10-22 3198
+2010-10-22 3014
+2010-10-22 2646
+2010-10-22 2630
+2010-10-22 1610
+2010-10-22 1599
+2010-10-22 1531
+2010-10-22 1142
+2010-10-22 1064
+2010-10-22 897
+2010-10-22 361
+2010-10-23 7274
+2010-10-23 5917
+2010-10-23 5904
+2010-10-23 5832
+2010-10-23 3171
+2010-10-23 3085
+2010-10-23 2932
+2010-10-23 1805
+2010-10-23 650
+2010-10-23 426
+2010-10-23 384
+2010-10-23 272
+2010-10-24 7282
+2010-10-24 3198
+2010-10-24 3014
+2010-10-24 2646
+2010-10-24 2630
+2010-10-24 2571
+2010-10-24 2254
+2010-10-24 1610
+2010-10-24 1599
+2010-10-24 1531
+2010-10-24 897
+2010-10-24 361
+2010-10-25 7291
+2010-10-25 3198
+2010-10-25 3014
+2010-10-25 2646
+2010-10-25 2630
+2010-10-25 1610
+2010-10-25 1599
+2010-10-25 1531
+2010-10-25 1142
+2010-10-25 1064
+2010-10-25 897
+2010-10-25 361
+2010-10-26 7291
+2010-10-26 3198
+2010-10-26 3014
+2010-10-26 2662
+2010-10-26 2646
+2010-10-26 2630
+2010-10-26 1610
+2010-10-26 1599
+2010-10-26 1531
+2010-10-26 1142
+2010-10-26 1064
+2010-10-26 897
+2010-10-26 361
+2010-10-27 7291
+2010-10-27 3198
+2010-10-27 3014
+2010-10-27 2630
+2010-10-27 1610
+2010-10-27 1599
+2010-10-27 1531
+2010-10-27 1142
+2010-10-27 1064
+2010-10-27 897
+2010-10-27 361
+2010-10-28 7291
+2010-10-28 3198
+2010-10-28 3014
+2010-10-28 2646
+2010-10-28 2630
+2010-10-28 1610
+2010-10-28 1599
+2010-10-28 1531
+2010-10-28 1142
+2010-10-28 1064
+2010-10-28 897
+2010-10-28 361
+2010-10-29 7291
+2010-10-29 3198
+2010-10-29 3014
+2010-10-29 2646
+2010-10-29 2630
+2010-10-29 1610
+2010-10-29 1599
+2010-10-29 1531
+2010-10-29 1142
+2010-10-29 1064
+2010-10-29 897
+2010-10-29 361
+2010-10-30 5917
+2010-10-30 5904
+2010-10-30 3171
+2010-10-30 3085
+2010-10-30 2932
+2010-10-30 2018
+2010-10-30 1805
+2010-10-30 650
+2010-10-30 426
+2010-10-30 384
+2010-10-30 272
+2010-10-31 7282
+2010-10-31 3198
+2010-10-31 2571
+2010-10-31 1610
+2010-10-31 1599
+2010-10-31 1531
+2010-10-31 897
+2010-10-31 361
diff --git a/sql/hive/src/test/resources/golden/date_2-4-3618dfde8da7c26f03bca72970db9ef7 b/sql/hive/src/test/resources/golden/date_2-4-3618dfde8da7c26f03bca72970db9ef7
new file mode 100644
index 0000000000..1b0ea7b9ee
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_2-4-3618dfde8da7c26f03bca72970db9ef7
@@ -0,0 +1,137 @@
+2010-10-31 361
+2010-10-31 897
+2010-10-31 1531
+2010-10-31 1599
+2010-10-31 1610
+2010-10-31 2571
+2010-10-31 3198
+2010-10-31 7282
+2010-10-30 272
+2010-10-30 384
+2010-10-30 426
+2010-10-30 650
+2010-10-30 1805
+2010-10-30 2018
+2010-10-30 2932
+2010-10-30 3085
+2010-10-30 3171
+2010-10-30 5904
+2010-10-30 5917
+2010-10-29 361
+2010-10-29 897
+2010-10-29 1064
+2010-10-29 1142
+2010-10-29 1531
+2010-10-29 1599
+2010-10-29 1610
+2010-10-29 2630
+2010-10-29 2646
+2010-10-29 3014
+2010-10-29 3198
+2010-10-29 7291
+2010-10-28 361
+2010-10-28 897
+2010-10-28 1064
+2010-10-28 1142
+2010-10-28 1531
+2010-10-28 1599
+2010-10-28 1610
+2010-10-28 2630
+2010-10-28 2646
+2010-10-28 3014
+2010-10-28 3198
+2010-10-28 7291
+2010-10-27 361
+2010-10-27 897
+2010-10-27 1064
+2010-10-27 1142
+2010-10-27 1531
+2010-10-27 1599
+2010-10-27 1610
+2010-10-27 2630
+2010-10-27 3014
+2010-10-27 3198
+2010-10-27 7291
+2010-10-26 361
+2010-10-26 897
+2010-10-26 1064
+2010-10-26 1142
+2010-10-26 1531
+2010-10-26 1599
+2010-10-26 1610
+2010-10-26 2630
+2010-10-26 2646
+2010-10-26 2662
+2010-10-26 3014
+2010-10-26 3198
+2010-10-26 7291
+2010-10-25 361
+2010-10-25 897
+2010-10-25 1064
+2010-10-25 1142
+2010-10-25 1531
+2010-10-25 1599
+2010-10-25 1610
+2010-10-25 2630
+2010-10-25 2646
+2010-10-25 3014
+2010-10-25 3198
+2010-10-25 7291
+2010-10-24 361
+2010-10-24 897
+2010-10-24 1531
+2010-10-24 1599
+2010-10-24 1610
+2010-10-24 2254
+2010-10-24 2571
+2010-10-24 2630
+2010-10-24 2646
+2010-10-24 3014
+2010-10-24 3198
+2010-10-24 7282
+2010-10-23 272
+2010-10-23 384
+2010-10-23 426
+2010-10-23 650
+2010-10-23 1805
+2010-10-23 2932
+2010-10-23 3085
+2010-10-23 3171
+2010-10-23 5832
+2010-10-23 5904
+2010-10-23 5917
+2010-10-23 7274
+2010-10-22 361
+2010-10-22 897
+2010-10-22 1064
+2010-10-22 1142
+2010-10-22 1531
+2010-10-22 1599
+2010-10-22 1610
+2010-10-22 2630
+2010-10-22 2646
+2010-10-22 3014
+2010-10-22 3198
+2010-10-21 361
+2010-10-21 897
+2010-10-21 1064
+2010-10-21 1142
+2010-10-21 1531
+2010-10-21 1599
+2010-10-21 1610
+2010-10-21 2630
+2010-10-21 2646
+2010-10-21 3014
+2010-10-21 3198
+2010-10-21 7291
+2010-10-20 361
+2010-10-20 897
+2010-10-20 1064
+2010-10-20 1142
+2010-10-20 1531
+2010-10-20 1599
+2010-10-20 1610
+2010-10-20 2630
+2010-10-20 3014
+2010-10-20 3198
+2010-10-20 7291
diff --git a/sql/hive/src/test/resources/golden/date_2-5-fe9bebfc8994ddd8d7cd0208c1f0af3c b/sql/hive/src/test/resources/golden/date_2-5-fe9bebfc8994ddd8d7cd0208c1f0af3c
new file mode 100644
index 0000000000..0f2a6f7a99
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_2-5-fe9bebfc8994ddd8d7cd0208c1f0af3c
@@ -0,0 +1,12 @@
+2010-10-20 11
+2010-10-21 12
+2010-10-22 11
+2010-10-23 12
+2010-10-24 12
+2010-10-25 12
+2010-10-26 13
+2010-10-27 11
+2010-10-28 12
+2010-10-29 12
+2010-10-30 11
+2010-10-31 8
diff --git a/sql/hive/src/test/resources/golden/date_2-6-f4edce7cb20f325e8b69e787b2ae8882 b/sql/hive/src/test/resources/golden/date_2-6-f4edce7cb20f325e8b69e787b2ae8882
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_2-6-f4edce7cb20f325e8b69e787b2ae8882
diff --git a/sql/hive/src/test/resources/golden/date_3-3-4cf49e71b636df754871a675f9e4e24 b/sql/hive/src/test/resources/golden/date_3-3-4cf49e71b636df754871a675f9e4e24
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_3-3-4cf49e71b636df754871a675f9e4e24
diff --git a/sql/hive/src/test/resources/golden/date_3-4-e009f358964f6d1236cfc03283e2b06f b/sql/hive/src/test/resources/golden/date_3-4-e009f358964f6d1236cfc03283e2b06f
new file mode 100644
index 0000000000..66d2220d06
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_3-4-e009f358964f6d1236cfc03283e2b06f
@@ -0,0 +1 @@
+1 2011-01-01
diff --git a/sql/hive/src/test/resources/golden/date_3-5-c26de4559926ddb0127d2dc5ea154774 b/sql/hive/src/test/resources/golden/date_3-5-c26de4559926ddb0127d2dc5ea154774
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_3-5-c26de4559926ddb0127d2dc5ea154774
diff --git a/sql/hive/src/test/resources/golden/date_4-0-b84f7e931d710dcbe3c5126d998285a8 b/sql/hive/src/test/resources/golden/date_4-0-b84f7e931d710dcbe3c5126d998285a8
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_4-0-b84f7e931d710dcbe3c5126d998285a8
diff --git a/sql/hive/src/test/resources/golden/date_4-1-6272f5e518f6a20bc96a5870ff315c4f b/sql/hive/src/test/resources/golden/date_4-1-6272f5e518f6a20bc96a5870ff315c4f
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_4-1-6272f5e518f6a20bc96a5870ff315c4f
diff --git a/sql/hive/src/test/resources/golden/date_4-2-4a0e7bde447ef616b98e0f55d2886de0 b/sql/hive/src/test/resources/golden/date_4-2-4a0e7bde447ef616b98e0f55d2886de0
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_4-2-4a0e7bde447ef616b98e0f55d2886de0
diff --git a/sql/hive/src/test/resources/golden/date_4-3-a23faa56b5d3ca9063a21f72b4278b00 b/sql/hive/src/test/resources/golden/date_4-3-a23faa56b5d3ca9063a21f72b4278b00
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_4-3-a23faa56b5d3ca9063a21f72b4278b00
diff --git a/sql/hive/src/test/resources/golden/date_4-4-bee09a7384666043621f68297cee2e68 b/sql/hive/src/test/resources/golden/date_4-4-bee09a7384666043621f68297cee2e68
new file mode 100644
index 0000000000..b61affde4f
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_4-4-bee09a7384666043621f68297cee2e68
@@ -0,0 +1 @@
+2011-01-01 2011-01-01
diff --git a/sql/hive/src/test/resources/golden/date_4-5-b84f7e931d710dcbe3c5126d998285a8 b/sql/hive/src/test/resources/golden/date_4-5-b84f7e931d710dcbe3c5126d998285a8
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_4-5-b84f7e931d710dcbe3c5126d998285a8
diff --git a/sql/hive/src/test/resources/golden/date_comparison-0-69eec445bd045c9dc899fafa348d8495 b/sql/hive/src/test/resources/golden/date_comparison-0-69eec445bd045c9dc899fafa348d8495
new file mode 100644
index 0000000000..c508d5366f
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_comparison-0-69eec445bd045c9dc899fafa348d8495
@@ -0,0 +1 @@
+false
diff --git a/sql/hive/src/test/resources/golden/date_comparison-1-fcc400871a502009c8680509e3869ec1 b/sql/hive/src/test/resources/golden/date_comparison-1-fcc400871a502009c8680509e3869ec1
new file mode 100644
index 0000000000..c508d5366f
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_comparison-1-fcc400871a502009c8680509e3869ec1
@@ -0,0 +1 @@
+false
diff --git a/sql/hive/src/test/resources/golden/date_comparison-10-a9f2560c273163e11306d4f1dd1d9d54 b/sql/hive/src/test/resources/golden/date_comparison-10-a9f2560c273163e11306d4f1dd1d9d54
new file mode 100644
index 0000000000..c508d5366f
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_comparison-10-a9f2560c273163e11306d4f1dd1d9d54
@@ -0,0 +1 @@
+false
diff --git a/sql/hive/src/test/resources/golden/date_comparison-11-4a7bac9ddcf40db6329faaec8e426543 b/sql/hive/src/test/resources/golden/date_comparison-11-4a7bac9ddcf40db6329faaec8e426543
new file mode 100644
index 0000000000..27ba77ddaf
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_comparison-11-4a7bac9ddcf40db6329faaec8e426543
@@ -0,0 +1 @@
+true
diff --git a/sql/hive/src/test/resources/golden/date_comparison-2-b8598a4d0c948c2ddcf3eeef0abf2264 b/sql/hive/src/test/resources/golden/date_comparison-2-b8598a4d0c948c2ddcf3eeef0abf2264
new file mode 100644
index 0000000000..27ba77ddaf
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_comparison-2-b8598a4d0c948c2ddcf3eeef0abf2264
@@ -0,0 +1 @@
+true
diff --git a/sql/hive/src/test/resources/golden/date_comparison-3-14d35f266be9cceb11a2ae09ec8b3835 b/sql/hive/src/test/resources/golden/date_comparison-3-14d35f266be9cceb11a2ae09ec8b3835
new file mode 100644
index 0000000000..c508d5366f
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_comparison-3-14d35f266be9cceb11a2ae09ec8b3835
@@ -0,0 +1 @@
+false
diff --git a/sql/hive/src/test/resources/golden/date_comparison-4-c8865b14d53f2c2496fb69ee8191bf37 b/sql/hive/src/test/resources/golden/date_comparison-4-c8865b14d53f2c2496fb69ee8191bf37
new file mode 100644
index 0000000000..27ba77ddaf
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_comparison-4-c8865b14d53f2c2496fb69ee8191bf37
@@ -0,0 +1 @@
+true
diff --git a/sql/hive/src/test/resources/golden/date_comparison-5-f2c907e64da8166a731ddc0ed19bad6c b/sql/hive/src/test/resources/golden/date_comparison-5-f2c907e64da8166a731ddc0ed19bad6c
new file mode 100644
index 0000000000..27ba77ddaf
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_comparison-5-f2c907e64da8166a731ddc0ed19bad6c
@@ -0,0 +1 @@
+true
diff --git a/sql/hive/src/test/resources/golden/date_comparison-6-5606505a92bad10023ad9a3ef77eacc9 b/sql/hive/src/test/resources/golden/date_comparison-6-5606505a92bad10023ad9a3ef77eacc9
new file mode 100644
index 0000000000..c508d5366f
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_comparison-6-5606505a92bad10023ad9a3ef77eacc9
@@ -0,0 +1 @@
+false
diff --git a/sql/hive/src/test/resources/golden/date_comparison-7-47913d4aaf0d468ab3764cc3bfd68eb b/sql/hive/src/test/resources/golden/date_comparison-7-47913d4aaf0d468ab3764cc3bfd68eb
new file mode 100644
index 0000000000..27ba77ddaf
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_comparison-7-47913d4aaf0d468ab3764cc3bfd68eb
@@ -0,0 +1 @@
+true
diff --git a/sql/hive/src/test/resources/golden/date_comparison-8-1e5ce4f833b6fba45618437c8fb7643c b/sql/hive/src/test/resources/golden/date_comparison-8-1e5ce4f833b6fba45618437c8fb7643c
new file mode 100644
index 0000000000..c508d5366f
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_comparison-8-1e5ce4f833b6fba45618437c8fb7643c
@@ -0,0 +1 @@
+false
diff --git a/sql/hive/src/test/resources/golden/date_comparison-9-bcd987341fc1c38047a27d29dac6ae7c b/sql/hive/src/test/resources/golden/date_comparison-9-bcd987341fc1c38047a27d29dac6ae7c
new file mode 100644
index 0000000000..27ba77ddaf
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_comparison-9-bcd987341fc1c38047a27d29dac6ae7c
@@ -0,0 +1 @@
+true
diff --git a/sql/hive/src/test/resources/golden/date_join1-3-f71c7be760fb4de4eff8225f2c6614b2 b/sql/hive/src/test/resources/golden/date_join1-3-f71c7be760fb4de4eff8225f2c6614b2
new file mode 100644
index 0000000000..b7305b903e
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_join1-3-f71c7be760fb4de4eff8225f2c6614b2
@@ -0,0 +1,22 @@
+1064 2010-10-20 1064 2010-10-20
+1142 2010-10-21 1142 2010-10-21
+1599 2010-10-22 1599 2010-10-22
+361 2010-10-23 361 2010-10-23
+897 2010-10-24 897 2010-10-24
+1531 2010-10-25 1531 2010-10-25
+1610 2010-10-26 1610 2010-10-26
+3198 2010-10-27 3198 2010-10-27
+1064 2010-10-28 1064 2010-10-28
+1142 2010-10-29 1142 2010-10-29
+1064 2000-11-20 1064 2000-11-20
+1142 2000-11-21 1142 2000-11-21
+1599 2000-11-22 1599 2000-11-22
+361 2000-11-23 361 2000-11-23
+897 2000-11-24 897 2000-11-24
+1531 2000-11-25 1531 2000-11-25
+1610 2000-11-26 1610 2000-11-26
+3198 2000-11-27 3198 2000-11-27
+1064 2000-11-28 1064 2000-11-28
+1142 2000-11-28 1064 2000-11-28
+1064 2000-11-28 1142 2000-11-28
+1142 2000-11-28 1142 2000-11-28
diff --git a/sql/hive/src/test/resources/golden/date_join1-4-70b9b49c55699fe94cfde069f5d197c b/sql/hive/src/test/resources/golden/date_join1-4-70b9b49c55699fe94cfde069f5d197c
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_join1-4-70b9b49c55699fe94cfde069f5d197c
diff --git a/sql/hive/src/test/resources/golden/date_serde-10-d80e681519dcd8f5078c5602bb5befa9 b/sql/hive/src/test/resources/golden/date_serde-10-d80e681519dcd8f5078c5602bb5befa9
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_serde-10-d80e681519dcd8f5078c5602bb5befa9
diff --git a/sql/hive/src/test/resources/golden/date_serde-11-29540200936bba47f17553547b409af7 b/sql/hive/src/test/resources/golden/date_serde-11-29540200936bba47f17553547b409af7
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_serde-11-29540200936bba47f17553547b409af7
diff --git a/sql/hive/src/test/resources/golden/date_serde-12-c3c3275658b89d31fc504db31ae9f99c b/sql/hive/src/test/resources/golden/date_serde-12-c3c3275658b89d31fc504db31ae9f99c
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_serde-12-c3c3275658b89d31fc504db31ae9f99c
diff --git a/sql/hive/src/test/resources/golden/date_serde-13-6c546456c81e635b6753e1552fac9129 b/sql/hive/src/test/resources/golden/date_serde-13-6c546456c81e635b6753e1552fac9129
new file mode 100644
index 0000000000..9f2238d57d
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_serde-13-6c546456c81e635b6753e1552fac9129
@@ -0,0 +1 @@
+2010-10-20 1064
diff --git a/sql/hive/src/test/resources/golden/date_serde-14-f8ba18cc7b0225b4022299c44d435101 b/sql/hive/src/test/resources/golden/date_serde-14-f8ba18cc7b0225b4022299c44d435101
new file mode 100644
index 0000000000..9f2238d57d
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_serde-14-f8ba18cc7b0225b4022299c44d435101
@@ -0,0 +1 @@
+2010-10-20 1064
diff --git a/sql/hive/src/test/resources/golden/date_serde-15-66fadc9bcea7d107a610758aa6f50ff3 b/sql/hive/src/test/resources/golden/date_serde-15-66fadc9bcea7d107a610758aa6f50ff3
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_serde-15-66fadc9bcea7d107a610758aa6f50ff3
diff --git a/sql/hive/src/test/resources/golden/date_serde-16-1bd3345b46f77e17810978e56f9f7c6b b/sql/hive/src/test/resources/golden/date_serde-16-1bd3345b46f77e17810978e56f9f7c6b
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_serde-16-1bd3345b46f77e17810978e56f9f7c6b
diff --git a/sql/hive/src/test/resources/golden/date_serde-17-a0df43062f8ab676ef728c9968443f12 b/sql/hive/src/test/resources/golden/date_serde-17-a0df43062f8ab676ef728c9968443f12
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_serde-17-a0df43062f8ab676ef728c9968443f12
diff --git a/sql/hive/src/test/resources/golden/date_serde-18-b50ecc72ce9018ab12fb17568fef038a b/sql/hive/src/test/resources/golden/date_serde-18-b50ecc72ce9018ab12fb17568fef038a
new file mode 100644
index 0000000000..9f2238d57d
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_serde-18-b50ecc72ce9018ab12fb17568fef038a
@@ -0,0 +1 @@
+2010-10-20 1064
diff --git a/sql/hive/src/test/resources/golden/date_serde-19-28f1cf92bdd6b2e5d328cd9d10f828b6 b/sql/hive/src/test/resources/golden/date_serde-19-28f1cf92bdd6b2e5d328cd9d10f828b6
new file mode 100644
index 0000000000..9f2238d57d
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_serde-19-28f1cf92bdd6b2e5d328cd9d10f828b6
@@ -0,0 +1 @@
+2010-10-20 1064
diff --git a/sql/hive/src/test/resources/golden/date_serde-20-588516368d8c1533cb7bfb2157fd58c1 b/sql/hive/src/test/resources/golden/date_serde-20-588516368d8c1533cb7bfb2157fd58c1
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_serde-20-588516368d8c1533cb7bfb2157fd58c1
diff --git a/sql/hive/src/test/resources/golden/date_serde-21-dfe166fe053468e738dca23ebe043091 b/sql/hive/src/test/resources/golden/date_serde-21-dfe166fe053468e738dca23ebe043091
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_serde-21-dfe166fe053468e738dca23ebe043091
diff --git a/sql/hive/src/test/resources/golden/date_serde-22-45240a488fb708e432d2f45b74ef7e63 b/sql/hive/src/test/resources/golden/date_serde-22-45240a488fb708e432d2f45b74ef7e63
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_serde-22-45240a488fb708e432d2f45b74ef7e63
diff --git a/sql/hive/src/test/resources/golden/date_serde-23-1742a51e4967a8d263572d890cd8d4a8 b/sql/hive/src/test/resources/golden/date_serde-23-1742a51e4967a8d263572d890cd8d4a8
new file mode 100644
index 0000000000..9f2238d57d
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_serde-23-1742a51e4967a8d263572d890cd8d4a8
@@ -0,0 +1 @@
+2010-10-20 1064
diff --git a/sql/hive/src/test/resources/golden/date_serde-24-14fd49bd6fee907c1699f7b4e26685b b/sql/hive/src/test/resources/golden/date_serde-24-14fd49bd6fee907c1699f7b4e26685b
new file mode 100644
index 0000000000..9f2238d57d
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_serde-24-14fd49bd6fee907c1699f7b4e26685b
@@ -0,0 +1 @@
+2010-10-20 1064
diff --git a/sql/hive/src/test/resources/golden/date_serde-25-a199cf185184a25190d65c123d0694ee b/sql/hive/src/test/resources/golden/date_serde-25-a199cf185184a25190d65c123d0694ee
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_serde-25-a199cf185184a25190d65c123d0694ee
diff --git a/sql/hive/src/test/resources/golden/date_serde-26-c5fa68d9aff36f22e5edc1b54332d0ab b/sql/hive/src/test/resources/golden/date_serde-26-c5fa68d9aff36f22e5edc1b54332d0ab
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_serde-26-c5fa68d9aff36f22e5edc1b54332d0ab
diff --git a/sql/hive/src/test/resources/golden/date_serde-27-4d86c79f858866acec3c37f6598c2638 b/sql/hive/src/test/resources/golden/date_serde-27-4d86c79f858866acec3c37f6598c2638
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_serde-27-4d86c79f858866acec3c37f6598c2638
diff --git a/sql/hive/src/test/resources/golden/date_serde-28-16a41fc9e0f51eb417c763bae8e9cadb b/sql/hive/src/test/resources/golden/date_serde-28-16a41fc9e0f51eb417c763bae8e9cadb
new file mode 100644
index 0000000000..9f2238d57d
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_serde-28-16a41fc9e0f51eb417c763bae8e9cadb
@@ -0,0 +1 @@
+2010-10-20 1064
diff --git a/sql/hive/src/test/resources/golden/date_serde-29-bd1cb09aacd906527b0bbf43bbded812 b/sql/hive/src/test/resources/golden/date_serde-29-bd1cb09aacd906527b0bbf43bbded812
new file mode 100644
index 0000000000..9f2238d57d
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_serde-29-bd1cb09aacd906527b0bbf43bbded812
@@ -0,0 +1 @@
+2010-10-20 1064
diff --git a/sql/hive/src/test/resources/golden/date_serde-30-7c80741f9f485729afc68609c55423a0 b/sql/hive/src/test/resources/golden/date_serde-30-7c80741f9f485729afc68609c55423a0
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_serde-30-7c80741f9f485729afc68609c55423a0
diff --git a/sql/hive/src/test/resources/golden/date_serde-31-da36cd1654aee055cb3650133c9d11f b/sql/hive/src/test/resources/golden/date_serde-31-da36cd1654aee055cb3650133c9d11f
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_serde-31-da36cd1654aee055cb3650133c9d11f
diff --git a/sql/hive/src/test/resources/golden/date_serde-32-bb2f76bd307ed616a3c797f8dd45a8d1 b/sql/hive/src/test/resources/golden/date_serde-32-bb2f76bd307ed616a3c797f8dd45a8d1
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_serde-32-bb2f76bd307ed616a3c797f8dd45a8d1
diff --git a/sql/hive/src/test/resources/golden/date_serde-33-a742813b024e6dcfb4a358aa4e9fcdb6 b/sql/hive/src/test/resources/golden/date_serde-33-a742813b024e6dcfb4a358aa4e9fcdb6
new file mode 100644
index 0000000000..9f2238d57d
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_serde-33-a742813b024e6dcfb4a358aa4e9fcdb6
@@ -0,0 +1 @@
+2010-10-20 1064
diff --git a/sql/hive/src/test/resources/golden/date_serde-34-6485841336c097895ad5b34f42c0745f b/sql/hive/src/test/resources/golden/date_serde-34-6485841336c097895ad5b34f42c0745f
new file mode 100644
index 0000000000..9f2238d57d
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_serde-34-6485841336c097895ad5b34f42c0745f
@@ -0,0 +1 @@
+2010-10-20 1064
diff --git a/sql/hive/src/test/resources/golden/date_serde-35-8651a7c351cbc07fb1af6193f6885de8 b/sql/hive/src/test/resources/golden/date_serde-35-8651a7c351cbc07fb1af6193f6885de8
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_serde-35-8651a7c351cbc07fb1af6193f6885de8
diff --git a/sql/hive/src/test/resources/golden/date_serde-36-36e6041f53433482631018410bb62a99 b/sql/hive/src/test/resources/golden/date_serde-36-36e6041f53433482631018410bb62a99
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_serde-36-36e6041f53433482631018410bb62a99
diff --git a/sql/hive/src/test/resources/golden/date_serde-37-3ddfd8ecb28991aeed588f1ea852c427 b/sql/hive/src/test/resources/golden/date_serde-37-3ddfd8ecb28991aeed588f1ea852c427
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_serde-37-3ddfd8ecb28991aeed588f1ea852c427
diff --git a/sql/hive/src/test/resources/golden/date_serde-38-e6167e27465514356c557a77d956ea46 b/sql/hive/src/test/resources/golden/date_serde-38-e6167e27465514356c557a77d956ea46
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_serde-38-e6167e27465514356c557a77d956ea46
diff --git a/sql/hive/src/test/resources/golden/date_serde-39-c1e17c93582656c12970c37bac153bf2 b/sql/hive/src/test/resources/golden/date_serde-39-c1e17c93582656c12970c37bac153bf2
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_serde-39-c1e17c93582656c12970c37bac153bf2
diff --git a/sql/hive/src/test/resources/golden/date_serde-40-4a17944b9ec8999bb20c5ba5d4cb877c b/sql/hive/src/test/resources/golden/date_serde-40-4a17944b9ec8999bb20c5ba5d4cb877c
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_serde-40-4a17944b9ec8999bb20c5ba5d4cb877c
diff --git a/sql/hive/src/test/resources/golden/date_serde-8-cace4f60a08342f58fbe816a9c3a73cf b/sql/hive/src/test/resources/golden/date_serde-8-cace4f60a08342f58fbe816a9c3a73cf
new file mode 100644
index 0000000000..16c03e7276
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_serde-8-cace4f60a08342f58fbe816a9c3a73cf
@@ -0,0 +1,137 @@
+Baltimore New York 2010-10-20 -30.0 1064
+Baltimore New York 2010-10-20 23.0 1142
+Baltimore New York 2010-10-20 6.0 1599
+Chicago New York 2010-10-20 42.0 361
+Chicago New York 2010-10-20 24.0 897
+Chicago New York 2010-10-20 15.0 1531
+Chicago New York 2010-10-20 -6.0 1610
+Chicago New York 2010-10-20 -2.0 3198
+Baltimore New York 2010-10-21 17.0 1064
+Baltimore New York 2010-10-21 105.0 1142
+Baltimore New York 2010-10-21 28.0 1599
+Chicago New York 2010-10-21 142.0 361
+Chicago New York 2010-10-21 77.0 897
+Chicago New York 2010-10-21 53.0 1531
+Chicago New York 2010-10-21 -5.0 1610
+Chicago New York 2010-10-21 51.0 3198
+Baltimore New York 2010-10-22 -12.0 1064
+Baltimore New York 2010-10-22 54.0 1142
+Baltimore New York 2010-10-22 18.0 1599
+Chicago New York 2010-10-22 2.0 361
+Chicago New York 2010-10-22 24.0 897
+Chicago New York 2010-10-22 16.0 1531
+Chicago New York 2010-10-22 -6.0 1610
+Chicago New York 2010-10-22 -11.0 3198
+Baltimore New York 2010-10-23 18.0 272
+Baltimore New York 2010-10-23 -10.0 1805
+Baltimore New York 2010-10-23 6.0 3171
+Chicago New York 2010-10-23 3.0 384
+Chicago New York 2010-10-23 32.0 426
+Chicago New York 2010-10-23 1.0 650
+Chicago New York 2010-10-23 11.0 3085
+Baltimore New York 2010-10-24 12.0 1599
+Baltimore New York 2010-10-24 20.0 2571
+Chicago New York 2010-10-24 10.0 361
+Chicago New York 2010-10-24 113.0 897
+Chicago New York 2010-10-24 -5.0 1531
+Chicago New York 2010-10-24 -17.0 1610
+Chicago New York 2010-10-24 -3.0 3198
+Baltimore New York 2010-10-25 -25.0 1064
+Baltimore New York 2010-10-25 92.0 1142
+Baltimore New York 2010-10-25 106.0 1599
+Chicago New York 2010-10-25 31.0 361
+Chicago New York 2010-10-25 -1.0 897
+Chicago New York 2010-10-25 43.0 1531
+Chicago New York 2010-10-25 6.0 1610
+Chicago New York 2010-10-25 -16.0 3198
+Baltimore New York 2010-10-26 -22.0 1064
+Baltimore New York 2010-10-26 123.0 1142
+Baltimore New York 2010-10-26 90.0 1599
+Chicago New York 2010-10-26 12.0 361
+Chicago New York 2010-10-26 0.0 897
+Chicago New York 2010-10-26 29.0 1531
+Chicago New York 2010-10-26 -17.0 1610
+Chicago New York 2010-10-26 6.0 3198
+Baltimore New York 2010-10-27 -18.0 1064
+Baltimore New York 2010-10-27 49.0 1142
+Baltimore New York 2010-10-27 92.0 1599
+Chicago New York 2010-10-27 148.0 361
+Chicago New York 2010-10-27 -11.0 897
+Chicago New York 2010-10-27 70.0 1531
+Chicago New York 2010-10-27 8.0 1610
+Chicago New York 2010-10-27 21.0 3198
+Baltimore New York 2010-10-28 -4.0 1064
+Baltimore New York 2010-10-28 -14.0 1142
+Baltimore New York 2010-10-28 -14.0 1599
+Chicago New York 2010-10-28 2.0 361
+Chicago New York 2010-10-28 2.0 897
+Chicago New York 2010-10-28 -11.0 1531
+Chicago New York 2010-10-28 3.0 1610
+Chicago New York 2010-10-28 -18.0 3198
+Baltimore New York 2010-10-29 -24.0 1064
+Baltimore New York 2010-10-29 21.0 1142
+Baltimore New York 2010-10-29 -2.0 1599
+Chicago New York 2010-10-29 -12.0 361
+Chicago New York 2010-10-29 -11.0 897
+Chicago New York 2010-10-29 15.0 1531
+Chicago New York 2010-10-29 -18.0 1610
+Chicago New York 2010-10-29 -4.0 3198
+Baltimore New York 2010-10-30 14.0 272
+Baltimore New York 2010-10-30 -1.0 1805
+Baltimore New York 2010-10-30 5.0 3171
+Chicago New York 2010-10-30 -6.0 384
+Chicago New York 2010-10-30 -10.0 426
+Chicago New York 2010-10-30 -5.0 650
+Chicago New York 2010-10-30 -5.0 3085
+Baltimore New York 2010-10-31 -1.0 1599
+Baltimore New York 2010-10-31 -14.0 2571
+Chicago New York 2010-10-31 -25.0 361
+Chicago New York 2010-10-31 -18.0 897
+Chicago New York 2010-10-31 -4.0 1531
+Chicago New York 2010-10-31 -22.0 1610
+Chicago New York 2010-10-31 -15.0 3198
+Cleveland New York 2010-10-30 -23.0 2018
+Cleveland New York 2010-10-30 -12.0 2932
+Cleveland New York 2010-10-29 -4.0 2630
+Cleveland New York 2010-10-29 -19.0 2646
+Cleveland New York 2010-10-29 -12.0 3014
+Cleveland New York 2010-10-28 3.0 2630
+Cleveland New York 2010-10-28 -6.0 2646
+Cleveland New York 2010-10-28 1.0 3014
+Cleveland New York 2010-10-27 16.0 2630
+Cleveland New York 2010-10-27 27.0 3014
+Cleveland New York 2010-10-26 4.0 2630
+Cleveland New York 2010-10-26 -27.0 2646
+Cleveland New York 2010-10-26 -11.0 2662
+Cleveland New York 2010-10-26 13.0 3014
+Cleveland New York 2010-10-25 -4.0 2630
+Cleveland New York 2010-10-25 81.0 2646
+Cleveland New York 2010-10-25 42.0 3014
+Cleveland New York 2010-10-24 5.0 2254
+Cleveland New York 2010-10-24 -11.0 2630
+Cleveland New York 2010-10-24 -20.0 2646
+Cleveland New York 2010-10-24 -9.0 3014
+Cleveland New York 2010-10-23 -21.0 2932
+Cleveland New York 2010-10-22 1.0 2630
+Cleveland New York 2010-10-22 -25.0 2646
+Cleveland New York 2010-10-22 -3.0 3014
+Cleveland New York 2010-10-21 3.0 2630
+Cleveland New York 2010-10-21 29.0 2646
+Cleveland New York 2010-10-21 72.0 3014
+Cleveland New York 2010-10-20 -8.0 2630
+Cleveland New York 2010-10-20 -15.0 3014
+Washington New York 2010-10-23 -25.0 5832
+Washington New York 2010-10-23 -21.0 5904
+Washington New York 2010-10-23 -18.0 5917
+Washington New York 2010-10-30 -27.0 5904
+Washington New York 2010-10-30 -16.0 5917
+Washington New York 2010-10-20 -2.0 7291
+Washington New York 2010-10-21 22.0 7291
+Washington New York 2010-10-23 -16.0 7274
+Washington New York 2010-10-24 -26.0 7282
+Washington New York 2010-10-25 9.0 7291
+Washington New York 2010-10-26 4.0 7291
+Washington New York 2010-10-27 26.0 7291
+Washington New York 2010-10-28 45.0 7291
+Washington New York 2010-10-29 1.0 7291
+Washington New York 2010-10-31 -18.0 7282
diff --git a/sql/hive/src/test/resources/golden/date_serde-9-436c3c61cc4278b54ac79c53c88ff422 b/sql/hive/src/test/resources/golden/date_serde-9-436c3c61cc4278b54ac79c53c88ff422
new file mode 100644
index 0000000000..0f2a6f7a99
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_serde-9-436c3c61cc4278b54ac79c53c88ff422
@@ -0,0 +1,12 @@
+2010-10-20 11
+2010-10-21 12
+2010-10-22 11
+2010-10-23 12
+2010-10-24 12
+2010-10-25 12
+2010-10-26 13
+2010-10-27 11
+2010-10-28 12
+2010-10-29 12
+2010-10-30 11
+2010-10-31 8
diff --git a/sql/hive/src/test/resources/golden/date_udf-0-84604a42a5d7f2842f1eec10c689d447 b/sql/hive/src/test/resources/golden/date_udf-0-84604a42a5d7f2842f1eec10c689d447
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_udf-0-84604a42a5d7f2842f1eec10c689d447
diff --git a/sql/hive/src/test/resources/golden/date_udf-1-5e8136f6a6503ae9bef9beca80fada13 b/sql/hive/src/test/resources/golden/date_udf-1-5e8136f6a6503ae9bef9beca80fada13
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_udf-1-5e8136f6a6503ae9bef9beca80fada13
diff --git a/sql/hive/src/test/resources/golden/date_udf-10-988ad9744096a29a3672a2d4c121299b b/sql/hive/src/test/resources/golden/date_udf-10-988ad9744096a29a3672a2d4c121299b
new file mode 100644
index 0000000000..83c33400ed
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_udf-10-988ad9744096a29a3672a2d4c121299b
@@ -0,0 +1 @@
+0 3333 -3333 -3332 3332
diff --git a/sql/hive/src/test/resources/golden/date_udf-11-a5100dd42201b5bc035a9d684cc21bdc b/sql/hive/src/test/resources/golden/date_udf-11-a5100dd42201b5bc035a9d684cc21bdc
new file mode 100644
index 0000000000..4a2462bb39
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_udf-11-a5100dd42201b5bc035a9d684cc21bdc
@@ -0,0 +1 @@
+NULL 2011 5 6 6 18 2011-05-06
diff --git a/sql/hive/src/test/resources/golden/date_udf-12-eb7280a1f191344a99eaa0f805e8faff b/sql/hive/src/test/resources/golden/date_udf-12-eb7280a1f191344a99eaa0f805e8faff
new file mode 100644
index 0000000000..19497254f8
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_udf-12-eb7280a1f191344a99eaa0f805e8faff
@@ -0,0 +1 @@
+2011-05-11 2011-04-26
diff --git a/sql/hive/src/test/resources/golden/date_udf-13-cc99e4f14fd092994b006ee7ebe4fc92 b/sql/hive/src/test/resources/golden/date_udf-13-cc99e4f14fd092994b006ee7ebe4fc92
new file mode 100644
index 0000000000..977f0d24c5
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_udf-13-cc99e4f14fd092994b006ee7ebe4fc92
@@ -0,0 +1 @@
+0 3333 -3333 -3333 3333
diff --git a/sql/hive/src/test/resources/golden/date_udf-14-a6a5ce5134cc1125355a4bdf0a73d97 b/sql/hive/src/test/resources/golden/date_udf-14-a6a5ce5134cc1125355a4bdf0a73d97
new file mode 100644
index 0000000000..44d1f45e4e
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_udf-14-a6a5ce5134cc1125355a4bdf0a73d97
@@ -0,0 +1 @@
+1970-01-01 08:00:00 1969-12-31 16:00:00 2013-06-19 07:00:00 2013-06-18 17:00:00
diff --git a/sql/hive/src/test/resources/golden/date_udf-15-d031ee50c119d7c6acafd53543dbd0c4 b/sql/hive/src/test/resources/golden/date_udf-15-d031ee50c119d7c6acafd53543dbd0c4
new file mode 100644
index 0000000000..645b71d8d6
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_udf-15-d031ee50c119d7c6acafd53543dbd0c4
@@ -0,0 +1 @@
+true true true true
diff --git a/sql/hive/src/test/resources/golden/date_udf-16-dc59f69e1685e8d923b187ec50d80f06 b/sql/hive/src/test/resources/golden/date_udf-16-dc59f69e1685e8d923b187ec50d80f06
new file mode 100644
index 0000000000..51863e9a14
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_udf-16-dc59f69e1685e8d923b187ec50d80f06
@@ -0,0 +1 @@
+2010-10-20
diff --git a/sql/hive/src/test/resources/golden/date_udf-17-7d046d4efc568049cf3792470b6feab9 b/sql/hive/src/test/resources/golden/date_udf-17-7d046d4efc568049cf3792470b6feab9
new file mode 100644
index 0000000000..4043ee1cbd
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_udf-17-7d046d4efc568049cf3792470b6feab9
@@ -0,0 +1 @@
+2010-10-31
diff --git a/sql/hive/src/test/resources/golden/date_udf-18-84604a42a5d7f2842f1eec10c689d447 b/sql/hive/src/test/resources/golden/date_udf-18-84604a42a5d7f2842f1eec10c689d447
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_udf-18-84604a42a5d7f2842f1eec10c689d447
diff --git a/sql/hive/src/test/resources/golden/date_udf-19-5e8136f6a6503ae9bef9beca80fada13 b/sql/hive/src/test/resources/golden/date_udf-19-5e8136f6a6503ae9bef9beca80fada13
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_udf-19-5e8136f6a6503ae9bef9beca80fada13
diff --git a/sql/hive/src/test/resources/golden/date_udf-2-10e337c34d1e82a360b8599988f4b266 b/sql/hive/src/test/resources/golden/date_udf-2-10e337c34d1e82a360b8599988f4b266
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_udf-2-10e337c34d1e82a360b8599988f4b266
diff --git a/sql/hive/src/test/resources/golden/date_udf-20-10e337c34d1e82a360b8599988f4b266 b/sql/hive/src/test/resources/golden/date_udf-20-10e337c34d1e82a360b8599988f4b266
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_udf-20-10e337c34d1e82a360b8599988f4b266
diff --git a/sql/hive/src/test/resources/golden/date_udf-3-29e406e613c0284b3e16a8943a4d31bd b/sql/hive/src/test/resources/golden/date_udf-3-29e406e613c0284b3e16a8943a4d31bd
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_udf-3-29e406e613c0284b3e16a8943a4d31bd
diff --git a/sql/hive/src/test/resources/golden/date_udf-4-23653315213f578856ab5c3bd80c0264 b/sql/hive/src/test/resources/golden/date_udf-4-23653315213f578856ab5c3bd80c0264
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_udf-4-23653315213f578856ab5c3bd80c0264
diff --git a/sql/hive/src/test/resources/golden/date_udf-5-891fd92a4787b9789f6d1f51c1eddc8a b/sql/hive/src/test/resources/golden/date_udf-5-891fd92a4787b9789f6d1f51c1eddc8a
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_udf-5-891fd92a4787b9789f6d1f51c1eddc8a
diff --git a/sql/hive/src/test/resources/golden/date_udf-6-3473c118d20783eafb456043a2ee5d5b b/sql/hive/src/test/resources/golden/date_udf-6-3473c118d20783eafb456043a2ee5d5b
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_udf-6-3473c118d20783eafb456043a2ee5d5b
diff --git a/sql/hive/src/test/resources/golden/date_udf-7-9fb5165824e161074565e7500959c1b2 b/sql/hive/src/test/resources/golden/date_udf-7-9fb5165824e161074565e7500959c1b2
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_udf-7-9fb5165824e161074565e7500959c1b2
diff --git a/sql/hive/src/test/resources/golden/date_udf-8-badfe833681362092fc6345f888b1c21 b/sql/hive/src/test/resources/golden/date_udf-8-badfe833681362092fc6345f888b1c21
new file mode 100644
index 0000000000..18d17ea11b
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_udf-8-badfe833681362092fc6345f888b1c21
@@ -0,0 +1 @@
+1304665200 2011 5 6 6 18 2011-05-06
diff --git a/sql/hive/src/test/resources/golden/date_udf-9-a8cbb039661d796beaa0d1564c58c563 b/sql/hive/src/test/resources/golden/date_udf-9-a8cbb039661d796beaa0d1564c58c563
new file mode 100644
index 0000000000..19497254f8
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/date_udf-9-a8cbb039661d796beaa0d1564c58c563
@@ -0,0 +1 @@
+2011-05-11 2011-04-26
diff --git a/sql/hive/src/test/resources/golden/partition_date-0-7ec1f3a845e2c49191460e15af30aa30 b/sql/hive/src/test/resources/golden/partition_date-0-7ec1f3a845e2c49191460e15af30aa30
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/partition_date-0-7ec1f3a845e2c49191460e15af30aa30
diff --git a/sql/hive/src/test/resources/golden/partition_date-1-916193405ce5e020dcd32c58325db6fe b/sql/hive/src/test/resources/golden/partition_date-1-916193405ce5e020dcd32c58325db6fe
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/partition_date-1-916193405ce5e020dcd32c58325db6fe
diff --git a/sql/hive/src/test/resources/golden/partition_date-10-a8dde9c0b5746dd770c9c262d23ffb10 b/sql/hive/src/test/resources/golden/partition_date-10-a8dde9c0b5746dd770c9c262d23ffb10
new file mode 100644
index 0000000000..7ed6ff82de
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/partition_date-10-a8dde9c0b5746dd770c9c262d23ffb10
@@ -0,0 +1 @@
+5
diff --git a/sql/hive/src/test/resources/golden/partition_date-11-fdface2fb6eef67f15bb7d0de2294957 b/sql/hive/src/test/resources/golden/partition_date-11-fdface2fb6eef67f15bb7d0de2294957
new file mode 100644
index 0000000000..b4de394767
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/partition_date-11-fdface2fb6eef67f15bb7d0de2294957
@@ -0,0 +1 @@
+11
diff --git a/sql/hive/src/test/resources/golden/partition_date-12-9b945f8ece6e09ad28c866ff3a10cc24 b/sql/hive/src/test/resources/golden/partition_date-12-9b945f8ece6e09ad28c866ff3a10cc24
new file mode 100644
index 0000000000..64bb6b746d
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/partition_date-12-9b945f8ece6e09ad28c866ff3a10cc24
@@ -0,0 +1 @@
+30
diff --git a/sql/hive/src/test/resources/golden/partition_date-13-b7cb91c7c459798078a79071d329dbf b/sql/hive/src/test/resources/golden/partition_date-13-b7cb91c7c459798078a79071d329dbf
new file mode 100644
index 0000000000..573541ac97
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/partition_date-13-b7cb91c7c459798078a79071d329dbf
@@ -0,0 +1 @@
+0
diff --git a/sql/hive/src/test/resources/golden/partition_date-14-e4366325f3a0c4a8e92be59f4de73fce b/sql/hive/src/test/resources/golden/partition_date-14-e4366325f3a0c4a8e92be59f4de73fce
new file mode 100644
index 0000000000..573541ac97
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/partition_date-14-e4366325f3a0c4a8e92be59f4de73fce
@@ -0,0 +1 @@
+0
diff --git a/sql/hive/src/test/resources/golden/partition_date-15-a062a6e87867d8c8cfbdad97bedcbe5f b/sql/hive/src/test/resources/golden/partition_date-15-a062a6e87867d8c8cfbdad97bedcbe5f
new file mode 100644
index 0000000000..209e3ef4b6
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/partition_date-15-a062a6e87867d8c8cfbdad97bedcbe5f
@@ -0,0 +1 @@
+20
diff --git a/sql/hive/src/test/resources/golden/partition_date-16-22a5627d9ac112665eae01d07a91c89c b/sql/hive/src/test/resources/golden/partition_date-16-22a5627d9ac112665eae01d07a91c89c
new file mode 100644
index 0000000000..f599e28b8a
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/partition_date-16-22a5627d9ac112665eae01d07a91c89c
@@ -0,0 +1 @@
+10
diff --git a/sql/hive/src/test/resources/golden/partition_date-17-b9ce94ef93cb16d629af7d7f8ee637e b/sql/hive/src/test/resources/golden/partition_date-17-b9ce94ef93cb16d629af7d7f8ee637e
new file mode 100644
index 0000000000..209e3ef4b6
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/partition_date-17-b9ce94ef93cb16d629af7d7f8ee637e
@@ -0,0 +1 @@
+20
diff --git a/sql/hive/src/test/resources/golden/partition_date-18-72c6e9a4e0b434cef67144825346c687 b/sql/hive/src/test/resources/golden/partition_date-18-72c6e9a4e0b434cef67144825346c687
new file mode 100644
index 0000000000..f599e28b8a
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/partition_date-18-72c6e9a4e0b434cef67144825346c687
@@ -0,0 +1 @@
+10
diff --git a/sql/hive/src/test/resources/golden/partition_date-19-44e5165eb210559e420105073bc96125 b/sql/hive/src/test/resources/golden/partition_date-19-44e5165eb210559e420105073bc96125
new file mode 100644
index 0000000000..209e3ef4b6
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/partition_date-19-44e5165eb210559e420105073bc96125
@@ -0,0 +1 @@
+20
diff --git a/sql/hive/src/test/resources/golden/partition_date-2-e2e70ac0f4e0ea987b49b86f73d819c9 b/sql/hive/src/test/resources/golden/partition_date-2-e2e70ac0f4e0ea987b49b86f73d819c9
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/partition_date-2-e2e70ac0f4e0ea987b49b86f73d819c9
diff --git a/sql/hive/src/test/resources/golden/partition_date-20-7ec1f3a845e2c49191460e15af30aa30 b/sql/hive/src/test/resources/golden/partition_date-20-7ec1f3a845e2c49191460e15af30aa30
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/partition_date-20-7ec1f3a845e2c49191460e15af30aa30
diff --git a/sql/hive/src/test/resources/golden/partition_date-3-c938b08f57d588926a5d5fbfa4531012 b/sql/hive/src/test/resources/golden/partition_date-3-c938b08f57d588926a5d5fbfa4531012
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/partition_date-3-c938b08f57d588926a5d5fbfa4531012
diff --git a/sql/hive/src/test/resources/golden/partition_date-4-a93eff99ce43bb939ec1d6464c0ef0b3 b/sql/hive/src/test/resources/golden/partition_date-4-a93eff99ce43bb939ec1d6464c0ef0b3
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/partition_date-4-a93eff99ce43bb939ec1d6464c0ef0b3
diff --git a/sql/hive/src/test/resources/golden/partition_date-5-a855aba47876561fd4fb095e09580686 b/sql/hive/src/test/resources/golden/partition_date-5-a855aba47876561fd4fb095e09580686
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/partition_date-5-a855aba47876561fd4fb095e09580686
diff --git a/sql/hive/src/test/resources/golden/partition_date-6-1405c311915f27b0cc616c83d39eaacc b/sql/hive/src/test/resources/golden/partition_date-6-1405c311915f27b0cc616c83d39eaacc
new file mode 100644
index 0000000000..051ca3d3c2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/partition_date-6-1405c311915f27b0cc616c83d39eaacc
@@ -0,0 +1,2 @@
+2000-01-01
+2013-08-08
diff --git a/sql/hive/src/test/resources/golden/partition_date-7-2ac950d8d5656549dd453e5464cb8530 b/sql/hive/src/test/resources/golden/partition_date-7-2ac950d8d5656549dd453e5464cb8530
new file mode 100644
index 0000000000..24192eefd2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/partition_date-7-2ac950d8d5656549dd453e5464cb8530
@@ -0,0 +1,5 @@
+165 val_165 2000-01-01 2
+238 val_238 2000-01-01 2
+27 val_27 2000-01-01 2
+311 val_311 2000-01-01 2
+86 val_86 2000-01-01 2
diff --git a/sql/hive/src/test/resources/golden/partition_date-8-a425c11c12c9ce4c9c43d4fbccee5347 b/sql/hive/src/test/resources/golden/partition_date-8-a425c11c12c9ce4c9c43d4fbccee5347
new file mode 100644
index 0000000000..60d3b2f4a4
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/partition_date-8-a425c11c12c9ce4c9c43d4fbccee5347
@@ -0,0 +1 @@
+15
diff --git a/sql/hive/src/test/resources/golden/partition_date-9-aad6078a09b7bd8f5141437e86bb229f b/sql/hive/src/test/resources/golden/partition_date-9-aad6078a09b7bd8f5141437e86bb229f
new file mode 100644
index 0000000000..60d3b2f4a4
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/partition_date-9-aad6078a09b7bd8f5141437e86bb229f
@@ -0,0 +1 @@
+15
diff --git a/sql/hive/src/test/resources/golden/partition_type_check-12-7e053ba4f9dea1e74c1d04c557c3adac b/sql/hive/src/test/resources/golden/partition_type_check-12-7e053ba4f9dea1e74c1d04c557c3adac
new file mode 100644
index 0000000000..91ba621412
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/partition_type_check-12-7e053ba4f9dea1e74c1d04c557c3adac
@@ -0,0 +1,6 @@
+1 11 2008-01-01
+2 12 2008-01-01
+3 13 2008-01-01
+7 17 2008-01-01
+8 18 2008-01-01
+8 28 2008-01-01
diff --git a/sql/hive/src/test/resources/golden/partition_type_check-13-45fb706ff448da1fe609c7ff76a80d4d b/sql/hive/src/test/resources/golden/partition_type_check-13-45fb706ff448da1fe609c7ff76a80d4d
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/partition_type_check-13-45fb706ff448da1fe609c7ff76a80d4d
diff --git a/sql/hive/src/test/resources/golden/union_date-6-f4d5c71145a9b7464685aa7d09cd4dfd b/sql/hive/src/test/resources/golden/union_date-6-f4d5c71145a9b7464685aa7d09cd4dfd
new file mode 100644
index 0000000000..7941f53d8d
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/union_date-6-f4d5c71145a9b7464685aa7d09cd4dfd
@@ -0,0 +1,40 @@
+1064 2000-11-20
+1064 2000-11-20
+1142 2000-11-21
+1142 2000-11-21
+1599 2000-11-22
+1599 2000-11-22
+361 2000-11-23
+361 2000-11-23
+897 2000-11-24
+897 2000-11-24
+1531 2000-11-25
+1531 2000-11-25
+1610 2000-11-26
+1610 2000-11-26
+3198 2000-11-27
+3198 2000-11-27
+1064 2000-11-28
+1064 2000-11-28
+1142 2000-11-28
+1142 2000-11-28
+1064 2010-10-20
+1064 2010-10-20
+1142 2010-10-21
+1142 2010-10-21
+1599 2010-10-22
+1599 2010-10-22
+361 2010-10-23
+361 2010-10-23
+897 2010-10-24
+897 2010-10-24
+1531 2010-10-25
+1531 2010-10-25
+1610 2010-10-26
+1610 2010-10-26
+3198 2010-10-27
+3198 2010-10-27
+1064 2010-10-28
+1064 2010-10-28
+1142 2010-10-29
+1142 2010-10-29
diff --git a/sql/hive/src/test/resources/golden/union_date-7-a0bade1c77338d4f72962389a1f5bea2 b/sql/hive/src/test/resources/golden/union_date-7-a0bade1c77338d4f72962389a1f5bea2
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/union_date-7-a0bade1c77338d4f72962389a1f5bea2
diff --git a/sql/hive/src/test/resources/golden/union_date-8-21306adbd8be8ad75174ad9d3e42b73c b/sql/hive/src/test/resources/golden/union_date-8-21306adbd8be8ad75174ad9d3e42b73c
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/sql/hive/src/test/resources/golden/union_date-8-21306adbd8be8ad75174ad9d3e42b73c