PHOENIX-2888 Aggregations for similar IN list expressions doesn't work correctly (Sergey Soldatov)
Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/ae14e38c Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/ae14e38c Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/ae14e38c Branch: refs/heads/master Commit: ae14e38ccbed601dfbda9ec0dbb66bc88d63bae5 Parents: af8d3b6 Author: James Taylor <[email protected]> Authored: Thu May 12 14:34:47 2016 -0700 Committer: James Taylor <[email protected]> Committed: Thu May 12 14:34:47 2016 -0700 ---------------------------------------------------------------------- .../java/org/apache/phoenix/expression/InListExpression.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/phoenix/blob/ae14e38c/phoenix-core/src/main/java/org/apache/phoenix/expression/InListExpression.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/InListExpression.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/InListExpression.java index a4a9353..a977f1f 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/expression/InListExpression.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/InListExpression.java @@ -175,7 +175,7 @@ public class InListExpression extends BaseSingleExpression { public int hashCode() { final int prime = 31; int result = 1; - result = prime * result + values.hashCode(); + result = prime * result + children.hashCode() + values.hashCode(); return result; } @@ -185,7 +185,7 @@ public class InListExpression extends BaseSingleExpression { if (obj == null) return false; if (getClass() != obj.getClass()) return false; InListExpression other = (InListExpression)obj; - if (!values.equals(other.values)) return false; + if (!children.equals(other.children) || !values.equals(other.values)) return false; return true; }
