diff options
author | gatorsmile <gatorsmile@gmail.com> | 2016-06-16 10:01:59 -0700 |
---|---|---|
committer | Cheng Lian <lian@databricks.com> | 2016-06-16 10:01:59 -0700 |
commit | 6451cf9270b55465d8ecea4c4031329a1058561a (patch) | |
tree | a85d5758f2be2ab562f75ae04ec3096d8f950120 /sql/hive/src/main | |
parent | 7c6c6926376c93acc42dd56a399d816f4838f28c (diff) | |
download | spark-6451cf9270b55465d8ecea4c4031329a1058561a.tar.gz spark-6451cf9270b55465d8ecea4c4031329a1058561a.tar.bz2 spark-6451cf9270b55465d8ecea4c4031329a1058561a.zip |
[SPARK-15862][SQL] Better Error Message When Having Database Name in CACHE TABLE AS SELECT
#### What changes were proposed in this pull request?
~~If the temp table already exists, we should not silently replace it when doing `CACHE TABLE AS SELECT`. This is inconsistent with the behavior of `CREAT VIEW` or `CREATE TABLE`. This PR is to fix this silent drop.~~
~~Maybe, we also can introduce new syntax for replacing the existing one. For example, in Hive, to replace a view, the syntax should be like `ALTER VIEW AS SELECT` or `CREATE OR REPLACE VIEW AS SELECT`~~
The table name in `CACHE TABLE AS SELECT` should NOT contain database prefix like "database.table". Thus, this PR captures this in Parser and outputs a better error message, instead of reporting the view already exists.
In addition, refactoring the `Parser` to generate table identifiers instead of returning the table name string.
#### How was this patch tested?
- Added a test case for caching and uncaching qualified table names
- Fixed a few test cases that do not drop temp table at the end
- Added the related test case for the issue resolved in this PR
Author: gatorsmile <gatorsmile@gmail.com>
Author: xiaoli <lixiao1983@gmail.com>
Author: Xiao Li <xiaoli@Xiaos-MacBook-Pro.local>
Closes #13572 from gatorsmile/cacheTableAsSelect.
Diffstat (limited to 'sql/hive/src/main')
-rw-r--r-- | sql/hive/src/main/scala/org/apache/spark/sql/hive/test/TestHive.scala | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sql/hive/src/main/scala/org/apache/spark/sql/hive/test/TestHive.scala b/sql/hive/src/main/scala/org/apache/spark/sql/hive/test/TestHive.scala index 1d1d5e3f7b..b45be0251d 100644 --- a/sql/hive/src/main/scala/org/apache/spark/sql/hive/test/TestHive.scala +++ b/sql/hive/src/main/scala/org/apache/spark/sql/hive/test/TestHive.scala @@ -449,7 +449,7 @@ private[hive] class TestHiveQueryExecution( override lazy val analyzed: LogicalPlan = { val describedTables = logical match { - case CacheTableCommand(tbl, _, _) => tbl :: Nil + case CacheTableCommand(tbl, _, _) => tbl.table :: Nil case _ => Nil } |