diff options
author | jayadevanmurali <jayadevan.m@tcs.com> | 2016-02-11 21:21:03 +0100 |
---|---|---|
committer | Herman van Hovell <hvanhovell@questtec.nl> | 2016-02-11 21:21:03 +0100 |
commit | 0d50a22084eea91d4efb0a3ed3fa59b8d9680795 (patch) | |
tree | 3269951739522755071396bcca199b0149c5c2d5 | |
parent | e31c80737b7f4d8baa02230788e3963433cb3ef9 (diff) | |
download | spark-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.
-rw-r--r-- | sql/core/src/main/scala/org/apache/spark/sql/SQLContext.scala | 2 | ||||
-rw-r--r-- | sql/core/src/test/scala/org/apache/spark/sql/DataFrameSuite.scala | 12 |
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!#")) + } } |