diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java index accd7f1324..3ebd5f3162 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java @@ -3658,30 +3658,32 @@ private int describeTable(Hive db, DescTableDesc descTbl) throws HiveException, if (tbl.isPartitioned() && part == null) { // No partitioned specified for partitioned table, lets fetch all. Map tblProps = tbl.getParameters() == null ? new HashMap() : tbl.getParameters(); - Map valueMap = new HashMap<>(); - Map stateMap = new HashMap<>(); - for (String stat : StatsSetupConst.SUPPORTED_STATS) { - valueMap.put(stat, 0L); - stateMap.put(stat, true); - } - PartitionIterable parts = new PartitionIterable(db, tbl, null, conf.getIntVar(HiveConf.ConfVars.METASTORE_BATCH_RETRIEVE_MAX)); - int numParts = 0; - for (Partition partition : parts) { - Map props = partition.getParameters(); - Boolean state = StatsSetupConst.areBasicStatsUptoDate(props); + if (descTbl.isExt()) { + Map valueMap = new HashMap<>(); + Map stateMap = new HashMap<>(); for (String stat : StatsSetupConst.SUPPORTED_STATS) { - stateMap.put(stat, stateMap.get(stat) && state); - if (props != null && props.get(stat) != null) { - valueMap.put(stat, valueMap.get(stat) + Long.parseLong(props.get(stat))); + valueMap.put(stat, 0L); + stateMap.put(stat, true); + } + PartitionIterable parts = new PartitionIterable(db, tbl, null, conf.getIntVar(HiveConf.ConfVars.METASTORE_BATCH_RETRIEVE_MAX)); + int numParts = 0; + for (Partition partition : parts) { + Map props = partition.getParameters(); + Boolean state = StatsSetupConst.areBasicStatsUptoDate(props); + for (String stat : StatsSetupConst.SUPPORTED_STATS) { + stateMap.put(stat, stateMap.get(stat) && state); + if (props != null && props.get(stat) != null) { + valueMap.put(stat, valueMap.get(stat) + Long.parseLong(props.get(stat))); + } } + numParts++; } - numParts++; - } - for (String stat : StatsSetupConst.SUPPORTED_STATS) { - StatsSetupConst.setBasicStatsState(tblProps, Boolean.toString(stateMap.get(stat))); - tblProps.put(stat, valueMap.get(stat).toString()); + for (String stat : StatsSetupConst.SUPPORTED_STATS) { + StatsSetupConst.setBasicStatsState(tblProps, Boolean.toString(stateMap.get(stat))); + tblProps.put(stat, valueMap.get(stat).toString()); + } + tblProps.put(StatsSetupConst.NUM_PARTITIONS, Integer.toString(numParts)); } - tblProps.put(StatsSetupConst.NUM_PARTITIONS, Integer.toString(numParts)); tbl.setParameters(tblProps); } } else {