Impala Public Jenkins has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/14588 )
Change subject: IMPALA-6660: Change -0/+0 floating point to compare as equal in hash table ...................................................................... IMPALA-6660: Change -0/+0 floating point to compare as equal in hash table Currently -0.0/+0.0 values are hashed to different values due to their different binary representation, while -0.0==+0.0 is true in C++. This caused them to be distinct values in hash maps despite being treated as equal in comparisons. This commit fixes the hashing of -0.0/+0.0, thus changing the behaviour of hash joins and aggregations (since aggregations follow the behaviour of the join). That way, the canonical form for -0/+0 is changed to +0. Tests: - Added e2e tests for aggregation (group by and distinct) and join queries with -0.0 and +0.0 present. Change-Id: I6bb1a817c81c452d041238c19cb6c9f602a5d565 Reviewed-on: http://gerrit.cloudera.org:8080/14588 Reviewed-by: Impala Public Jenkins <impala-public-jenk...@cloudera.com> Tested-by: Impala Public Jenkins <impala-public-jenk...@cloudera.com> --- M be/src/codegen/codegen-anyval.cc M be/src/codegen/codegen-anyval.h M be/src/exec/hash-table.cc M be/src/runtime/raw-value.cc M be/src/runtime/raw-value.h M be/src/runtime/raw-value.inline.h M testdata/workloads/functional-query/queries/QueryTest/aggregation.test M testdata/workloads/functional-query/queries/QueryTest/joins.test 8 files changed, 100 insertions(+), 14 deletions(-) Approvals: Impala Public Jenkins: Looks good to me, approved; Verified -- To view, visit http://gerrit.cloudera.org:8080/14588 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I6bb1a817c81c452d041238c19cb6c9f602a5d565 Gerrit-Change-Number: 14588 Gerrit-PatchSet: 11 Gerrit-Owner: Norbert Luksa <norbert.lu...@cloudera.com> Gerrit-Reviewer: Csaba Ringhofer <csringho...@cloudera.com> Gerrit-Reviewer: Daniel Becker <daniel.bec...@cloudera.com> Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com> Gerrit-Reviewer: Norbert Luksa <norbert.lu...@cloudera.com> Gerrit-Reviewer: Tim Armstrong <tarmstr...@cloudera.com> Gerrit-Reviewer: Zoltan Borok-Nagy <borokna...@cloudera.com>