Rollback() public method

first token ROLLBACK is scanned but not yet consumed
 ROLLBACK [WORK] TO [SAVEPOINT] identifier ROLLBACK [WORK] [AND [NO] CHAIN | [NO] RELEASE] 
public Rollback ( ) : MTSRollbackStatement
return Tup.Cobar4Net.Parser.Ast.Stmt.Mts.MTSRollbackStatement
コード例 #1
0
 public virtual void TestRollback()
 {
     // ROLLBACK [WORK] TO [SAVEPOINT] identifier
     // ROLLBACK [WORK] [AND [NO] CHAIN | [NO] RELEASE]
     var sql = "rollBack work  ";
     var parser = new MySqlMtsParser(new MySqlLexer(sql));
     var rollback = parser.Rollback();
     var output = Output2MySql(rollback, sql);
     Assert.AreEqual("ROLLBACK", output);
     Assert.AreEqual(CompleteType.UnDef, rollback.CompleteType);
     Assert.IsNull(rollback.Savepoint);
     sql = "rollBack  ";
     parser = new MySqlMtsParser(new MySqlLexer(sql));
     rollback = parser.Rollback();
     output = Output2MySql(rollback, sql);
     Assert.AreEqual("ROLLBACK", output);
     Assert.AreEqual(CompleteType.UnDef, rollback.CompleteType);
     Assert.IsNull(rollback.Savepoint);
     sql = "rollBack work TO savepoint 123e ";
     parser = new MySqlMtsParser(new MySqlLexer(sql));
     rollback = parser.Rollback();
     output = Output2MySql(rollback, sql);
     Assert.AreEqual("ROLLBACK TO SAVEPOINT 123e", output);
     Assert.AreEqual("123e", rollback.Savepoint.IdText);
     Assert.IsTrue(rollback.CompleteType == CompleteType.None);
     sql = "rollBack to savePOINT savepoint ";
     parser = new MySqlMtsParser(new MySqlLexer(sql));
     rollback = parser.Rollback();
     output = Output2MySql(rollback, sql);
     Assert.AreEqual("ROLLBACK TO SAVEPOINT savepoint", output);
     Assert.AreEqual("savepoint", rollback.Savepoint.IdText);
     Assert.IsTrue(rollback.CompleteType == CompleteType.None);
     sql = "rollBack to `select` ";
     parser = new MySqlMtsParser(new MySqlLexer(sql));
     rollback = parser.Rollback();
     output = Output2MySql(rollback, sql);
     Assert.AreEqual("ROLLBACK TO SAVEPOINT `select`", output);
     Assert.AreEqual("`select`", rollback.Savepoint.IdText);
     Assert.IsTrue(rollback.CompleteType == CompleteType.None);
     sql = "rollBack work to  `select` ";
     parser = new MySqlMtsParser(new MySqlLexer(sql));
     rollback = parser.Rollback();
     output = Output2MySql(rollback, sql);
     Assert.AreEqual("ROLLBACK TO SAVEPOINT `select`", output);
     Assert.AreEqual("`select`", rollback.Savepoint.IdText);
     Assert.IsTrue(rollback.CompleteType == CompleteType.None);
     sql = "rollBack work and no chaiN ";
     parser = new MySqlMtsParser(new MySqlLexer(sql));
     rollback = parser.Rollback();
     output = Output2MySql(rollback, sql);
     Assert.AreEqual("ROLLBACK AND NO CHAIN", output);
     Assert.AreEqual(CompleteType.NoChain, rollback.CompleteType);
     Assert.IsNull(rollback.Savepoint);
     sql = "rollBack work and  chaiN ";
     parser = new MySqlMtsParser(new MySqlLexer(sql));
     rollback = parser.Rollback();
     output = Output2MySql(rollback, sql);
     Assert.AreEqual("ROLLBACK AND CHAIN", output);
     Assert.AreEqual(CompleteType.Chain, rollback.CompleteType);
     Assert.IsNull(rollback.Savepoint);
     sql = "rollBack work NO release ";
     parser = new MySqlMtsParser(new MySqlLexer(sql));
     rollback = parser.Rollback();
     output = Output2MySql(rollback, sql);
     Assert.AreEqual("ROLLBACK NO RELEASE", output);
     Assert.AreEqual(CompleteType.NoRelease, rollback.CompleteType);
     Assert.IsNull(rollback.Savepoint);
     sql = "rollBack work  release ";
     parser = new MySqlMtsParser(new MySqlLexer(sql));
     rollback = parser.Rollback();
     output = Output2MySql(rollback, sql);
     Assert.AreEqual("ROLLBACK RELEASE", output);
     Assert.AreEqual(CompleteType.Release, rollback.CompleteType);
     Assert.IsNull(rollback.Savepoint);
     sql = "rollBack  and no chaiN ";
     parser = new MySqlMtsParser(new MySqlLexer(sql));
     rollback = parser.Rollback();
     output = Output2MySql(rollback, sql);
     Assert.AreEqual("ROLLBACK AND NO CHAIN", output);
     Assert.AreEqual(CompleteType.NoChain, rollback.CompleteType);
     Assert.IsNull(rollback.Savepoint);
     sql = "rollBack  and  chaiN ";
     parser = new MySqlMtsParser(new MySqlLexer(sql));
     rollback = parser.Rollback();
     output = Output2MySql(rollback, sql);
     Assert.AreEqual("ROLLBACK AND CHAIN", output);
     Assert.AreEqual(CompleteType.Chain, rollback.CompleteType);
     Assert.IsNull(rollback.Savepoint);
     sql = "rollBack  NO release ";
     parser = new MySqlMtsParser(new MySqlLexer(sql));
     rollback = parser.Rollback();
     output = Output2MySql(rollback, sql);
     Assert.AreEqual("ROLLBACK NO RELEASE", output);
     Assert.AreEqual(CompleteType.NoRelease, rollback.CompleteType);
     Assert.IsNull(rollback.Savepoint);
     sql = "rollBack   release ";
     parser = new MySqlMtsParser(new MySqlLexer(sql));
     rollback = parser.Rollback();
     output = Output2MySql(rollback, sql);
     Assert.AreEqual("ROLLBACK RELEASE", output);
     Assert.AreEqual(CompleteType.Release, rollback.CompleteType);
     Assert.IsNull(rollback.Savepoint);
 }
コード例 #2
0
        public virtual void TestRollback()
        {
            // ROLLBACK [WORK] TO [SAVEPOINT] identifier
            // ROLLBACK [WORK] [AND [NO] CHAIN | [NO] RELEASE]
            var sql      = "rollBack work  ";
            var parser   = new MySqlMtsParser(new MySqlLexer(sql));
            var rollback = parser.Rollback();
            var output   = Output2MySql(rollback, sql);

            Assert.AreEqual("ROLLBACK", output);
            Assert.AreEqual(CompleteType.UnDef, rollback.CompleteType);
            Assert.IsNull(rollback.Savepoint);
            sql      = "rollBack  ";
            parser   = new MySqlMtsParser(new MySqlLexer(sql));
            rollback = parser.Rollback();
            output   = Output2MySql(rollback, sql);
            Assert.AreEqual("ROLLBACK", output);
            Assert.AreEqual(CompleteType.UnDef, rollback.CompleteType);
            Assert.IsNull(rollback.Savepoint);
            sql      = "rollBack work TO savepoint 123e ";
            parser   = new MySqlMtsParser(new MySqlLexer(sql));
            rollback = parser.Rollback();
            output   = Output2MySql(rollback, sql);
            Assert.AreEqual("ROLLBACK TO SAVEPOINT 123e", output);
            Assert.AreEqual("123e", rollback.Savepoint.IdText);
            Assert.IsTrue(rollback.CompleteType == CompleteType.None);
            sql      = "rollBack to savePOINT savepoint ";
            parser   = new MySqlMtsParser(new MySqlLexer(sql));
            rollback = parser.Rollback();
            output   = Output2MySql(rollback, sql);
            Assert.AreEqual("ROLLBACK TO SAVEPOINT savepoint", output);
            Assert.AreEqual("savepoint", rollback.Savepoint.IdText);
            Assert.IsTrue(rollback.CompleteType == CompleteType.None);
            sql      = "rollBack to `select` ";
            parser   = new MySqlMtsParser(new MySqlLexer(sql));
            rollback = parser.Rollback();
            output   = Output2MySql(rollback, sql);
            Assert.AreEqual("ROLLBACK TO SAVEPOINT `select`", output);
            Assert.AreEqual("`select`", rollback.Savepoint.IdText);
            Assert.IsTrue(rollback.CompleteType == CompleteType.None);
            sql      = "rollBack work to  `select` ";
            parser   = new MySqlMtsParser(new MySqlLexer(sql));
            rollback = parser.Rollback();
            output   = Output2MySql(rollback, sql);
            Assert.AreEqual("ROLLBACK TO SAVEPOINT `select`", output);
            Assert.AreEqual("`select`", rollback.Savepoint.IdText);
            Assert.IsTrue(rollback.CompleteType == CompleteType.None);
            sql      = "rollBack work and no chaiN ";
            parser   = new MySqlMtsParser(new MySqlLexer(sql));
            rollback = parser.Rollback();
            output   = Output2MySql(rollback, sql);
            Assert.AreEqual("ROLLBACK AND NO CHAIN", output);
            Assert.AreEqual(CompleteType.NoChain, rollback.CompleteType);
            Assert.IsNull(rollback.Savepoint);
            sql      = "rollBack work and  chaiN ";
            parser   = new MySqlMtsParser(new MySqlLexer(sql));
            rollback = parser.Rollback();
            output   = Output2MySql(rollback, sql);
            Assert.AreEqual("ROLLBACK AND CHAIN", output);
            Assert.AreEqual(CompleteType.Chain, rollback.CompleteType);
            Assert.IsNull(rollback.Savepoint);
            sql      = "rollBack work NO release ";
            parser   = new MySqlMtsParser(new MySqlLexer(sql));
            rollback = parser.Rollback();
            output   = Output2MySql(rollback, sql);
            Assert.AreEqual("ROLLBACK NO RELEASE", output);
            Assert.AreEqual(CompleteType.NoRelease, rollback.CompleteType);
            Assert.IsNull(rollback.Savepoint);
            sql      = "rollBack work  release ";
            parser   = new MySqlMtsParser(new MySqlLexer(sql));
            rollback = parser.Rollback();
            output   = Output2MySql(rollback, sql);
            Assert.AreEqual("ROLLBACK RELEASE", output);
            Assert.AreEqual(CompleteType.Release, rollback.CompleteType);
            Assert.IsNull(rollback.Savepoint);
            sql      = "rollBack  and no chaiN ";
            parser   = new MySqlMtsParser(new MySqlLexer(sql));
            rollback = parser.Rollback();
            output   = Output2MySql(rollback, sql);
            Assert.AreEqual("ROLLBACK AND NO CHAIN", output);
            Assert.AreEqual(CompleteType.NoChain, rollback.CompleteType);
            Assert.IsNull(rollback.Savepoint);
            sql      = "rollBack  and  chaiN ";
            parser   = new MySqlMtsParser(new MySqlLexer(sql));
            rollback = parser.Rollback();
            output   = Output2MySql(rollback, sql);
            Assert.AreEqual("ROLLBACK AND CHAIN", output);
            Assert.AreEqual(CompleteType.Chain, rollback.CompleteType);
            Assert.IsNull(rollback.Savepoint);
            sql      = "rollBack  NO release ";
            parser   = new MySqlMtsParser(new MySqlLexer(sql));
            rollback = parser.Rollback();
            output   = Output2MySql(rollback, sql);
            Assert.AreEqual("ROLLBACK NO RELEASE", output);
            Assert.AreEqual(CompleteType.NoRelease, rollback.CompleteType);
            Assert.IsNull(rollback.Savepoint);
            sql      = "rollBack   release ";
            parser   = new MySqlMtsParser(new MySqlLexer(sql));
            rollback = parser.Rollback();
            output   = Output2MySql(rollback, sql);
            Assert.AreEqual("ROLLBACK RELEASE", output);
            Assert.AreEqual(CompleteType.Release, rollback.CompleteType);
            Assert.IsNull(rollback.Savepoint);
        }