Github user cloud-fan commented on a diff in the pull request:

    https://github.com/apache/spark/pull/14207#discussion_r71471136
  
    --- Diff: 
sql/core/src/main/scala/org/apache/spark/sql/execution/command/createDataSourceTables.scala
 ---
    @@ -95,17 +95,41 @@ case class CreateDataSourceTableCommand(
           }
     
         // Create the relation to validate the arguments before writing the 
metadata to the metastore.
    -    DataSource(
    -      sparkSession = sparkSession,
    -      userSpecifiedSchema = userSpecifiedSchema,
    -      className = provider,
    -      bucketSpec = None,
    -      options = optionsWithPath).resolveRelation(checkPathExist = false)
    +    val dataSource: BaseRelation =
    +      DataSource(
    +        sparkSession = sparkSession,
    +        userSpecifiedSchema = userSpecifiedSchema,
    +        className = provider,
    +        bucketSpec = None,
    +        options = optionsWithPath).resolveRelation(checkPathExist = false)
    +
    +    val partitionColumns =
    --- End diff --
    
    IIUC, the logic should be: if schema is specified, use the given partition 
columns, else, infer it. Maybe it's more clear to write:
    ```
    val partitionColumns = if (userSpecifiedSchema.isEmpty) {
      if (userSpecifiedPartitionColumns.length > 0) {
        ...
      }
      dataSource match {
        ...
      }
    } else {
      userSpecifiedPartitionColumns
    }
    ```


---
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 [email protected] or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to