[ 
https://issues.apache.org/jira/browse/HIVE-22826?focusedWorklogId=494010&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-494010
 ]

ASF GitHub Bot logged work on HIVE-22826:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 02/Oct/20 15:41
            Start Date: 02/Oct/20 15:41
    Worklog Time Spent: 10m 
      Work Description: ashish-kumar-sharma commented on a change in pull 
request #1528:
URL: https://github.com/apache/hive/pull/1528#discussion_r498900535



##########
File path: 
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/utils/MetaStoreServerUtils.java
##########
@@ -1554,4 +1555,32 @@ public static Partition createMetaPartitionObject(Table 
tbl, Map<String, String>
     }
     return tpart;
   }
+
+  /**
+   * Validate bucket columns should belong to table columns.
+   * @param sd StorageDescriptor of given table
+   * @return true if bucket columns are empty or belong to table columns else 
false
+   */
+  public static boolean validateBucketColumns(StorageDescriptor sd) {
+    List<String> columnNames = getColumnNames(sd.getCols());
+    if(CollectionUtils.isNotEmpty(sd.getBucketCols()) &&  
CollectionUtils.isNotEmpty(columnNames)){
+      return 
columnNames.containsAll(sd.getBucketCols().stream().map(String::toLowerCase).collect(Collectors.toList()));
+    } else if (CollectionUtils.isNotEmpty(sd.getBucketCols()) &&  
CollectionUtils.isEmpty(columnNames)) {
+      return false;
+    } else {
+      return true;
+    }
+  }
+
+  /**
+   * Generate column name list  from the fieldSchema list
+   * @param cols fieldSchema list
+   * @return column name list
+   */
+  public static List<String> getColumnNames(List<FieldSchema> cols) {
+    if (CollectionUtils.isNotEmpty(cols)) {
+      return 
cols.stream().map(FieldSchema::getName).collect(Collectors.toList());

Review comment:
       Expected column name in lower case. But in order to be fail safe added 
toLowerCase() here also.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Issue Time Tracking
-------------------

    Worklog Id:     (was: 494010)
    Time Spent: 1.5h  (was: 1h 20m)

>  ALTER TABLE RENAME COLUMN doesn't update list of bucketed column names
> -----------------------------------------------------------------------
>
>                 Key: HIVE-22826
>                 URL: https://issues.apache.org/jira/browse/HIVE-22826
>             Project: Hive
>          Issue Type: Bug
>          Components: Query Planning
>    Affects Versions: 4.0.0
>            Reporter: Karen Coppage
>            Assignee: Ashish Sharma
>            Priority: Major
>              Labels: pull-request-available
>         Attachments: unitTest.patch
>
>          Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> Compaction for tables where a bucketed column has been renamed fails since 
> the list of bucketed columns in the StorageDescriptor doesn't get updated 
> when the column is renamed, therefore we can't recreate the table correctly 
> during compaction.
> Attached a unit test that fails.
> NO PRECOMMIT TESTS



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to