public void CheckComparisonWithNullLiteralWithParenthesis()
        {
            var sql = @"select * from tbl1 where
                        ((data='test') and (name=null))";

            var visitor = new NullComparisonVisitor();
            RunTSqlFragmentVisitor.AnalyzeFragmentVisitorBase(sql, sql.ComputeHash(), visitor);

            Assert.IsTrue(visitor.IsSuspected);
        }
        public void CheckComparisonWithNullVariable()
        {
            var sql = @"select * from tbl1 where
                        data='test' and name=@x";

            var visitor = new NullComparisonVisitor();
            visitor.NullVariableNames.Add("@x");
            RunTSqlFragmentVisitor.AnalyzeFragmentVisitorBase(sql, sql.ComputeHash(), visitor);

            Assert.IsTrue(visitor.IsSuspected);
        }
        public void CheckComparisonNullWithNullVariable()
        {
            var sql = @"SELECT [Extent1].[Id] AS [Id],
                               [Extent1].[Name] AS [Name],
                               [Extent1].[Title] AS [Title]
                        FROM   [dbo].[Categories] AS [Extent1]
                        WHERE  ([Extent1].[Title] = @p__linq__0) -- this shouldn't be here
                               OR (([Extent1].[Title] IS NULL)
                                   AND (@p__linq__0 IS NULL));";

            var visitor = new NullComparisonVisitor();
            visitor.NullVariableNames.Add("@p__linq__0");
            RunTSqlFragmentVisitor.AnalyzeFragmentVisitorBase(sql, sql.ComputeHash(), visitor);

            Assert.IsTrue(visitor.IsSuspected);
        }
Ejemplo n.º 4
0
 private void Commands_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
 {
     switch (e.Action)
     {
         case NotifyCollectionChangedAction.Add:
             foreach (Command command in e.NewItems)
             {
                 var visitor = new NullComparisonVisitor();
                 foreach (var parameter in command.Parameters.Where(parameter => parameter.Value == "null"))
                 {
                     visitor.NullVariableNames.Add(parameter.Name);
                 }
                 _callbacksManager.RunAnalysisVisitorOnCommand(visitor, command);
             }
             break;
     }
 }