public ImmutableDataInsertActionNode( IQsiTreeNode parent, IQsiTableDirectivesNode directives, IQsiTableAccessNode target, QsiQualifiedIdentifier[] partitions, QsiQualifiedIdentifier[] columns, IQsiRowValueExpressionNode[] values, IQsiSetColumnExpressionNode[] setValues, IQsiTableNode valueTable, QsiDataConflictBehavior conflictBehavior, IQsiDataConflictActionNode conflictAction, IUserDataHolder userData) { Parent = parent; Directives = directives; Target = target; Partitions = partitions; Columns = columns; Values = values; SetValues = setValues; ValueTable = valueTable; ConflictBehavior = conflictBehavior; ConflictAction = conflictAction; UserData = userData; }
public ImmutableSwitchExpressionNode(IQsiTreeNode parent, IQsiExpressionNode value, IQsiSwitchCaseExpressionNode[] cases, IUserDataHolder userData) { Parent = parent; Value = value; Cases = cases; UserData = userData; }
public ImmutableHanaDerivedTableNode( IQsiTreeNode parent, IQsiTableDirectivesNode directives, IQsiColumnsDeclarationNode columns, IQsiTableNode source, IQsiAliasNode alias, IQsiWhereExpressionNode @where, IQsiGroupingExpressionNode grouping, IQsiMultipleOrderExpressionNode order, IQsiLimitExpressionNode limit, QsiExpressionNode top, HanaResultSetOperation?operation, QsiExpressionFragmentNode sampling, HanaTableBehaviorNode behavior, QsiExpressionFragmentNode timeTravel, QsiExpressionFragmentNode hint, IUserDataHolder userData) { Parent = parent; Directives = directives; Columns = columns; Source = source; Alias = alias; Where = @where; Grouping = grouping; Order = order; Limit = limit; Top = top; Operation = operation; Sampling = sampling; Behavior = behavior; TimeTravel = timeTravel; Hint = hint; UserData = userData; }
public ImmutableLiteralExpressionNode(IQsiTreeNode parent, object value, QsiDataType type, IUserDataHolder userData) { Parent = parent; Value = value; Type = type; UserData = userData; }
public ImmutableAllColumnNode(IQsiTreeNode parent, QsiQualifiedIdentifier path, IUserDataHolder userData) { Parent = parent; Path = path; UserData = userData; IncludeInvisibleColumns = false; }
internal static void PutContextSpan(IQsiTreeNode node, IToken start, IToken stop) { var startIndex = Math.Min(start.StartIndex, stop.TokenSource.InputStream.Size - 1); var stopIndex = Math.Min(stop.StopIndex + 1, stop.TokenSource.InputStream.Size); Span[node] = new Range(startIndex, stopIndex); }
public ImmutableUnaryExpressionNode(IQsiTreeNode parent, string @operator, IQsiExpressionNode expression, IUserDataHolder userData) { Parent = parent; Operator = @operator; Expression = expression; UserData = userData; }
public ImmutableColumnsDeclarationNode(IQsiTreeNode parent, IQsiColumnNode[] columns, IUserDataHolder userData) { Parent = parent; Count = columns?.Length ?? 0; Columns = columns; IsEmpty = Count == 0; UserData = userData; }
string IQsiTreeDeparser.Deparse(IQsiTreeNode node, QsiScript script) { var writer = new ScriptWriter(); DeparseTreeNode(writer, node, script); return(writer.ToString()); }
public static bool FindDescendant <T1>(this IQsiTreeNode node, out T1 t1) where T1 : IQsiTreeNode { t1 = default; Type[] types = { typeof(T1) }; if (FindDescendantLayout(node, types, out IQsiTreeNode[] nodes))
public AnalyzerContext(QsiEngine engine, QsiScript script, IQsiTreeNode tree, QsiAnalyzerOptions options, CancellationToken cancellationToken) { Engine = engine; Script = script; Tree = tree; Options = options ?? throw new ArgumentNullException(nameof(options)); CancellationToken = cancellationToken; }
public static void PutFragmentSpan(IQsiTreeNode node, TSqlFragment sqlFragment) { PutFragmentSpan( node, sqlFragment.ScriptTokenStream[sqlFragment.FirstTokenIndex], sqlFragment.ScriptTokenStream[sqlFragment.LastTokenIndex] ); }
public ImmutableTableReferenceNode( IQsiTreeNode parent, QsiQualifiedIdentifier identifier, IUserDataHolder userData) { Parent = parent; Identifier = identifier; UserData = userData; }
public static IEnumerable <IQsiTreeNode> Flatten(this IQsiTreeNode node) { yield return(node); foreach (var child in node.Children.SelectMany(Flatten)) { yield return(child); } }
public ImmutableMultipleOrderExpressionNode( IQsiTreeNode parent, IQsiOrderExpressionNode[] orders, IUserDataHolder userData) { Parent = parent; Orders = orders; UserData = userData; }
public ImmutableColumnExpressionNode( IQsiTreeNode parent, IQsiColumnNode column, IUserDataHolder userData) { Parent = parent; Column = column; UserData = userData; }
public ImmutableWhereExpressionNode( IQsiTreeNode parent, IQsiExpressionNode expression, IUserDataHolder userData) { Parent = parent; Expression = expression; UserData = userData; }
public ImmutableChangeSearchPathActionNode( IQsiTreeNode parent, QsiIdentifier[] identifiers, IUserDataHolder userData) { Parent = parent; Identifiers = identifiers; UserData = userData; }
public ImmutableMultipleExpressionNode( IQsiTreeNode parent, IQsiExpressionNode[] elements, IUserDataHolder userData) { Parent = parent; Elements = elements; UserData = userData; }
public ImmutableInvokeExpressionNode( IQsiTreeNode parent, IQsiFunctionExpressionNode member, IQsiParametersExpressionNode parameters, IUserDataHolder userData) { Parent = parent; Member = member; Parameters = parameters; UserData = userData; }
public ImmutableTableDirectivesNode( IQsiTreeNode parent, IQsiDerivedTableNode[] tables, bool isRecursive, IUserDataHolder userData) { Parent = parent; Tables = tables; IsRecursive = isRecursive; UserData = userData; }
public ImmutableGroupingExpressionNode( IQsiTreeNode parent, IQsiExpressionNode[] items, IQsiExpressionNode having, IUserDataHolder userData) { Parent = parent; Items = items; Having = having; UserData = userData; }
public ImmutableLimitExpressionNode( IQsiTreeNode parent, IQsiExpressionNode limit, IQsiExpressionNode offset, IUserDataHolder userData) { Parent = parent; Limit = limit; Offset = offset; UserData = userData; }
protected override void DeparseTreeNode(ScriptWriter writer, IQsiTreeNode node, QsiScript script) { var range = CqlTree.Span[node]; if (Equals(range, default(Range))) { base.DeparseTreeNode(writer, node, script); } writer.Write(script.Script[range]); }
public ImmutableMemberAccessExpressionNode( IQsiTreeNode parent, IQsiExpressionNode target, IQsiExpressionNode member, IUserDataHolder userData) { Parent = parent; Target = target; Member = member; UserData = userData; }
public ImmutablePrepareActionNode( IQsiTreeNode parent, QsiQualifiedIdentifier identifier, IQsiExpressionNode query, IUserDataHolder userData) { Parent = parent; Identifier = identifier; Query = query; UserData = userData; }
public ImmutableDataDeleteActionNode( IQsiTreeNode parent, IQsiTableNode target, QsiQualifiedIdentifier[] columns, IUserDataHolder userData) { Parent = parent; Target = target; Columns = columns; UserData = userData; }
public ImmutableDataUpdateActionNode( IQsiTreeNode parent, IQsiTableNode target, IQsiSetColumnExpressionNode[] setValues, IUserDataHolder userData) { Parent = parent; Target = target; SetValues = setValues; UserData = userData; }
public ImmutableOrderExpressionNode( IQsiTreeNode parent, QsiSortOrder order, IQsiExpressionNode expression, IUserDataHolder userData) { Parent = parent; Order = order; Expression = expression; UserData = userData; }
public ImmutableSwitchCaseExpressionNode( IQsiTreeNode parent, IQsiExpressionNode condition, IQsiExpressionNode consequent, IUserDataHolder userData) { Parent = parent; Condition = condition; Consequent = consequent; UserData = userData; }