stak...@cloudera.com has posted comments on this change. Change subject: IMPALA-4101: qgen: Hive join predicates should only contains equality functions ......................................................................
Patch Set 6: (1 comment) @Taras, comments addressed, new changes have been tested. http://gerrit.cloudera.org:8080/#/c/4419/5/tests/comparison/query_generator.py File tests/comparison/query_generator.py: Line 1436: signature = self.profile.choose_func_signature(func_class.signatures()) > Ok, I see. This means that currency only_use_equality_join_predicates is no I made the fix for only_use_equality_join_predicates, but I moved the check outside the _create_boolean_func_tree function. I think its simpler if _create_boolean_func_tree just operates on a given list of signatures, and the caller decides what signatures those should be. I defined a list of non-equality join predicates as (GreaterThan, GreaterThanOrEquals, In, IsNotDistinctFrom, IsNotDistinctFromOp, LessThan, LessThanOrEquals, NotEquals, NotIn). So basically, the check will exclude any of these functions from the func tree. I left the get_allowed_join_signatures method because Hive has additional restrictions in addition to only allowing equi-joins (see commit message for a detailed explanation). -- To view, visit http://gerrit.cloudera.org:8080/4419 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ibe8832a03cfa0d7ecc293ec6db6db2bcb34ab459 Gerrit-PatchSet: 6 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: stak...@cloudera.com Gerrit-Reviewer: David Knupp <dkn...@cloudera.com> Gerrit-Reviewer: Michael Brown <mi...@cloudera.com> Gerrit-Reviewer: Taras Bobrovytsky <tbobrovyt...@cloudera.com> Gerrit-Reviewer: stak...@cloudera.com Gerrit-HasComments: Yes