mirror of
https://github.com/apache/impala.git
synced 2026-01-28 09:03:52 -05:00
The bug: When enforcing slot equivalences at an aggregation node, we used to incorrectly assume that equivalences among grouping slots must have already been enforced below the aggregation (e.g., in a scan). This assumption is correct if the grouping slots are produced by simple SlotRef grouping exprs, because then there is certainly a value transfer between the grouping slot and another slot below the aggregation. However, for grouping slots with complex grouping exprs this assumption is not correct, and as a result, we would incorrectly remove eq predicates bound by gropuing slots with complex grouping exprs because we assumed they were redundant. Ths fix is to enforce slot equivalences among grouping slots with complex grouping exprs as usual, and not assume that they have already been enforced below the agg. Change-Id: Idcd44acccb9326a35c9121025dc88c2c70c7c7c7 Reviewed-on: http://gerrit.cloudera.org:8080/656 Reviewed-by: Alex Behm <alex.behm@cloudera.com> Tested-by: Internal Jenkins
28 KiB
28 KiB