// Rule requires that aggregate key to be the same as the join key.
// By the way, neither a super-set nor a sub-set would work.
return;
}
final List<Integer> newRightKeys = Lists.newArrayList();
final IntList aggregateKeys = BitSets.toList(aggregate.getGroupSet());
for (int key : joinInfo.rightKeys) {
newRightKeys.add(aggregateKeys.get(key));
}
final SemiJoinRel semiJoin =
new SemiJoinRel(join.getCluster(),
join.getCluster().traitSetOf(Convention.NONE),
left, aggregate.getChild(),