aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorravipesala <ravindra.pesala@huawei.com>2014-11-10 19:51:07 -0800
committerMichael Armbrust <michael@databricks.com>2014-11-10 19:51:28 -0800
commit8a1d818a5a0fa6012a84c102161a506f4f328ad8 (patch)
tree0c4d98aa13148063c326c1e7a992bee7e8f71565
parent01d233e4aede65ffa39b9d2322196d4b64186526 (diff)
downloadspark-8a1d818a5a0fa6012a84c102161a506f4f328ad8.tar.gz
spark-8a1d818a5a0fa6012a84c102161a506f4f328ad8.tar.bz2
spark-8a1d818a5a0fa6012a84c102161a506f4f328ad8.zip
[SQL] Backport backtick and smallint JDBC fixes to 1.1
Author: Michael Armbrust <michael@databricks.com> Author: ravipesala <ravindra.pesala@huawei.com> Author: scwf <wangfei1@huawei.com> Closes #3199 from marmbrus/backport1.1 and squashes the following commits: 019a0dd [Michael Armbrust] Drop incorrectly ported test cases 4c9f3e6 [ravipesala] [SPARK-3708][SQL] Backticks aren't handled correctly is aliases 064750d [scwf] [SPARK-3704][SQL] Fix ColumnValue type for Short values in thrift server f4e17cd [ravipesala] [SPARK-3834][SQL] Backticks not correctly handled in subquery aliases
-rw-r--r--sql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/server/SparkSQLOperationManager.scala4
-rw-r--r--sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveQl.scala4
-rw-r--r--sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/SQLQuerySuite.scala14
3 files changed, 17 insertions, 5 deletions
diff --git a/sql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/server/SparkSQLOperationManager.scala b/sql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/server/SparkSQLOperationManager.scala
index b819d853ce..37bd97a680 100644
--- a/sql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/server/SparkSQLOperationManager.scala
+++ b/sql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/server/SparkSQLOperationManager.scala
@@ -113,7 +113,7 @@ private[thriftserver] class SparkSQLOperationManager(hiveContext: HiveContext)
case ByteType =>
to.addColumnValue(ColumnValue.byteValue(from.getByte(ordinal)))
case ShortType =>
- to.addColumnValue(ColumnValue.intValue(from.getShort(ordinal)))
+ to.addColumnValue(ColumnValue.shortValue(from.getShort(ordinal)))
case TimestampType =>
to.addColumnValue(
ColumnValue.timestampValue(from.get(ordinal).asInstanceOf[Timestamp]))
@@ -145,7 +145,7 @@ private[thriftserver] class SparkSQLOperationManager(hiveContext: HiveContext)
case ByteType =>
to.addColumnValue(ColumnValue.byteValue(null))
case ShortType =>
- to.addColumnValue(ColumnValue.intValue(null))
+ to.addColumnValue(ColumnValue.shortValue(null))
case TimestampType =>
to.addColumnValue(ColumnValue.timestampValue(null))
case BinaryType | _: ArrayType | _: StructType | _: MapType =>
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 fa3adfdf58..0788b4a394 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
@@ -658,7 +658,7 @@ private[hive] object HiveQl {
def nodeToRelation(node: Node): LogicalPlan = node match {
case Token("TOK_SUBQUERY",
query :: Token(alias, Nil) :: Nil) =>
- Subquery(alias, nodeToPlan(query))
+ Subquery(cleanIdentifier(alias), nodeToPlan(query))
case Token(laterViewToken(isOuter), selectClause :: relationClause :: Nil) =>
val Token("TOK_SELECT",
@@ -843,7 +843,7 @@ private[hive] object HiveQl {
case Token("TOK_SELEXPR",
e :: Token(alias, Nil) :: Nil) =>
- Some(Alias(nodeToExpr(e), alias)())
+ Some(Alias(nodeToExpr(e), cleanIdentifier(alias))())
/* Hints are ignored */
case Token("TOK_HINTLIST", _) => None
diff --git a/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/SQLQuerySuite.scala b/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/SQLQuerySuite.scala
index 635a9fb0d5..73d1186c68 100644
--- a/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/SQLQuerySuite.scala
+++ b/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/SQLQuerySuite.scala
@@ -39,7 +39,7 @@ class SQLQuerySuite extends QueryTest {
test("ordering not in agg") {
checkAnswer(
sql("SELECT key FROM src GROUP BY key, value ORDER BY value"),
- sql("""
+ sql( """
SELECT key
FROM (
SELECT key, value
@@ -47,4 +47,16 @@ class SQLQuerySuite extends QueryTest {
GROUP BY key, value
ORDER BY value) a""").collect().toSeq)
}
+
+ test("SPARK-3708 Backticks aren't handled correctly is aliases") {
+ checkAnswer(
+ sql("SELECT k FROM (SELECT `key` AS `k` FROM src) a"),
+ sql("SELECT `key` FROM src").collect().toSeq)
+ }
+
+ test("SPARK-3834 Backticks not correctly handled in subquery aliases") {
+ checkAnswer(
+ sql("SELECT a.key FROM (SELECT key FROM src) `a`"),
+ sql("SELECT `key` FROM src").collect().toSeq)
+ }
}