Example #1
0
        public void OneColumn_NO_Direction()
        {
            string sql  = @"select userId from [me] order by userId";
            var    info = SQLParser.ParseSQL(sql);

            Assert.AreEqual(OrderByDirection.ASC, info.OrderBy.First().Direction);
        }
Example #2
0
        public void TableName_Equal_To_mE()
        {
            string sql  = @"select userId from mE";
            var    info = SQLParser.ParseSQL(sql);

            Assert.AreEqual("mE", info.TableDescriptor.TableName);
        }
        public void ColumnCount_2_Has2Alias()
        {
            string sql  = @"select userId as uid, userName as uname from [me]";
            var    info = SQLParser.ParseSQL(sql);

            Assert.AreEqual(2, info.Columns.Count);
        }
        public void PredictWordNotExists()
        {
            string sql  = @"select userId from [me]";
            var    info = SQLParser.ParseSQL(sql);

            Assert.AreEqual(false, info.Column_PredictExists);
        }
        public void ColumnCount_1()
        {
            string sql  = @"select userId from [me]";
            var    info = SQLParser.ParseSQL(sql);

            Assert.AreEqual(1, info.Columns.Count);
        }
Example #6
0
        public void WhereClause_2()
        {
            string sql  = @"select userId from me where userId=100 and userId>1";
            var    info = SQLParser.ParseSQL(sql);

            Assert.AreEqual(3, info.WhereCondition.TotalCount);
        }
Example #7
0
        public void WhereClause_GreaterThen_Operator()
        {
            string sql  = @"select userId from me where userId=100 and userId>1";
            var    info = SQLParser.ParseSQL(sql);

            Assert.AreEqual(">", info.WhereCondition.Statement_RightNode.Condition_Operator);
        }
Example #8
0
        static void Main(string[] args)
        {
            // standard ANTLR code
            // we get the input
            ICharStream chars = CharStreams.fromPath(args[0]);
            // we set up the lexer
            SQLLexer lexer = new SQLLexer(chars);
            // we use the lexer
            CommonTokenStream stream = new CommonTokenStream(lexer);
            // we set up the parser
            SQLParser parser = new SQLParser(stream);

            // we find the root node of our parse tree
            var tree = parser.statements();

            // we create our visitor
            CreateVisitor          createVisitor = new CreateVisitor();
            List <ClassDescriptor> classes       = createVisitor.VisitStatements(tree);

            // we choose our code generator...
            ICodeGenerator generator;

            // ...depending on the command line argument
            if (args.Count() > 1 && args[1] == "kotlin")
            {
                generator = new KotlinCodeGenerator();
            }
            else
            {
                generator = new CSharpCodeGenerator();
            }

            Console.WriteLine(generator.ToSourceCode("SQLDataTypes", classes));
        }
Example #9
0
        public int GetInt(string sql, object module)
        {
            SQLParser parser = new SQLParser();

            parser.Parse(sql, module);

            return(template.GetInt(sql, parser.GetSqlParameterNames(), parser.GetSqlParameterValues(), 0));
        }
Example #10
0
        public void TableName_Equal_To_me_READPAST()
        {
            string sql  = @"select userId from me(READPAST)";
            var    info = SQLParser.ParseSQL(sql);

            Assert.AreEqual("me", info.TableDescriptor.TableName);
            Assert.AreEqual(TableReadType.READPAST, info.TableDescriptor.TableReadType);
        }
        public void ColumnDetail_1_Has_UnderLine()
        {
            string sql  = @"Select user_Id from [me]";
            var    info = SQLParser.ParseSQL(sql);

            Assert.AreEqual("user_Id", info.Columns.First().Expression.ColumnName);
            Assert.AreEqual(ExpressionType.ColumnName, info.Columns.First().Expression.ExpressionType);
        }
        public void ColumnOnly()
        {
            string sql  = @"select 1";
            var    info = SQLParser.ParseSQL(sql);

            Assert.AreEqual(1, info.Columns.Count);
            Assert.AreEqual(null, info.TableDescriptor);
        }
        public void PredictWordExists()
        {
            string sql  = @"select distinct userId from [me]";
            var    info = SQLParser.ParseSQL(sql);

            Assert.AreEqual(true, info.Column_PredictExists);
            Assert.AreEqual("distinct", info.Column_PredictWord);
        }
Example #14
0
        public void TwoColumn_OneDirection()
        {
            string sql  = @"select userId from [me] order by userId desc, userName";
            var    info = SQLParser.ParseSQL(sql);

            Assert.AreEqual(OrderByDirection.DESC, info.OrderBy[0].Direction);
            Assert.AreEqual(OrderByDirection.ASC, info.OrderBy[1].Direction);
        }
        public void ColumnDetail_1_FIX_NUMBER()
        {
            string sql  = @"Select 1 from [me]";
            var    info = SQLParser.ParseSQL(sql);

            Assert.AreEqual("1", info.Columns.First().Expression.ColumnName);
            Assert.AreEqual(ExpressionType.ColumnName, info.Columns.First().Expression.ExpressionType);
        }
Example #16
0
        public static List <SectionLinkModel> FindInternalLinks(string markdown, int sectionID)
        {
            SQLParser parser = new SQLParser(sectionID);

            parser.Execute(markdown);

            return(parser.Links);
        }
Example #17
0
        public void DropDB()
        {
            SQLParser par   = new SQLParser();
            DropDB    sbres = (DropDB)par.Parser("DROP DATABASE db1;");
            DropDB    sel   = new DropDB("db1");

            Assert.AreEqual(sbres.GetType(), sel.GetType());
            Assert.AreEqual(sbres.getDB(), sel.getDB());
        }
Example #18
0
        public void BackUp()
        {
            SQLParser par    = new SQLParser();
            BackUp    sbres  = (BackUp)par.Parser("BACKUP DATABASE database TO DISK = 'filepath';");
            BackUp    backup = new BackUp("database", "filepath");

            Assert.AreEqual(sbres.GetType(), backup.GetType());
            Assert.AreEqual(sbres.getDB(), backup.getDB());
        }
Example #19
0
 public Result ParseAndRun(string sql)
 {
     try {
         return(RunSQL(SQLParser.Parse(sql)));
     }
     catch (BaseDbExc e) {
         return(new Result(false, e.Message));
     }
 }
Example #20
0
        public void Insert()
        {
            SQLParser par   = new SQLParser();
            Insert    sbres = (Insert)par.Parser("INSERT INTO table VALUES (value1);");
            Insert    sel   = new Insert("table", null, null);

            Assert.AreEqual(sbres.GetType(), sel.GetType());
            Assert.AreEqual(sbres.getTabla(), sel.getTabla());
        }
Example #21
0
        public void DropTable()
        {
            SQLParser par   = new SQLParser();
            DropTable sbres = (DropTable)par.Parser("DROP TABLE table1;");
            DropTable sel   = new DropTable("table1");

            Assert.AreEqual(sbres.GetType(), sel.GetType());
            Assert.AreEqual(sbres.getTabla(), sel.getTabla());
        }
Example #22
0
        static void Main(string[] args)
        {
            string sql  = @"select * from [me]";
            var    info = SQLParser.ParseSQL(sql);

            var generator = new DefaultSqlGenerator();

            Console.WriteLine(generator.Generate(info));
        }
Example #23
0
        public void WhereClause_1_string()
        {
            string sql  = @"select userId from me where userName='******'";
            var    info = SQLParser.ParseSQL(sql);

            Assert.AreEqual(1, info.WhereCondition.TotalCount);
            Assert.AreEqual("userName", info.WhereCondition.Condition_LeftExpression);
            Assert.AreEqual("=", info.WhereCondition.Condition_Operator);
            Assert.AreEqual("'McKay'", info.WhereCondition.Condition_RightExpression);
        }
        public void ColumnDetail_2()
        {
            string sql  = @"Select userId, 1 from [me]";
            var    info = SQLParser.ParseSQL(sql);

            Assert.AreEqual("userId", info.Columns[0].Expression.ColumnName);
            Assert.AreEqual(ExpressionType.ColumnName, info.Columns[0].Expression.ExpressionType);

            Assert.AreEqual("1", info.Columns[1].Expression.ColumnName);
            Assert.AreEqual(ExpressionType.ColumnName, info.Columns[1].Expression.ExpressionType);
        }
Example #25
0
        public void Select()
        {
            SQLParser par   = new SQLParser();
            Select    sbres = (Select)par.Parser("SELECT * FROM table1;");

            string[] a = new string[2];
            a[0] = "*";
            Select sel = new Select("table1", a, null);

            Assert.AreEqual(sbres.GetType(), sel.GetType());
            Assert.AreEqual(sbres.getTabla(), sel.getTabla());
        }
Example #26
0
        public void CreateTable()
        {
            SQLParser   par   = new SQLParser();
            CreateTable sbres = (CreateTable)par.Parser("CREATE TABLE tabla1 (edad INT);");

            string[] a = new string[2];
            a[0] = "edad";
            CreateTable sel = new CreateTable("tabla1", a);

            Assert.AreEqual(sbres.GetType(), sel.GetType());
            Assert.AreEqual(sbres.getTabla(), sel.getTabla());
        }
Example #27
0
        public void Update()
        {
            SQLParser par   = new SQLParser();
            Update    sbres = (Update)par.Parser("UPDATE table SET column1=value1 WHERE 1=1;");

            string[] a = new string[2];
            a[0] = "*";
            Update sel = new Update("table", a, null);

            Assert.AreEqual(sbres.GetType(), sel.GetType());
            Assert.AreEqual(sbres.getTabla(), sel.getTabla());
        }
Example #28
0
        public void Delete()
        {
            SQLParser par   = new SQLParser();
            Delete    sbres = (Delete)par.Parser("DELETE FROM table1 WHERE 1=1;");

            string[] a = new string[2];
            a[0] = "1=1";
            Delete sel = new Delete("table1", a);

            Assert.AreEqual(sbres.GetType(), sel.GetType());
            Assert.AreEqual(sbres.getTabla(), sel.getTabla());
        }
        public void ColumnDetail_2_With_Alias()
        {
            string sql  = @"Select userId, 1 as fid from [me]";
            var    info = SQLParser.ParseSQL(sql);

            Assert.AreEqual("userId", info.Columns[0].Expression.ColumnName);
            Assert.AreEqual(ExpressionType.ColumnName, info.Columns[0].Expression.ExpressionType);

            Assert.AreEqual("1", info.Columns[1].Expression.ColumnName);
            Assert.AreEqual(ExpressionType.ColumnName, info.Columns[1].Expression.ExpressionType);

            Assert.AreEqual(true, info.Columns[1].HasAlias);
            Assert.AreEqual("fid", info.Columns[1].Alias);
        }
Example #30
0
 public static ISqlScript Parse(string sql)
 {
     if (sql != null && sql != string.Empty)
     {
         SQLLexer  lexer     = new SQLLexer(new StringReader(sql));
         SQLParser parser    = new SQLParser(lexer);
         SqlScript sqlScript = new SqlScript();
         parser.sql_script(sqlScript);
         return(sqlScript);
     }
     else
     {
         return(null);
     }
 }