public override void ExitPredicate([NotNull] TSqlParser.PredicateContext context) { base.ExitPredicate(context); Debug.WriteLine("ExitPredicate"); Debug.WriteLine(context.GetText()); PredicateLevel--; Debug.WriteLine($"Predicate Level: {PredicateLevel.ToString()}"); }
public override void EnterPredicate([NotNull] TSqlParser.PredicateContext context) { base.EnterPredicate(context); string debug = context.GetText(); var sourceInterval = context.SourceInterval; Console.WriteLine("EnterPredicate:"); Console.WriteLine(debug); Console.WriteLine("---"); var select = GetStatementAsSelect(); var part = new StatementPart(); part.StatementTableName = select.Tables.FirstOrDefault(); part.Text = context.GetText(); part.StatementOrigin = "EnterPredicate"; int a = context.Start.StartIndex; int b = context.Stop.StopIndex; Interval interval = new Interval(a, b); _charStream = context.Start.InputStream; part.TextWithWhiteSpace = _charStream.GetText(interval); var parent = context.Parent.Parent; if (parent != null) { part.StatementParent = parent.GetText(); var tokenInterval = parent.SourceInterval; part.StatementParentWithWhiteSpace = GetWhitespaceStringFromTokenInterval(tokenInterval); } var grandparent = context.Parent.Parent.Parent; if (grandparent != null) { part.StatementGrandParent = grandparent.GetText(); var tokenInterval = grandparent.SourceInterval; part.StatementGrandParentWithWhiteSpace = GetWhitespaceStringFromTokenInterval(tokenInterval); } part.ParseStatementPart(); select.Statements.Add(part); }
public override void EnterPredicate([NotNull] TSqlParser.PredicateContext context) { base.EnterPredicate(context); Console.WriteLine(context.GetText()); var part = new StatementPart(); part.StatementTableName = _dmlStatement.Tables.FirstOrDefault(); part.Text = context.GetText(); part.StatementOrigin = "EnterPredicate"; part.TextWithWhiteSpace = GetWhiteSpaceFormat(context); var parent = context.Parent.Parent; if (parent != null) { part.StatementParent = parent.GetText(); var tokenInterval = parent.SourceInterval; part.StatementParentWithWhiteSpace = GetWhitespaceStringFromTokenInterval(tokenInterval); } var grandparent = context.Parent.Parent.Parent; if (grandparent != null) { part.StatementGrandParent = grandparent.GetText(); var tokenInterval = grandparent.SourceInterval; part.StatementGrandParentWithWhiteSpace = GetWhitespaceStringFromTokenInterval(tokenInterval); } if (!part.ParseStatementPart()) { _dmlStatement.IsValid = false; } _dmlStatement.WhereClause.Conditions.Add(part); }
public override void EnterPredicate([NotNull] TSqlParser.PredicateContext context) { base.EnterPredicate(context); Debug.WriteLine("EnterPredicate"); Debug.WriteLine(context.GetText()); var searchCondition = context.search_condition(); var andNode = context.AND(); var likeNode = context.LIKE(); Debug.WriteLine($"Predicate Level: {PredicateLevel.ToString()}"); Statement.Terms.Add(new SearchTerm(context.GetText(), PredicateLevel)); PredicateLevel++; Debug.WriteLine("Enumerating EnterPredicate.Parent.Parent Children"); var parent = context.Parent.Parent; var parentChildren = parent.ChildCount; for (int j = 0; j < parentChildren; j++) { var c = parent.GetChild(j); Debug.WriteLine(c.GetText()); } Debug.WriteLine("Enumerating EnterPredicate.Parent.Parent Children"); //var expressionCount = context.expression().Count(); //for (int i = 0; i < expressionCount; i++) //{ // var x = context.expression(i); // var andTokens = x.GetTokens(9); // and // var orTokens = x.GetTokens(235); // or // Debug.WriteLine(x.GetText()); // foreach (var a in andTokens) // { // Debug.WriteLine(a.GetText()); // } // foreach (var a in orTokens) // { // Debug.WriteLine(a.GetText()); // } //} Debug.WriteLine("----EnterPredicate Parent.Parent----"); Debug.WriteLine($"{parent.GetText()}"); Debug.WriteLine("----EnterPredicate Parent.Parent----"); Debug.WriteLine("----EnterPredicate Parent.Parent.Parent----"); var parent2 = context.Parent.Parent.Parent; Debug.WriteLine($"{parent2.GetText()}"); Debug.WriteLine("----EnterPredicate Parent.Parent.Parent----"); Debug.WriteLine("Enumerating EnterPredicate.Parent.Parent.Parent Children"); var parentChildren2 = parent2.ChildCount; for (int j = 0; j < parentChildren; j++) { var c = parent2.GetChild(j); if (c != null) { Debug.WriteLine(c.GetText()); } } Debug.WriteLine("Enumerating EnterPredicate.Parent.Parent.Parent Children"); var item = context.expression().ToList(); Debug.WriteLine("----EnterPredicate Expression Text---"); item.ForEach(i => Debug.WriteLine(i.GetText())); Debug.WriteLine("----EnterPredicate Expression Text---"); var items = context.expression_list(); if (items != null) { Debug.WriteLine(items.GetText()); } var and = context.AND(); var like = context.LIKE(); if (and != null) { Debug.WriteLine("----EnterPredicate Expression AND Text---"); Debug.WriteLine(and.GetText()); Debug.WriteLine("----EnterPredicate Expression AND Text---"); } if (like != null) { Debug.WriteLine("----EnterPredicate Expression LIKE Text---"); Debug.WriteLine(like.GetText()); Debug.WriteLine("----EnterPredicate Expression LIKE Text---"); } Debug.WriteLine(""); }