Example #1
0
        protected virtual void Process(WorkUnitProcessingContext context, ITimingBucket timings)
        {
            if (context == null)
            {
                throw new ArgumentNullException("context");
            }

            // walk...
            SqlStatement[] statements = this.GetStatements(context);
            foreach (SqlStatement statement in statements)
            {
                // mbr - 2016-08-08 - put a longer timeout on schema statements...
                statement.TimeoutSeconds = 5 * 60;

                try
                {
                    context.Connection.ExecuteNonQuery(statement);
                }
                catch (Exception ex)
                {
                    const string message = "The work unit failed.";
                    if (this.ContinueOnError)
                    {
                        this.LogError(() => message, ex);
                    }
                    else
                    {
                        throw new InvalidOperationException(message, ex);
                    }
                }
            }
        }
Example #2
0
        public override SqlStatement[] GetStatements(WorkUnitProcessingContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException("context");
            }

            // check...
            if (context.Dialect == null)
            {
                throw new InvalidOperationException("context.Dialect is null.");
            }
            return(SqlStatement.CreateStatements(context.Dialect.GetCreateForeignKeyStatement(this.ForeignKey)));
        }
        public override SqlStatement[] GetStatements(WorkUnitProcessingContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException("context");
            }

            // check...
            if (context.Dialect == null)
            {
                throw new InvalidOperationException("context.Dialect is null.");
            }

            return(SqlStatement.CreateStatements(context.Dialect.GetCreateDefaultConstraintStatement(this.Column, DefaultExpression)));
        }
        public override SqlStatement[] GetStatements(WorkUnitProcessingContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException("context");
            }

            // check...
            if (context.Dialect == null)
            {
                throw new InvalidOperationException("context.Dialect is null.");
            }

            // run...
            if (Table == null)
            {
                throw new InvalidOperationException("Table is null.");
            }
            return(SqlStatement.CreateStatements(context.Dialect.GetCreateTableScript(this.Table, SqlTableScriptFlags.None)));
        }
Example #5
0
 /// <summary>
 /// Gets the statement(s) that have to be executed to complete this work unit.
 /// </summary>
 /// <param name="context"></param>
 /// <returns></returns>
 public abstract SqlStatement[] GetStatements(WorkUnitProcessingContext context);
Example #6
0
 /// <summary>
 /// Processes the work unit.
 /// </summary>
 /// <param name="context"></param>
 void IWorkUnit.Process(WorkUnitProcessingContext context, ITimingBucket timings)
 {
     this.Process(context, timings);
 }