public Void visitIndexJoin(IndexJoinNode node, Integer indent)
{
List<Expression> joinExpressions = new ArrayList<>();
for (IndexJoinNode.EquiJoinClause clause : node.getCriteria()) {
joinExpressions.add(new ComparisonExpression(ComparisonExpression.Type.EQUAL,
new QualifiedNameReference(clause.getProbe().toQualifiedName()),
new QualifiedNameReference(clause.getIndex().toQualifiedName())));
}
print(indent, "- %sIndexJoin[%s] => [%s]", node.getType().getJoinLabel(), Joiner.on(" AND ").join(joinExpressions), formatOutputs(node.getOutputSymbols()));
node.getProbeSource().accept(this, indent + 1);
node.getIndexSource().accept(this, indent + 1);