diff options
author | gatorsmile <gatorsmile@gmail.com> | 2016-06-14 11:44:37 -0700 |
---|---|---|
committer | Wenchen Fan <wenchen@databricks.com> | 2016-06-14 11:44:37 -0700 |
commit | df4ea6614d709ee66f1ceb966df6216b125b8ea1 (patch) | |
tree | 41dd629c3ff4d166513d0f01887946152a91a17c /sql/core/src/test | |
parent | c5b735581922c52a1b1cc6cd8c7b5878d3cf8f20 (diff) | |
download | spark-df4ea6614d709ee66f1ceb966df6216b125b8ea1.tar.gz spark-df4ea6614d709ee66f1ceb966df6216b125b8ea1.tar.bz2 spark-df4ea6614d709ee66f1ceb966df6216b125b8ea1.zip |
[SPARK-15864][SQL] Fix Inconsistent Behaviors when Uncaching Non-cached Tables
#### What changes were proposed in this pull request?
To uncache a table, we have three different ways:
- _SQL interface_: `UNCACHE TABLE`
- _DataSet API_: `sparkSession.catalog.uncacheTable`
- _DataSet API_: `sparkSession.table(tableName).unpersist()`
When the table is not cached,
- _SQL interface_: `UNCACHE TABLE non-cachedTable` -> **no error message**
- _Dataset API_: `sparkSession.catalog.uncacheTable("non-cachedTable")` -> **report a strange error message:**
```requirement failed: Table [a: int] is not cached```
- _Dataset API_: `sparkSession.table("non-cachedTable").unpersist()` -> **no error message**
This PR will make them consistent. No operation if the table has already been uncached.
In addition, this PR also removes `uncacheQuery` and renames `tryUncacheQuery` to `uncacheQuery`, and documents it that it's noop if the table has already been uncached
#### How was this patch tested?
Improved the existing test case for verifying the cases when the table has not been cached.
Also added test cases for verifying the cases when the table does not exist
Author: gatorsmile <gatorsmile@gmail.com>
Author: xiaoli <lixiao1983@gmail.com>
Author: Xiao Li <xiaoli@Xiaos-MacBook-Pro.local>
Closes #13593 from gatorsmile/uncacheNonCachedTable.
Diffstat (limited to 'sql/core/src/test')
-rw-r--r-- | sql/core/src/test/scala/org/apache/spark/sql/CachedTableSuite.scala | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/sql/core/src/test/scala/org/apache/spark/sql/CachedTableSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/CachedTableSuite.scala index 3306ac42a3..d7df18ae1c 100644 --- a/sql/core/src/test/scala/org/apache/spark/sql/CachedTableSuite.scala +++ b/sql/core/src/test/scala/org/apache/spark/sql/CachedTableSuite.scala @@ -186,12 +186,6 @@ class CachedTableSuite extends QueryTest with SQLTestUtils with SharedSQLContext assertCached(spark.table("testData"), 0) } - test("correct error on uncache of non-cached table") { - intercept[IllegalArgumentException] { - spark.catalog.uncacheTable("testData") - } - } - test("SELECT star from cached table") { sql("SELECT * FROM testData").createOrReplaceTempView("selectStar") spark.catalog.cacheTable("selectStar") |