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

    https://github.com/apache/spark/pull/19776#discussion_r152156940
  
    --- Diff: sql/core/src/test/scala/org/apache/spark/sql/jdbc/JDBCSuite.scala 
---
    @@ -296,8 +296,33 @@ class JDBCSuite extends SparkFunSuite
         // The older versions of spark have this kind of bugs in parquet data 
source.
         val df1 = sql("SELECT * FROM foobar WHERE NOT (THEID != 2 AND NAME != 
'mary')")
         val df2 = sql("SELECT * FROM foobar WHERE NOT (THEID != 2) OR NOT 
(NAME != 'mary')")
    +    val df3 = sql("SELECT * FROM foobar WHERE (THEID > 0 AND NAME = 
'mary') OR (NAME = 'fred')")
    +    val df4 = sql("SELECT * FROM foobar " +
    +      "WHERE (THEID > 0 AND TRIM(NAME) = 'mary') OR (NAME = 'fred')")
    +    val df5 = sql("SELECT * FROM foobar " +
    +      "WHERE THEID > 0 AND TRIM(NAME) = 'mary' AND LENGTH(NAME) > 3")
    +    val df6 = sql("SELECT * FROM foobar " +
    +      "WHERE THEID < 0 OR NAME = 'mary' OR NAME = 'fred'")
    +    val df7 = sql("SELECT * FROM foobar " +
    +      "WHERE THEID < 0 OR TRIM(NAME) = 'mary' OR NAME = 'fred'")
    +    val df8 = sql("SELECT * FROM foobar " +
    +      "WHERE NOT((THEID < 0 OR NAME != 'mary') AND (THEID != 1 OR NAME != 
'fred'))")
    +    val df9 = sql("SELECT * FROM foobar " +
    +      "WHERE NOT((THEID < 0 OR NAME != 'mary') AND (THEID != 1 OR 
TRIM(NAME) != 'fred'))")
    +    val df10 = sql("SELECT * FROM foobar " +
    +      "WHERE (NOT(THEID < 0 OR TRIM(NAME) != 'mary')) OR (THEID = 1 AND 
NAME = 'fred')")
    +
         assert(df1.collect.toSet === Set(Row("mary", 2)))
         assert(df2.collect.toSet === Set(Row("mary", 2)))
    +    assert(df3.collect.toSet === Set(Row("fred", 1), Row("mary", 2)))
    +    assert(df4.collect.toSet === Set(Row("fred", 1), Row("mary", 2)))
    +    assert(df5.collect.toSet === Set(Row("mary", 2)))
    +    assert(df6.collect.toSet === Set(Row("fred", 1), Row("mary", 2)))
    +    assert(df7.collect.toSet === Set(Row("fred", 1), Row("mary", 2)))
    +    assert(df8.collect.toSet === Set(Row("fred", 1), Row("mary", 2)))
    +    assert(df9.collect.toSet === Set(Row("fred", 1), Row("mary", 2)))
    +    assert(df10.collect.toSet === Set(Row("fred", 1), Row("mary", 2)))
    --- End diff --
    
    They are end-to-end test cases. 
    
    If you can, we should also add such a unit test suite. In the future, we 
can add more unit test cases for verifying more complex cases. 


---

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

Reply via email to