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

    https://github.com/apache/spark/pull/19776#discussion_r152158653
  
    --- 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 --
    
    @gatorsmile Thanks for comments, Sean =) You mean you'd like to see test 
cases calling ```DataSourceStrategy.translateFilter``` directly or end-to-end 
like ```sql("SELECT * FROM foobar WHERE THEID < 1")``` which goes thru the 
translateFilter code path to verify. I'm fine either way, just want to clarify. 


---

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

Reply via email to