> On July 29, 2015, 6:07 p.m., pengcheng xiong wrote: > > ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveJoinToMultiJoinRule.java, > > line 289 > > <https://reviews.apache.org/r/36897/diff/2/?file=1024453#file1024453line289> > > > > Please correct me if I am wrong: I doubt that we should use > > getProjsFromLeftPartOfJoinKeysInJoinSchema(). I think > > getProjsJoinKeysInChildSchema(0) may be correct. It seems that here we > > first get the positions (keys) of the left child from the joinPredInfo. And > > then we try to see if it equals any positions (keys) of child of > > leftChildJoin. Thus, the positions (keys) should be based on the child > > schema, rather than join schema.
The rule is applied bottom-up, and the method applies only on the left child; thus, we know it's a binary join and that's why we can use getProjsFromLeftPartOfJoinKeysInJoinSchema. In fact, getProjsJoinKeysInChildSchema(0) should return exactly the same. But for sake of clarity, I'll change the call to getProjsJoinKeysInChildSchema(0). > On July 29, 2015, 6:07 p.m., pengcheng xiong wrote: > > ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveJoinToMultiJoinRule.java, > > line 295 > > <https://reviews.apache.org/r/36897/diff/2/?file=1024453#file1024453line295> > > > > please apply the Hive code format template for spaces. I will upload a new patch fixing it. - Jesús ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/36897/#review93486 ----------------------------------------------------------- On July 29, 2015, 11:58 a.m., Jesús Camacho Rodríguez wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/36897/ > ----------------------------------------------------------- > > (Updated July 29, 2015, 11:58 a.m.) > > > Review request for hive and pengcheng xiong. > > > Bugs: HIVE-11257 > https://issues.apache.org/jira/browse/HIVE-11257 > > > Repository: hive-git > > > Description > ------- > > CBO: Calcite Operator To Hive Operator (Calcite Return Path): Method > isCombinablePredicate in HiveJoinToMultiJoinRule should be extended to > support MultiJoin operators merge > > > Diffs > ----- > > > ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveJoinToMultiJoinRule.java > d0a29a76652c8af120a6efb252c75282730ef097 > > Diff: https://reviews.apache.org/r/36897/diff/ > > > Testing > ------- > > > Thanks, > > Jesús Camacho Rodríguez > >