public JoinTableNode join(JoinType type, TableNode lhs, TableNode rhs, ParseNode on, boolean singleValueOnly) { return new JoinTableNode(type, lhs, rhs, on, singleValueOnly); }
@Override public TableNode visit(JoinTableNode joinNode) throws SQLException { TableNode lhs = joinNode.getLHS(); TableNode rhs = joinNode.getRHS(); TableNode lhsReplace = lhs.accept(this); TableNode rhsReplace = rhs.accept(this); if (lhs == lhsReplace && rhs == rhsReplace) return joinNode; return FACTORY.join(joinNode.getType(), lhsReplace, rhsReplace, joinNode.getOnNode(), joinNode.isSingleValueOnly()); }
@Override public List<TableName> visit(JoinTableNode joinNode) throws SQLException { List<TableName> lhs = joinNode.getLHS().accept(this); List<TableName> rhs = joinNode.getType() == JoinType.Semi || joinNode.getType() == JoinType.Anti ? Collections.<TableName> emptyList() : joinNode.getRHS().accept(this); List<TableName> ret = Lists.<TableName>newArrayListWithExpectedSize(lhs.size() + rhs.size()); ret.addAll(lhs); ret.addAll(rhs); return ret; }
@Override public List<TableName> visit(JoinTableNode joinNode) throws SQLException { List<TableName> lhs = joinNode.getLHS().accept(this); List<TableName> rhs = joinNode.getType() == JoinType.Semi || joinNode.getType() == JoinType.Anti ? Collections.<TableName> emptyList() : joinNode.getRHS().accept(this); List<TableName> ret = Lists.<TableName>newArrayListWithExpectedSize(lhs.size() + rhs.size()); ret.addAll(lhs); ret.addAll(rhs); return ret; }
@Override public TableNode visit(JoinTableNode joinNode) throws SQLException { TableNode lhsNode = joinNode.getLHS(); TableNode rhsNode = joinNode.getRHS(); ParseNode onNode = joinNode.getOnNode(); TableNode normLhsNode = lhsNode.accept(this); TableNode normRhsNode = rhsNode.accept(this); parseNodeRewriter.reset(); ParseNode normOnNode = onNode == null ? null : onNode.accept(parseNodeRewriter); if (lhsNode == normLhsNode && rhsNode == normRhsNode && onNode == normOnNode) return joinNode; return NODE_FACTORY.join(joinNode.getType(), normLhsNode, normRhsNode, normOnNode, joinNode.isSingleValueOnly()); }
@Override public List<TableName> visit(JoinTableNode joinNode) throws SQLException { List<TableName> lhs = joinNode.getLHS().accept(this); List<TableName> rhs = joinNode.getType() == JoinType.Semi || joinNode.getType() == JoinType.Anti ? Collections.<TableName> emptyList() : joinNode.getRHS().accept(this); List<TableName> ret = Lists.<TableName>newArrayListWithExpectedSize(lhs.size() + rhs.size()); ret.addAll(lhs); ret.addAll(rhs); return ret; }
public JoinTableNode join(JoinType type, TableNode lhs, TableNode rhs, ParseNode on, boolean singleValueOnly) { return new JoinTableNode(type, lhs, rhs, on, singleValueOnly); }
@Override public Pair<Table, List<JoinSpec>> visit(JoinTableNode joinNode) throws SQLException { Pair<Table, List<JoinSpec>> lhs = joinNode.getLHS().accept(this); Pair<Table, List<JoinSpec>> rhs = joinNode.getRHS().accept(this); JoinTable joinTable = rhs.getSecond() == null ? new JoinTable(rhs.getFirst()) : new JoinTable(rhs.getFirst(), rhs.getSecond()); List<JoinSpec> joinSpecs = lhs.getSecond(); if (joinSpecs == null) { joinSpecs = new ArrayList<JoinSpec>(); } joinSpecs.add(new JoinSpec(joinNode.getType(), joinNode.getOnNode(), joinTable, joinNode.isSingleValueOnly(), origResolver)); return new Pair<Table, List<JoinSpec>>(lhs.getFirst(), joinSpecs); }
public JoinTableNode join(JoinType type, TableNode lhs, TableNode rhs, ParseNode on, boolean singleValueOnly) { return new JoinTableNode(type, lhs, rhs, on, singleValueOnly); }
@Override public TableNode visit(JoinTableNode joinNode) throws SQLException { TableNode lhs = joinNode.getLHS(); TableNode rhs = joinNode.getRHS(); TableNode lhsReplace = lhs.accept(this); TableNode rhsReplace = rhs.accept(this); if (lhs == lhsReplace && rhs == rhsReplace) return joinNode; return FACTORY.join(joinNode.getType(), lhsReplace, rhsReplace, joinNode.getOnNode(), joinNode.isSingleValueOnly()); }
@Override public TableNode visit(JoinTableNode joinNode) throws SQLException { TableNode lhs = joinNode.getLHS(); TableNode rhs = joinNode.getRHS(); TableNode lhsReplace = lhs.accept(this); TableNode rhsReplace = rhs.accept(this); if (lhs == lhsReplace && rhs == rhsReplace) return joinNode; return FACTORY.join(joinNode.getType(), lhsReplace, rhsReplace, joinNode.getOnNode(), joinNode.isSingleValueOnly()); }
@Override public TableNode visit(JoinTableNode joinNode) throws SQLException { TableNode lhsNode = joinNode.getLHS(); TableNode rhsNode = joinNode.getRHS(); ParseNode onNode = joinNode.getOnNode(); TableNode normLhsNode = lhsNode.accept(this); TableNode normRhsNode = rhsNode.accept(this); parseNodeRewriter.reset(); ParseNode normOnNode = onNode == null ? null : onNode.accept(parseNodeRewriter); if (lhsNode == normLhsNode && rhsNode == normRhsNode && onNode == normOnNode) return joinNode; return NODE_FACTORY.join(joinNode.getType(), normLhsNode, normRhsNode, normOnNode, joinNode.isSingleValueOnly()); }
@Override public TableNode visit(JoinTableNode joinNode) throws SQLException { TableNode lhsNode = joinNode.getLHS(); TableNode rhsNode = joinNode.getRHS(); ParseNode onNode = joinNode.getOnNode(); TableNode normLhsNode = lhsNode.accept(this); TableNode normRhsNode = rhsNode.accept(this); parseNodeRewriter.reset(); ParseNode normOnNode = onNode == null ? null : onNode.accept(parseNodeRewriter); if (lhsNode == normLhsNode && rhsNode == normRhsNode && onNode == normOnNode) return joinNode; return NODE_FACTORY.join(joinNode.getType(), normLhsNode, normRhsNode, normOnNode, joinNode.isSingleValueOnly()); }
@Override public Pair<Table, List<JoinSpec>> visit(JoinTableNode joinNode) throws SQLException { Pair<Table, List<JoinSpec>> lhs = joinNode.getLHS().accept(this); Pair<Table, List<JoinSpec>> rhs = joinNode.getRHS().accept(this); JoinTable joinTable = rhs.getSecond() == null ? new JoinTable(rhs.getFirst()) : new JoinTable(rhs.getFirst(), rhs.getSecond()); List<JoinSpec> joinSpecs = lhs.getSecond(); if (joinSpecs == null) { joinSpecs = new ArrayList<JoinSpec>(); } joinSpecs.add(new JoinSpec(joinNode.getType(), joinNode.getOnNode(), joinTable, joinNode.isSingleValueOnly(), origResolver)); return new Pair<Table, List<JoinSpec>>(lhs.getFirst(), joinSpecs); }
@Override public Pair<Table, List<JoinSpec>> visit(JoinTableNode joinNode) throws SQLException { Pair<Table, List<JoinSpec>> lhs = joinNode.getLHS().accept(this); Pair<Table, List<JoinSpec>> rhs = joinNode.getRHS().accept(this); JoinTable joinTable = rhs.getSecond() == null ? new JoinTable(rhs.getFirst()) : new JoinTable(rhs.getFirst(), rhs.getSecond()); List<JoinSpec> joinSpecs = lhs.getSecond(); if (joinSpecs == null) { joinSpecs = new ArrayList<JoinSpec>(); } joinSpecs.add(new JoinSpec(joinNode.getType(), joinNode.getOnNode(), joinTable, joinNode.isSingleValueOnly(), origResolver)); return new Pair<Table, List<JoinSpec>>(lhs.getFirst(), joinSpecs); }