diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java b/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java index ab011fc6dfdd9201a20544fde18c700b27f22c4f..1c97d8964ed00fc7e17e752d0dde4ea0226d3b66 100644 --- a/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java +++ b/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java @@ -4088,12 +4088,16 @@ public ColumnStatistics get_table_column_statistics(String dbName, String tableN @Override public TableStatsResult get_table_statistics_req(TableStatsRequest request) throws MetaException, NoSuchObjectException, TException { - String dbName = request.getDbName(), tblName = request.getTblName(); + String dbName = request.getDbName().toLowerCase(); + String tblName = request.getTblName().toLowerCase(); startFunction("get_table_statistics_req: db=" + dbName + " table=" + tblName); TableStatsResult result = null; + List lowerCaseColNames = new ArrayList(request.getColNames().size()); + for (String colName : request.getColNames()) { + lowerCaseColNames.add(colName.toLowerCase()); + } try { - ColumnStatistics cs = getMS().getTableColumnStatistics( - dbName, tblName, request.getColNames()); + ColumnStatistics cs = getMS().getTableColumnStatistics(dbName, tblName, lowerCaseColNames); result = new TableStatsResult( cs == null ? Lists.newArrayList() : cs.getStatsObj()); } finally { @@ -4131,13 +4135,22 @@ public ColumnStatistics get_partition_column_statistics(String dbName, String ta @Override public PartitionsStatsResult get_partitions_statistics_req(PartitionsStatsRequest request) throws MetaException, NoSuchObjectException, TException { - String dbName = request.getDbName(), tblName = request.getTblName(); + String dbName = request.getDbName().toLowerCase(); + String tblName = request.getTblName().toLowerCase(); startFunction("get_partitions_statistics_req: db=" + dbName + " table=" + tblName); PartitionsStatsResult result = null; + List lowerCaseColNames = new ArrayList(request.getColNames().size()); + for (String colName : request.getColNames()) { + lowerCaseColNames.add(colName.toLowerCase()); + } + List lowerCasePartNames = new ArrayList(request.getPartNames().size()); + for (String partName : request.getPartNames()) { + lowerCasePartNames.add(lowerCaseConvertPartName(partName)); + } try { List stats = getMS().getPartitionColumnStatistics( - dbName, tblName, request.getPartNames(), request.getColNames()); + dbName, tblName, lowerCasePartNames, lowerCaseColNames); Map> map = new HashMap>(); for (ColumnStatistics stat : stats) { @@ -5525,11 +5538,23 @@ public GetRoleGrantsForPrincipalResponse get_role_grants_for_principal( @Override public AggrStats get_aggr_stats_for(PartitionsStatsRequest request) throws NoSuchObjectException, MetaException, TException { + String dbName = request.getDbName().toLowerCase(); + String tblName = request.getTblName().toLowerCase(); startFunction("get_aggr_stats_for: db=" + request.getDbName() + " table=" + request.getTblName()); + + List lowerCaseColNames = new ArrayList(request.getColNames().size()); + for (String colName : request.getColNames()) { + lowerCaseColNames.add(colName.toLowerCase()); + } + List lowerCasePartNames = new ArrayList(request.getPartNames().size()); + for (String partName : request.getPartNames()) { + lowerCasePartNames.add(lowerCaseConvertPartName(partName)); + } AggrStats aggrStats = null; + try { - aggrStats = new AggrStats(getMS().get_aggr_stats_for(request.getDbName(), - request.getTblName(), request.getPartNames(), request.getColNames())); + aggrStats = new AggrStats(getMS().get_aggr_stats_for(dbName, tblName, lowerCasePartNames, + lowerCaseColNames)); return aggrStats; } finally { endFunction("get_partitions_statistics_req: ", aggrStats == null, null, request.getTblName());