clauses.build());
Optional<Symbol> sampleWeight = Optional.absent();
if (leftPlanBuilder.getSampleWeight().isPresent() || rightPlanBuilder.getSampleWeight().isPresent()) {
Expression expression = new ArithmeticExpression(ArithmeticExpression.Type.MULTIPLY, oneIfNull(leftPlanBuilder.getSampleWeight()), oneIfNull(rightPlanBuilder.getSampleWeight()));
sampleWeight = Optional.of(symbolAllocator.newSymbol(expression, BIGINT));
root = new ProjectNode(idAllocator.getNextId(), root, ImmutableMap.of(sampleWeight.get(), expression));
}
return new RelationPlan(root, outputDescriptor, outputSymbols, sampleWeight);
}