List<JoinNode.EquiJoinClause> criteria = criteriaBuilder.build();
Map<Symbol, ColumnHandle> leftAssignments = Maps.filterKeys(scanAssignments, Predicates.in(ImmutableList.of(A, B, C)));
TableScanNode leftScan = new TableScanNode(
newId(),
new DualTableHandle("default"),
ImmutableList.copyOf(leftAssignments.keySet()),
leftAssignments,
null,
Optional.<GeneratedPartitions>absent()
);
Map<Symbol, ColumnHandle> rightAssignments = Maps.filterKeys(scanAssignments, Predicates.in(ImmutableList.of(D, E, F)));
TableScanNode rightScan = new TableScanNode(
newId(),
new DualTableHandle("default"),
ImmutableList.copyOf(rightAssignments.keySet()),
rightAssignments,
null,
Optional.<GeneratedPartitions>absent()
);