コード例 #1
0
 public override void Rollback(Transaction transaction, XElement commandRollbackInfo)
 {
     transaction.ReplaceStoredProcedureBody(
         this.procedure,
         new StoredProcedureBody(
             commandRollbackInfo.Element("oldDeclarations").Value,
             commandRollbackInfo.Element("oldBody").Value
         )
     );
 }
コード例 #2
0
        public override IEnumerable<XElement> Apply(Transaction transaction, bool forceIntegrity)
        {
            if(!forceIntegrity)
            {
                throw new NotImplementedException("Safe stored procedure change is not implemented yet");
            }

            StoredProcedureBody oldBody = transaction.GetStoredProcedureBody(this.procedure);
            /*Console.WriteLine();
            Console.WriteLine("===OLD DECLARATIONS===");
            Console.WriteLine(oldBody.declarations);
            Console.WriteLine("===OLD BODY===");
            Console.WriteLine(oldBody.body);
            Console.WriteLine("===END===");*/
            transaction.ReplaceStoredProcedureBody(this.procedure, this.body);
            return new[]
                   {
                   	new XElement("oldDeclarations", oldBody.declarations),
                   	new XElement("oldBody", oldBody.body),
                   };
        }