Travis Crawford created HIVE-3279: ------------------------------------- Summary: 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