private ChangeStoredProcedureCommand(int num, XElement inner) : base(num, inner)
 {
     this.body = new StoredProcedureBody(
         inner.Element("declarations") != null ? inner.Element("declarations").Value : "",
         inner.Element("body").Value
         );
 }
示例#2
0
        public override IEnumerable <XElement> Apply(Transaction transaction, bool forceIntegrity)
        {
            if (!forceIntegrity)
            {
                throw new NotImplementedException("Safe stored procedure removal is not implemented yet");
            }

            StoredProcedureBody body = transaction.GetStoredProcedureBody(this.procedure);

            transaction.RemoveStoredProcedure(this.procedure);
            return(new[]
            {
                new XElement("declarations", body.declarations),
                new XElement("body", body.body),
            });
        }
        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),
            });
        }