protected virtual BoundRelation RewriteJoinRelation(BoundJoinRelation node) { return(node.Update(node.JoinType, RewriteRelation(node.Left), RewriteRelation(node.Right), RewriteExpression(node.Condition), RewriteValueSlot(node.Probe), RewriteExpression(node.PassthruPredicate))); }
protected override void VisitJoinRelation(BoundJoinRelation node) { if (node.JoinType == BoundJoinType.FullOuter || node.JoinType == BoundJoinType.LeftOuter || node.JoinType == BoundJoinType.RightOuter) { _diagnostics.ReportCteContainsOuterJoin(_syntax.Name); } base.VisitJoinRelation(node); }
protected virtual void VisitJoinRelation(BoundJoinRelation node) { VisitRelation(node.Left); VisitRelation(node.Right); if (node.Condition != null) { VisitExpression(node.Condition); } if (node.PassthruPredicate != null) { VisitExpression(node.PassthruPredicate); } }
private static void GetDeclaredTableInstances(List <TableInstanceSymbol> receiver, BoundJoinRelation node) { GetDeclaredTableInstances(receiver, node.Left); GetDeclaredTableInstances(receiver, node.Right); }