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); } } } }
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))); }
/// <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);
/// <summary> /// Processes the work unit. /// </summary> /// <param name="context"></param> void IWorkUnit.Process(WorkUnitProcessingContext context, ITimingBucket timings) { this.Process(context, timings); }