-
Notifications
You must be signed in to change notification settings - Fork 29k
[SPARK-19952][SQL] Remove various analysis exceptions #17716
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
| case _: NoSuchTableException => | ||
| u.failAnalysis(s"Table or view not found: ${tableIdentWithDb.unquotedString}") | ||
| // If the database is defined and that database is not found, throw an AnalysisException. | ||
| if (!tableIdentWithDb.database.exists(catalog.databaseExists)) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps we should move this into catalog.lookupRelation and attach the location here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
how about
try {
catalog.lookupRelation(tableIdentWithDb)
} catch {
case a: AnalysisException => u.failAnalysis(a.message)
}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, could work. This change is also causing the tests to fail, so I am revisiting it.
|
Test build #76031 has finished for PR 17716 at commit
|
|
Test build #76039 has finished for PR 17716 at commit
|
|
|
||
| private def assertNoSuchTable(query: String): Unit = { | ||
| intercept[NoSuchTableException] { | ||
| intercept[AnalysisException] { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
AnalysisException is a pretty general Exception in Spark SQL. The future refactoring might introduce bugs without trigger any test case failure.
Could we check the error messages?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will do
|
@hvanhovell, how is it going? |
|
ping @hvanhovell Are you still working on this? |
## What changes were proposed in this pull request? This PR proposes to close stale PRs, mostly the same instances with apache#18017 I believe the author in apache#14807 removed his account. Closes apache#7075 Closes apache#8927 Closes apache#9202 Closes apache#9366 Closes apache#10861 Closes apache#11420 Closes apache#12356 Closes apache#13028 Closes apache#13506 Closes apache#14191 Closes apache#14198 Closes apache#14330 Closes apache#14807 Closes apache#15839 Closes apache#16225 Closes apache#16685 Closes apache#16692 Closes apache#16995 Closes apache#17181 Closes apache#17211 Closes apache#17235 Closes apache#17237 Closes apache#17248 Closes apache#17341 Closes apache#17708 Closes apache#17716 Closes apache#17721 Closes apache#17937 Added: Closes apache#14739 Closes apache#17139 Closes apache#17445 Closes apache#18042 Closes apache#18359 Added: Closes apache#16450 Closes apache#16525 Closes apache#17738 Added: Closes apache#16458 Closes apache#16508 Closes apache#17714 Added: Closes apache#17830 Closes apache#14742 ## How was this patch tested? N/A Author: hyukjinkwon <[email protected]> Closes apache#18417 from HyukjinKwon/close-stale-pr.
What changes were proposed in this pull request?
We currently have quite a few analysis exception subclasses, the problem with these is that they are not well supported throughout Spark (in pySpark for example) and that the added value is limited. This PR removes the
no such objectand thealready existsexceptions, and replaces them by a factory methods that create analysis exceptions with the required error messages.How was this patch tested?
Modified existing tests.