aboutsummaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorjayadevanmurali <jayadevan.m@tcs.com>2016-02-11 21:21:03 +0100
committerHerman van Hovell <hvanhovell@questtec.nl>2016-02-11 21:21:03 +0100
commit0d50a22084eea91d4efb0a3ed3fa59b8d9680795 (patch)
tree3269951739522755071396bcca199b0149c5c2d5 /sql
parente31c80737b7f4d8baa02230788e3963433cb3ef9 (diff)
downloadspark-0d50a22084eea91d4efb0a3ed3fa59b8d9680795.tar.gz
spark-0d50a22084eea91d4efb0a3ed3fa59b8d9680795.tar.bz2
spark-0d50a22084eea91d4efb0a3ed3fa59b8d9680795.zip
[SPARK-12982][SQL] Add table name validation in temp table registration
Add the table name validation at the temp table creation Author: jayadevanmurali <jayadevan.m@tcs.com> Closes #11051 from jayadevanmurali/branch-0.2-SPARK-12982.
Diffstat (limited to 'sql')
-rw-r--r--sql/core/src/main/scala/org/apache/spark/sql/SQLContext.scala2
-rw-r--r--sql/core/src/test/scala/org/apache/spark/sql/DataFrameSuite.scala12
2 files changed, 13 insertions, 1 deletions
diff --git a/sql/core/src/main/scala/org/apache/spark/sql/SQLContext.scala b/sql/core/src/main/scala/org/apache/spark/sql/SQLContext.scala
index 050a1031c0..d58b99655c 100644
--- a/sql/core/src/main/scala/org/apache/spark/sql/SQLContext.scala
+++ b/sql/core/src/main/scala/org/apache/spark/sql/SQLContext.scala
@@ -720,7 +720,7 @@ class SQLContext private[sql](
* only during the lifetime of this instance of SQLContext.
*/
private[sql] def registerDataFrameAsTable(df: DataFrame, tableName: String): Unit = {
- catalog.registerTable(TableIdentifier(tableName), df.logicalPlan)
+ catalog.registerTable(sqlParser.parseTableIdentifier(tableName), df.logicalPlan)
}
/**
diff --git a/sql/core/src/test/scala/org/apache/spark/sql/DataFrameSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/DataFrameSuite.scala
index 3ea4adcaa6..99ba2e2061 100644
--- a/sql/core/src/test/scala/org/apache/spark/sql/DataFrameSuite.scala
+++ b/sql/core/src/test/scala/org/apache/spark/sql/DataFrameSuite.scala
@@ -1305,4 +1305,16 @@ class DataFrameSuite extends QueryTest with SharedSQLContext {
Seq(1 -> "a").toDF("i", "j").filter($"i".cast(StringType) === "1"),
Row(1, "a"))
}
+
+ test("SPARK-12982: Add table name validation in temp table registration") {
+ val df = Seq("foo", "bar").map(Tuple1.apply).toDF("col")
+ // invalid table name test as below
+ intercept[AnalysisException](df.registerTempTable("t~"))
+ // valid table name test as below
+ df.registerTempTable("table1")
+ // another invalid table name test as below
+ intercept[AnalysisException](df.registerTempTable("#$@sum"))
+ // another invalid table name test as below
+ intercept[AnalysisException](df.registerTempTable("table!#"))
+ }
}