> On May 10, 2017, 9:26 a.m., Jason Dere wrote: > > ql/src/java/org/apache/hadoop/hive/ql/optimizer/DynamicPartitionPruningOptimization.java > > Line 463 (original), 505 (patched) > > <https://reviews.apache.org/r/59080/diff/2/?file=1713527#file1713527line524> > > > > This didn't get changed?
My bad. > On May 10, 2017, 9:26 a.m., Jason Dere wrote: > > ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java > > Line 9033 (original), 9032 (patched) > > <https://reviews.apache.org/r/59080/diff/2/?file=1713529#file1713529line9033> > > > > I still think this is more complicated than this needs to be. Easier to > > follow if it was something like this: > > > > alias = args.getChild(0) > > if (StringUtils.isNumeric(alias)) ... > > colName = args.getChild(1) > > if (StringUtils.isNumeric(colName)) ... > > if (args.getChildCount == 3) { > > number = Integer.parseInt(args.getChild(2)) > > } The number of children is not 2 or 3. It is a list of all the hints. Say a user can create like this "semi(tab1, col1, tab2, col2, 5000, tab3, col3, 6000, tab4, col4)". They will all be processed in that for loop. I did find a bug in the code which I have fixed locally where if the last hint does not have bloom filter entry, it would not be added to the map. - Deepak ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/59080/#review174436 ----------------------------------------------------------- On May 10, 2017, 5:24 a.m., Deepak Jaiswal wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/59080/ > ----------------------------------------------------------- > > (Updated May 10, 2017, 5:24 a.m.) > > > Review request for hive and Jason Dere. > > > Repository: hive-git > > > Description > ------- > > Semijoin Hint : Should able to handle more than 1 hint per alias. > - If a user provides a hint, only that semijoin optimization is performed. > - If there are more than 1 hints for an alias, it is upto user to make sure > the (alias + colName) combo is unique. > - Works with join aliases. > - Refactored the logic to generate semijoin to keep the inner loops count > down. > > > Diffs > ----- > > common/src/java/org/apache/hadoop/hive/conf/HiveConf.java 99c26ce80e > > ql/src/java/org/apache/hadoop/hive/ql/optimizer/DynamicPartitionPruningOptimization.java > d4ca78c625 > ql/src/java/org/apache/hadoop/hive/ql/parse/ParseContext.java 6de4bcd64a > ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java > 5115fc8090 > ql/src/java/org/apache/hadoop/hive/ql/parse/SemiJoinHint.java 1f24e23ff3 > ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeDescUtils.java > bfc1eca61a > ql/src/test/queries/clientpositive/semijoin_hint.q 5fbc273e7d > ql/src/test/results/clientpositive/llap/dynamic_semijoin_reduction.q.out > e3ffcfa857 > ql/src/test/results/clientpositive/llap/dynamic_semijoin_reduction_2.q.out > cb69251274 > ql/src/test/results/clientpositive/llap/semijoin_hint.q.out 3ffc2352a4 > > > Diff: https://reviews.apache.org/r/59080/diff/2/ > > > Testing > ------- > > > Thanks, > > Deepak Jaiswal > >