public void Visit(DescNode node) { _walker = _walker.NextChild(); node.Accept(_visitor); _walker = _walker.Parent(); }
public void Visit(CreateTransformationTableNode node) { _walker = _walker.NextChild(); _visitor.SetScope(_walker.Scope); node.Accept(_visitor); _walker = _walker.Parent(); }
public void Visit(CteInnerExpressionNode node) { _walker = _walker.NextChild(); _visitor.SetScope(_walker.Scope); node.Value.Accept(this); node.Accept(_visitor); _walker = _walker.Parent(); _visitor.SetScope(_walker.Scope); }
public void Visit(DescNode node) { _walker = _walker.NextChild(); _visitor.SetScope(_walker.Scope); node.From.Accept(this); node.Accept(_visitor); _walker = _walker.Parent(); _visitor.SetScope(_walker.Scope); }
private void TraverseSetOperator(SetOperatorNode node) { _walker = _walker.NextChild(); _visitor.SetScope(_walker.Scope); if (node.Right is SetOperatorNode) { var nodes = new Stack <SetOperatorNode>(); nodes.Push(node); node.Left.Accept(this); _visitor.IncrementMethodIdentifier(); while (nodes.Count > 0) { var current = nodes.Pop(); if (current.Right is SetOperatorNode operatorNode) { nodes.Push(operatorNode); _walker = _walker.NextChild(); _visitor.SetScope(_walker.Scope); operatorNode.Left.Accept(this); _visitor.IncrementMethodIdentifier(); current.Accept(_visitor); } else { current.Right.Accept(this); _visitor.IncrementMethodIdentifier(); current.Accept(_visitor); } } } else { node.Left.Accept(this); _visitor.IncrementMethodIdentifier(); node.Right.Accept(this); node.Accept(_visitor); _walker = _walker.Parent(); _visitor.SetScope(_walker.Scope); } }
public void Visit(MultiStatementNode node) { _walker = _walker.NextChild(); _visitor.SetScope(_walker.Scope); foreach (var cNode in node.Nodes) { cNode.Accept(this); } node.Accept(_visitor); _walker = _walker.Parent(); _visitor.SetScope(_walker.Scope); }
public void Visit(CteExpressionNode node) { _walker = _walker.NextChild(); _visitor.SetScope(_walker.Scope); foreach (var exp in node.InnerExpression) { exp.Accept(this); } node.OuterExpression.Accept(this); node.Accept(_visitor); _walker = _walker.Parent(); _visitor.SetScope(_walker.Scope); }
public void Visit(InternalQueryNode node) { _walker = _walker.NextChild(); node.From.Accept(this); node.Where.Accept(this); node.Select.Accept(this); node.Take?.Accept(this); node.Skip?.Accept(this); node.GroupBy?.Accept(this); node.Refresh?.Accept(this); node.Accept(_visitor); _walker = _walker.Parent(); }
public void Visit(QueryNode node) { _walker = _walker.NextChild(); _visitor.SetScope(_walker.Scope); node.From.Accept(this); node.Where?.Accept(this); node.Select.Accept(this); node.Take?.Accept(this); node.Skip?.Accept(this); node.GroupBy?.Accept(this); node.OrderBy?.Accept(this); node.Accept(_visitor); _walker = _walker.Parent(); _visitor.SetScope(_walker.Scope); }
public void Visit(InternalQueryNode node) { _walker = _walker.NextChild(); _visitor.SetScope(_walker.Scope); _visitor.SetMethodAccessType(MethodAccessType.TransformingQuery); _visitor.SetQueryIdentifier(node.From.Alias); node.Refresh?.Accept(this); node.From.Accept(this); node.Where?.Accept(this); node.Select.Accept(this); node.Take?.Accept(this); node.Skip?.Accept(this); node.GroupBy?.Accept(this); node.Accept(_visitor); _walker = _walker.Parent(); }