Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CALCITE-3125] Remove completely CorrelateJoinType #1291

Merged
merged 1 commit into from Jul 1, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view

This file was deleted.

Expand Up @@ -372,14 +372,6 @@ public <TInner, TKey, TResult> Enumerable<TResult> hashJoin(
generateNullsOnRight);
}

@Deprecated // to be removed before 1.21
public <TInner, TResult> Enumerable<TResult> correlateJoin(
CorrelateJoinType correlateJoinType, Function1<T, Enumerable<TInner>> inner,
Function2<T, TInner, TResult> resultSelector) {
return EnumerableDefaults.correlateJoin(correlateJoinType.toJoinType(), getThis(), inner,
resultSelector);
}

public <TInner, TResult> Enumerable<TResult> correlateJoin(
JoinType joinType, Function1<T, Enumerable<TInner>> inner,
Function2<T, TInner, TResult> resultSelector) {
Expand Down
Expand Up @@ -541,46 +541,14 @@ <TInner, TKey, TResult> Enumerable<TResult> hashJoin(Enumerable<TInner> inner,
* For each row of the current enumerable returns the correlated rows
* from the {@code inner} enumerable (nested loops join).
*
* @deprecated Use {@link #correlateJoin(JoinType, Function1, Function2)}
*
* @param joinType inner, left, semi or anti join type
* @param inner generator of inner enumerable
* @param resultSelector selector of the result. For semi/anti join
* inner argument is always null.
*/
@Deprecated // to be removed before 1.21
<TInner, TResult> Enumerable<TResult> correlateJoin(
CorrelateJoinType joinType, Function1<TSource, Enumerable<TInner>> inner,
Function2<TSource, TInner, TResult> resultSelector);

/**
* For each row of the current enumerable returns the correlated rows
* from the {@code inner} enumerable (nested loops join).
*
* @param joinType inner, left, semi or anti join type
* @param inner generator of inner enumerable
* @param resultSelector selector of the result. For semi/anti join
* inner argument is always null.
*/
@SuppressWarnings("deprecation")
default <TInner, TResult> Enumerable<TResult> correlateJoin(
JoinType joinType, Function1<TSource, Enumerable<TInner>> inner,
Function2<TSource, TInner, TResult> resultSelector) {
// temporary default implementation for backwards compatibility
switch (joinType) {
case INNER:
return correlateJoin(CorrelateJoinType.INNER, inner, resultSelector);
case LEFT:
return correlateJoin(CorrelateJoinType.LEFT, inner, resultSelector);
case SEMI:
return correlateJoin(CorrelateJoinType.SEMI, inner, resultSelector);
case ANTI:
return correlateJoin(CorrelateJoinType.ANTI, inner, resultSelector);
default:
throw new IllegalArgumentException("JoinType " + joinType + " is not valid for correlation");
}
}

Function2<TSource, TInner, TResult> resultSelector);

/**
* Returns the last element of a sequence. (Defined
Expand Down