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]

Reply via email to