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

    https://github.com/apache/spark/pull/11063#discussion_r54375174
  
    --- Diff: 
sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/jdbc/JDBCRelation.scala
 ---
    @@ -75,12 +83,63 @@ private[sql] object JDBCRelation {
         }
         ans.toArray
       }
    +
    +  /**
    +   * Returns null value predicate if the column is nullable, otherwise 
empty string. Uses
    +   * nullable information available in the catalyst schema generated for 
the source table.
    +   * This method avoids querying the database metadata to find if the 
unquoted column names
    +   * are interpreted as uppercase or lower case. In rare cases when the 
schema has on column
    +   * with uppercase name, and another one with lowercase, it will return 
null value
    +   * partition predicate if either one of the column is nullable.
    +   *
    +   * @param column name of the column
    +   * @param url the jdbc url of the database
    +   * @param schema table's Catalyst schema
    +   * @return  null value predicate or empty string.
    +   */
    +  private def getParitionNullValuePredicate(column: String,
    +    url: String, schema: StructType): String = {
    --- End diff --
    
    Sorry for the delay. I'd definitely just go for the simpler approach (i.e. 
always put the null in 1st partition), and only make it more complicated in the 
future if it is big enough of a problem.



---
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