Beispiel #1
0
        public void testRawStatements()
        {
            const string BASE_SQL_DIR = @"../../../../../../../gsp_sqlfiles/TestCases/";
            string       rootdir      = BASE_SQL_DIR + @"mdx\";
            TGSqlParser  sqlparser    = new TGSqlParser(EDbVendor.dbvmdx);

            sqlparser.sqlfilename = rootdir + "case.sql";
            sqlparser.getrawsqlstatements();
            Assert.IsTrue(sqlparser.sqlstatements.get(0).sqlstatementtype == ESqlStatementType.sstmdxselect);
            Assert.IsTrue(sqlparser.sqlstatements.get(1).sqlstatementtype == ESqlStatementType.sstmdxselect);

            sqlparser.sqlfilename = rootdir + "createmember.sql";
            sqlparser.getrawsqlstatements();
            Assert.IsTrue(sqlparser.sqlstatements.get(0).sqlstatementtype == ESqlStatementType.sstmdxcreatemember);

            sqlparser.sqlfilename = rootdir + "createsessioncube.sql";
            sqlparser.getrawsqlstatements();
            Assert.IsTrue(sqlparser.sqlstatements.size() == 1);
            Assert.IsTrue(sqlparser.sqlstatements.get(0).sqlstatementtype == ESqlStatementType.sstmdxcreatesessioncube);

            sqlparser.sqlfilename = rootdir + "createsubcube.sql";
            sqlparser.getrawsqlstatements();
            Assert.IsTrue(sqlparser.sqlstatements.size() == 6);
            Assert.IsTrue(sqlparser.sqlstatements.get(0).sqlstatementtype == ESqlStatementType.sstmdxcreatesubcube);
            Assert.IsTrue(sqlparser.sqlstatements.get(1).sqlstatementtype == ESqlStatementType.sstmdxselect);
            Assert.IsTrue(sqlparser.sqlstatements.get(2).sqlstatementtype == ESqlStatementType.sstmdxcreatesubcube);
            Assert.IsTrue(sqlparser.sqlstatements.get(3).sqlstatementtype == ESqlStatementType.sstmdxselect);
            Assert.IsTrue(sqlparser.sqlstatements.get(4).sqlstatementtype == ESqlStatementType.sstmdxcreatesubcube);
            Assert.IsTrue(sqlparser.sqlstatements.get(5).sqlstatementtype == ESqlStatementType.sstmdxselect);

            sqlparser.sqlfilename = rootdir + "drillthrough.sql";
            sqlparser.getrawsqlstatements();
            Assert.IsTrue(sqlparser.sqlstatements.size() == 1);
            Assert.IsTrue(sqlparser.sqlstatements.get(0).sqlstatementtype == ESqlStatementType.sstmdxdrillthrough);

            sqlparser.sqlfilename = rootdir + "scope.sql";
            sqlparser.getrawsqlstatements();
            Assert.IsTrue(sqlparser.sqlstatements.size() == 2);
            Assert.IsTrue(sqlparser.sqlstatements.get(0).sqlstatementtype == ESqlStatementType.sstmdxscope);
            Assert.IsTrue(sqlparser.sqlstatements.get(1).sqlstatementtype == ESqlStatementType.sstmdxscope);
        }