public TimeoutPersister(IConnectionManager connectionManager, string tablePrefix, SqlDialect sqlDialect, TimeSpan timeoutsCleanupExecutionInterval, Func <DateTime> utcNow) { this.connectionManager = connectionManager; this.sqlDialect = sqlDialect; this.timeoutsCleanupExecutionInterval = timeoutsCleanupExecutionInterval; this.utcNow = utcNow; timeoutCommands = TimeoutCommandBuilder.Build(sqlDialect, tablePrefix); oldestSupportedTimeout = sqlDialect.OldestSupportedTimeout; }
public TimeoutPersister(Func <DbConnection> connectionBuilder, string tablePrefix, SqlVariant sqlVariant, string schema, TimeSpan timeoutsCleanupExecutionInterval) { this.connectionBuilder = connectionBuilder; this.timeoutsCleanupExecutionInterval = timeoutsCleanupExecutionInterval; timeoutCommands = TimeoutCommandBuilder.Build(sqlVariant, tablePrefix, schema); commandBuilder = new CommandBuilder(sqlVariant); switch (sqlVariant) { case SqlVariant.MsSqlServer: oldestSupportedTimeout = SqlDateTime.MinValue.Value; break; case SqlVariant.Oracle: case SqlVariant.MySql: oldestSupportedTimeout = new DateTime(1000, 1, 1); break; default: throw new NotSupportedException("Not supported SQL dialect: " + sqlVariant); } }