[ 
https://issues.apache.org/jira/browse/HIVE-3279?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13420840#comment-13420840
 ] 

Ashutosh Chauhan commented on HIVE-3279:
----------------------------------------

bq. Later, when initializing a Partition we check if the storage descriptor has 
null for its columns. It actually has the empty list copied from the empty 
table (not null) and we do not copy the table schema into the partition.

This is true even for regular columns, not only for serde reported columns. How 
in non-serde case, partition gets the columns from table then ?
                
> Table schema not being copied to Partitions with no columns
> -----------------------------------------------------------
>
>                 Key: HIVE-3279
>                 URL: https://issues.apache.org/jira/browse/HIVE-3279
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Travis Crawford
>            Assignee: Travis Crawford
>
> Hive has a feature where {{Partition}}'s without any defined columns use the 
> {{Table}} schema. This happens in 
> {{[Partition.initialize|https://github.com/apache/hive/blob/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Partition.java#L167]}}
> {code}
> // set default if columns are not set
> if (tPartition.getSd().getCols() == null) {
>   if (table.getCols() != null) {
>     tPartition.getSd().setCols(table.getCols());
>   }
> }
> {code}
> There's an issue though, because 
> {{[Table.getEmptyTable|https://github.com/apache/hive/blob/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java#L121]}}
>  initializes cols to an empty array, which of course is not null, causing the 
> above feature to not work as expected.
> I'm not sure of the fix - is there a case where cols can indeed be null? I 
> think the best thing to do here is:
> {code}
> -        if (tPartition.getSd().getCols() == null) {
> +        if (tPartition.getSd().getCols() == null || 
> tPartition.getSd().getCols().size() == 0) {
> {code}
> Thoughts?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to