Github user marmbrus commented on a diff in the pull request:

    https://github.com/apache/spark/pull/3139#discussion_r20053092
  
    --- Diff: 
sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/HiveComparisonTest.scala
 ---
    @@ -341,12 +341,21 @@ abstract class HiveComparisonTest
               val query = new TestHive.HiveQLQueryExecution(queryString)
               try { (query, prepareAnswer(query, query.stringResult())) } 
catch {
                 case e: Throwable =>
    +              val logicalQueryInString = try {
    +                query.toString
    --- End diff --
    
    I don't think thats correct, stringOrError takes a closure so the actual 
calculation is done inside of the function and should be correctly caught:
    
    ```scala
    scala> def stringOrError[A](f: => A): String =
         |       try f.toString catch { case e: Throwable => e.toString }
    stringOrError: [A](f: => A)String
    
    scala> stringOrError(sys.error("test"))
    res0: String = java.lang.RuntimeException: test
    
    scala> def error = sys.error("test")
    error: Nothing
    
    scala> stringOrError(error)
    res1: String = java.lang.RuntimeException: test
    ```


---
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 infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to