39 if (
base.LeftChild.OutputOrdered)
51 if (
base.RightChild.OutputOrdered)
73 private void WrapPartitionedStreamHelper<TLeftKey, TRightKey>(
PartitionedStream<
Pair<TLeftInput, TKey>, TLeftKey>
leftHashStream,
HashLookupBuilder<
IEnumerable<TRightInput>,
TRightKey, TKey>[]
rightLookupBuilders,
IComparer<TRightKey> rightKeyComparer,
IPartitionedStreamRecipient<TOutput> outputRecipient,
int partitionCount,
CancellationToken cancellationToken)
75 if (
base.RightChild.OutputOrdered &&
base.LeftChild.OutputOrdered)
98 private void WrapPartitionedStreamHelper<TLeftKey, TRightKey, TOutputKey>(
PartitionedStream<
Pair<TLeftInput, TKey>, TLeftKey>
leftHashStream,
HashLookupBuilder<
IEnumerable<TRightInput>,
TRightKey, TKey>[]
rightLookupBuilders,
HashJoinOutputKeyBuilder<TLeftKey, TRightKey, TOutputKey> outputKeyBuilder,
IComparer<TOutputKey> outputKeyComparer,
IPartitionedStreamRecipient<TOutput> outputRecipient,
int partitionCount,
CancellationToken cancellationToken)
103 partitionedStream[i] =
new HashJoinQueryOperatorEnumerator<TLeftInput, TLeftKey, IEnumerable<TRightInput>,
TRightKey, TKey, TOutput,
TOutputKey>(
leftHashStream[i],
rightLookupBuilders[i],
_resultSelector,
outputKeyBuilder,
cancellationToken);
void SetOrdinalIndex(OrdinalIndexState indexState)
CancellationToken MergedCancellationToken
void WrapPartitionedStreamHelper< TLeftKey, TRightKey >(PartitionedStream< Pair< TLeftInput, TKey >, TLeftKey > leftHashStream, PartitionedStream< TRightInput, TRightKey > rightPartitionedStream, IPartitionedStreamRecipient< TOutput > outputRecipient, int partitionCount, CancellationToken cancellationToken)
override void WrapPartitionedStream< TLeftKey, TRightKey >(PartitionedStream< TLeftInput, TLeftKey > leftStream, PartitionedStream< TRightInput, TRightKey > rightStream, IPartitionedStreamRecipient< TOutput > outputRecipient, bool preferStriping, QuerySettings settings)
readonly IEqualityComparer< TKey > _keyComparer
readonly Func< TLeftInput, IEnumerable< TRightInput >, TOutput > _resultSelector
readonly Func< TRightInput, TKey > _rightKeySelector
GroupJoinQueryOperator(ParallelQuery< TLeftInput > left, ParallelQuery< TRightInput > right, Func< TLeftInput, TKey > leftKeySelector, Func< TRightInput, TKey > rightKeySelector, Func< TLeftInput, IEnumerable< TRightInput >, TOutput > resultSelector, IEqualityComparer< TKey > keyComparer)
void WrapPartitionedStreamHelper< TLeftKey, TRightKey, TOutputKey >(PartitionedStream< Pair< TLeftInput, TKey >, TLeftKey > leftHashStream, HashLookupBuilder< IEnumerable< TRightInput >, TRightKey, TKey >[] rightLookupBuilders, HashJoinOutputKeyBuilder< TLeftKey, TRightKey, TOutputKey > outputKeyBuilder, IComparer< TOutputKey > outputKeyComparer, IPartitionedStreamRecipient< TOutput > outputRecipient, int partitionCount, CancellationToken cancellationToken)
override QueryResults< TOutput > Open(QuerySettings settings, bool preferStriping)
IComparer< Pair< TLeftKey, TRightKey > > CreateComparer< TLeftKey, TRightKey >(IComparer< TLeftKey > leftKeyComparer, IComparer< TRightKey > rightKeyComparer)
readonly Func< TLeftInput, TKey > _leftKeySelector
IComparer< Pair< bool, TRightKey > > CreateComparer< TRightKey >(IComparer< TRightKey > comparer)
override IEnumerable< TOutput > AsSequentialQuery(CancellationToken token)
override bool LimitsParallelism
CancellationState CancellationState