diff --git metastore/src/java/org/apache/hadoop/hive/metastore/StatObjectConverter.java metastore/src/java/org/apache/hadoop/hive/metastore/StatObjectConverter.java index 230d9a2..b3ceff1 100644 --- metastore/src/java/org/apache/hadoop/hive/metastore/StatObjectConverter.java +++ metastore/src/java/org/apache/hadoop/hive/metastore/StatObjectConverter.java @@ -464,14 +464,14 @@ public static void fillColumnStatisticsData(String colType, ColumnStatisticsData colType.startsWith("varchar") || colType.startsWith("char")) { StringColumnStatsData stringStats = new StringColumnStatsData(); stringStats.setNumNulls(MetaStoreDirectSql.extractSqlLong(nulls)); - stringStats.setAvgColLen((Double)avglen); + stringStats.setAvgColLen(MetaStoreDirectSql.extractSqlDouble(avglen)); stringStats.setMaxColLen(MetaStoreDirectSql.extractSqlLong(maxlen)); stringStats.setNumDVs(MetaStoreDirectSql.extractSqlLong(dist)); data.setStringStats(stringStats); } else if (colType.equals("binary")) { BinaryColumnStatsData binaryStats = new BinaryColumnStatsData(); binaryStats.setNumNulls(MetaStoreDirectSql.extractSqlLong(nulls)); - binaryStats.setAvgColLen((Double)avglen); + binaryStats.setAvgColLen(MetaStoreDirectSql.extractSqlDouble(avglen)); binaryStats.setMaxColLen(MetaStoreDirectSql.extractSqlLong(maxlen)); data.setBinaryStats(binaryStats); } else if (colType.equals("bigint") || colType.equals("int") || @@ -491,10 +491,10 @@ public static void fillColumnStatisticsData(String colType, ColumnStatisticsData DoubleColumnStatsData doubleStats = new DoubleColumnStatsData(); doubleStats.setNumNulls(MetaStoreDirectSql.extractSqlLong(nulls)); if (dhigh != null) { - doubleStats.setHighValue((Double)dhigh); + doubleStats.setHighValue(MetaStoreDirectSql.extractSqlDouble(dhigh)); } if (dlow != null) { - doubleStats.setLowValue((Double)dlow); + doubleStats.setLowValue(MetaStoreDirectSql.extractSqlDouble(dlow)); } doubleStats.setNumDVs(MetaStoreDirectSql.extractSqlLong(dist)); data.setDoubleStats(doubleStats); @@ -539,14 +539,14 @@ public static void fillColumnStatisticsData(String colType, ColumnStatisticsData || colType.startsWith("char")) { StringColumnStatsData stringStats = new StringColumnStatsData(); stringStats.setNumNulls(MetaStoreDirectSql.extractSqlLong(nulls)); - stringStats.setAvgColLen((Double) avglen); + stringStats.setAvgColLen(MetaStoreDirectSql.extractSqlDouble(avglen)); stringStats.setMaxColLen(MetaStoreDirectSql.extractSqlLong(maxlen)); stringStats.setNumDVs(MetaStoreDirectSql.extractSqlLong(dist)); data.setStringStats(stringStats); } else if (colType.equals("binary")) { BinaryColumnStatsData binaryStats = new BinaryColumnStatsData(); binaryStats.setNumNulls(MetaStoreDirectSql.extractSqlLong(nulls)); - binaryStats.setAvgColLen((Double) avglen); + binaryStats.setAvgColLen(MetaStoreDirectSql.extractSqlDouble(avglen)); binaryStats.setMaxColLen(MetaStoreDirectSql.extractSqlLong(maxlen)); data.setBinaryStats(binaryStats); } else if (colType.equals("bigint") || colType.equals("int") || colType.equals("smallint") @@ -583,10 +583,10 @@ public static void fillColumnStatisticsData(String colType, ColumnStatisticsData DoubleColumnStatsData doubleStats = new DoubleColumnStatsData(); doubleStats.setNumNulls(MetaStoreDirectSql.extractSqlLong(nulls)); if (dhigh != null) { - doubleStats.setHighValue((Double) dhigh); + doubleStats.setHighValue(MetaStoreDirectSql.extractSqlDouble(dhigh)); } if (dlow != null) { - doubleStats.setLowValue((Double) dlow); + doubleStats.setLowValue(MetaStoreDirectSql.extractSqlDouble(dlow)); } long lowerBound = MetaStoreDirectSql.extractSqlLong(dist); long higherBound = MetaStoreDirectSql.extractSqlLong(sumDist);