[
https://issues.apache.org/jira/browse/HIVE-19131?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16435636#comment-16435636
]
Zoltan Haindrich commented on HIVE-19131:
-----------------------------------------
We've just take a closer look at the comparison itself with [~abstractdog]; and
it seems like even the compareTo is problematic...
the compareTo method belongs to {{Decimal}} ; but it seems it [compares the
unscaled value before the
scale|https://github.com/apache/hive/blob/2e027cff7a064b64019b2a2df54a614b018be15f/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Decimal.java#L329];
which could probably lead to interesting results...
> DecimalColumnStatsMergerTest comparison review
> ----------------------------------------------
>
> Key: HIVE-19131
> URL: https://issues.apache.org/jira/browse/HIVE-19131
> Project: Hive
> Issue Type: Bug
> Reporter: Laszlo Bodor
> Assignee: Laszlo Bodor
> Priority: Major
>
> DecimalColumnStatsMergerTest has a strange comparison logic, which needs to
> be reviewed.
> Regarding low and high values, it uses compareTo with the same direction,
> which seems to be incorrect: old.compareTo(new) > 0 -> pick old value in both
> cases
> {code:java}
> Decimal lowValue = aggregateData.getLowValue() != null &&
> (aggregateData.getLowValue().compareTo(newData.getLowValue()) > 0) ?
> aggregateData .getLowValue() : newData.getLowValue();
> aggregateData.setLowValue(lowValue);
> Decimal highValue = aggregateData.getHighValue() != null &&
> (aggregateData.getHighValue().compareTo(newData.getHighValue()) > 0) ?
> aggregateData .getHighValue() : newData.getHighValue();
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)