@Override
public HashBuilderOperator createOperator(DriverContext driverContext)
{
checkState(!closed, "Factory is already closed");
OperatorContext operatorContext = driverContext.addOperatorContext(operatorId, planNodeId, HashBuilderOperator.class.getSimpleName());
PartitionedLookupSourceFactory lookupSourceFactory = this.lookupSourceFactoryManager.getJoinBridge(driverContext.getLifespan());
int partitionIndex = getAndIncrementPartitionIndex(driverContext.getLifespan());
verify(partitionIndex < lookupSourceFactory.partitions());
return new HashBuilderOperator(
operatorContext,
lookupSourceFactory,
partitionIndex,
outputChannels,
hashChannels,
preComputedHashChannel,
filterFunctionFactory,
sortChannel,
searchFunctionFactories,
expectedPositions,
pagesIndexFactory,
spillEnabled,
singleStreamSpillerFactory);
}