Github user dilipbiswal commented on a diff in the pull request:
https://github.com/apache/spark/pull/17214#discussion_r105046388
--- Diff:
sql/core/src/main/scala/org/apache/spark/sql/execution/QueryExecution.scala ---
@@ -46,9 +46,13 @@ class QueryExecution(val sparkSession: SparkSession, val
logical: LogicalPlan) {
protected def planner = sparkSession.sessionState.planner
def assertAnalyzed(): Unit = {
- try sparkSession.sessionState.analyzer.checkAnalysis(analyzed) catch {
+ var analyzedPlan: Option[LogicalPlan] = None
--- End diff --
@hvanhovell I tried the suggested code snippet. Actually since AnalyzedPlan
is declared lazy the evaluation happens inside the try block and hence it has
the same problem. So lets just move analyzed outside the try block as wenchen
suggests ?
```scala
def assertAnalyzed(): Unit = {
analyzed
try {
sparkSession.sessionState.analyzer.checkAnalysis(analyzed)
} catch {
case e: AnalysisException =>
val ae = new AnalysisException(e.message, e.line, e.startPosition,
Option(analyzed))
ae.setStackTrace(e.getStackTrace)
throw ae
}
}
```
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]