// inputs from build side of the join are laid out following the input from the probe side,
// so adjust the channel ids but keep the field layouts intact
int offset = probeSource.getTupleInfos().size();
for (Map.Entry<Symbol, Input> entry : buildSource.getLayout().entrySet()) {
Input input = entry.getValue();
outputMappings.put(entry.getKey(), new Input(offset + input.getChannel()));
}
OperatorFactory operator = createJoinOperator(node.getType(), hashSupplier, probeSource.getTupleInfos(), probeChannels, context);
return new PhysicalOperation(operator, outputMappings.build(), probeSource);
}