public boolean matches(RelOptRuleCall call) { JoinRel join = (JoinRel) call.rels[0]; switch (join.getJoinType()) { case INNER: case LEFT: return true; case FULL: case RIGHT: return false; default: throw Util.unexpected(join.getJoinType()); } }