ulysses-you commented on a change in pull request #32768:
URL: https://github.com/apache/spark/pull/32768#discussion_r645253369
##########
File path:
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/catalog/SessionCatalog.scala
##########
@@ -265,6 +265,9 @@ class SessionCatalog(
if (dbName == DEFAULT_DATABASE) {
throw QueryCompilationErrors.cannotDropDefaultDatabaseError
}
+ if (!ignoreIfNotExists) {
+ requireDbExists(dbName)
Review comment:
Not sure I get your ponit. You mean this `SessionCatalog` can not handle
`ignoreIfNotExists` correctly ?
##########
File path:
sql/core/src/test/scala/org/apache/spark/sql/execution/command/DDLSuite.scala
##########
@@ -2585,6 +2580,14 @@ abstract class DDLSuite extends QueryTest with
SQLTestUtils {
assert(spark.sessionState.catalog.isRegisteredFunction(rand))
}
}
+
+ test("SPARK-35629: Drop database should check if exists") {
Review comment:
Seems we don't need add this new test since we have enough test before.
##########
File path:
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/catalog/SessionCatalog.scala
##########
@@ -265,6 +265,9 @@ class SessionCatalog(
if (dbName == DEFAULT_DATABASE) {
throw QueryCompilationErrors.cannotDropDefaultDatabaseError
}
+ if (!ignoreIfNotExists) {
+ requireDbExists(dbName)
Review comment:
thanks for the explaination, I see your concern. Seems we also didn't
handle this in `drop table` or `drop function`..
```
requireDbExists(db)
if (tableExists(TableIdentifier(table, Option(db)))) {
externalCatalog.dropTable(db, table, ignoreIfNotExists = true, purge =
purge)
} else if (!ignoreIfNotExists) {
throw new NoSuchTableException(db = db, table = table)
}
```
So I'm assuming it's OK in `drop database` ?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]