rhs = keysOrig;
rhsFields = keyFields;
if (mode == Mode.FILTER_EXACT) {
// Limit join takes the LHS exactly once if and only if there is a match on the RHS.
// Won't duplicate tuples on the LHS if there are duplicates on the RHS.
joiner = new LimitJoin(new long[]{Long.MAX_VALUE, 1l});
} else {
if (joinerInput != null) {
joiner = joinerInput;
}
}
} else {
lhs = keysOrig;
lhsFields = keyFields;
rhs = filtered;
rhsFields = largeJoinFields;
if (mode == Mode.FILTER_EXACT) {
joiner = new LimitJoin(new long[]{1l, Long.MAX_VALUE});
} else {
if (joinerInput != null) {
joiner = joinerInput;
}
}