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

    https://github.com/apache/spark/pull/21590#discussion_r198022388
  
    --- Diff: 
sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/jdbc/JDBCOptions.scala
 ---
    @@ -65,13 +65,32 @@ class JDBCOptions(
       // Required parameters
       // ------------------------------------------------------------
       require(parameters.isDefinedAt(JDBC_URL), s"Option '$JDBC_URL' is 
required.")
    -  require(parameters.isDefinedAt(JDBC_TABLE_NAME), s"Option 
'$JDBC_TABLE_NAME' is required.")
       // a JDBC URL
       val url = parameters(JDBC_URL)
    -  // name of table
    -  val table = parameters(JDBC_TABLE_NAME)
    +  // table name or a table subquery.
    +  val tableOrQuery = (parameters.get(JDBC_TABLE_NAME), 
parameters.get(JDBC_QUERY_STRING)) match {
    +    case (Some(name), Some(subquery)) =>
    +      throw new IllegalArgumentException(
    +        s"Both '$JDBC_TABLE_NAME' and '$JDBC_QUERY_STRING' can not be 
specified at the same time."
    +      )
    +    case (None, None) =>
    +      throw new IllegalArgumentException(
    +        s"Option '$JDBC_TABLE_NAME' or '${JDBC_QUERY_STRING}' is required."
    +      )
    +    case (Some(name), None) =>
    +      if (name.isEmpty) {
    +        throw new IllegalArgumentException(s"Option '${JDBC_TABLE_NAME}' 
can not be empty.")
    +      } else {
    +        name.trim
    +      }
    +    case (None, Some(subquery)) =>
    +      if (subquery.isEmpty) {
    +        throw new IllegalArgumentException(s"Option `${JDBC_QUERY_STRING}` 
can not be empty.")
    --- End diff --
    
    @maropu OK.


---

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

Reply via email to