public void ProcessSelectSetVariable(SelectSetVariable SelectElement) { string VarName = SelectElement.Variable.Name; ScalarExpression Expression = SelectElement.Expression; ProcessSelectSetFragment(Expression, VarName); }
public QsiDerivedColumnNode VisitSelectSetVariable(SelectSetVariable selectSetVariable) { return(TreeHelper.Create <QsiDerivedColumnNode>(n => { var kind = selectSetVariable.AssignmentKind switch { AssignmentKind.Equals => QsiAssignmentKind.Equals, AssignmentKind.AddEquals => QsiAssignmentKind.AddEquals, AssignmentKind.DivideEquals => QsiAssignmentKind.DivideEquals, AssignmentKind.ModEquals => QsiAssignmentKind.ModEquals, AssignmentKind.MultiplyEquals => QsiAssignmentKind.MultiplyEquals, AssignmentKind.SubtractEquals => QsiAssignmentKind.SubtractEquals, AssignmentKind.BitwiseAndEquals => QsiAssignmentKind.BitwiseAndEquals, AssignmentKind.BitwiseOrEquals => QsiAssignmentKind.BitwiseOrEquals, AssignmentKind.BitwiseXorEquals => QsiAssignmentKind.BitwiseXorEquals, _ => throw new InvalidOperationException() }; n.Expression.SetValue(TreeHelper.Create <QsiSetVariableExpressionNode>(en => { en.Target = IdentifierVisitor.VisitVariableReference(selectSetVariable.Variable); en.AssignmentKind = kind; en.Value.SetValue(ExpressionVisitor.VisitScalarExpression(selectSetVariable.Expression)); })); SqlServerTree.PutFragmentSpan(n, selectSetVariable); })); }
public void Declare(SelectSetVariable node) { DeclaredVariables[node.Variable.Name] = new Variable(null) { Node = node }; }
public override void Visit(SelectSetVariable node) { this.action(node); }
public override void ExplicitVisit(SelectSetVariable fragment) { _fragments.Add(fragment); }
public override void ExplicitVisit(SelectSetVariable node) { SelectSetVariables.Add(node); }
public override void ExplicitVisit(SelectSetVariable node) { // no! do not call the base implementation : stop the visiting of the child fragments! hasSetVariable = true; // => no outputs outputSet.Clear(); }