@@ -128,7 +128,7 @@ public override string GetDeleteScript(string migrationId)
128128 . ToString ( ) ;
129129 }
130130
131- public override IDisposable GetDatabaseLock ( TimeSpan timeout )
131+ public override IDisposable GetDatabaseLock ( )
132132 {
133133 if ( ! InterpretExistsResult ( Dependencies . RawSqlCommandBuilder . Build ( CreateExistsSql ( LockTableName ) )
134134 . ExecuteScalar ( CreateRelationalCommandParameters ( ) ) ) )
@@ -144,8 +144,7 @@ public override IDisposable GetDatabaseLock(TimeSpan timeout)
144144 }
145145
146146 var retryDelay = _retryDelay ;
147- var startTime = DateTimeOffset . UtcNow ;
148- while ( DateTimeOffset . UtcNow - startTime < timeout )
147+ while ( true )
149148 {
150149 var dbLock = CreateMigrationDatabaseLock ( ) ;
151150 int ? insertCount = 0 ;
@@ -164,17 +163,6 @@ public override IDisposable GetDatabaseLock(TimeSpan timeout)
164163 return dbLock ;
165164 }
166165
167- using var reader = CreateGetLockCommand ( ) . ExecuteReader ( CreateRelationalCommandParameters ( ) ) ;
168- if ( reader . Read ( ) )
169- {
170- var timestamp = reader . DbDataReader . GetFieldValue < DateTimeOffset > ( 1 ) ;
171- if ( DateTimeOffset . UtcNow - timestamp > timeout )
172- {
173- var id = reader . DbDataReader . GetFieldValue < int > ( 0 ) ;
174- CreateDeleteLockCommand ( id ) . ExecuteNonQuery ( CreateRelationalCommandParameters ( ) ) ;
175- }
176- }
177-
178166 Thread . Sleep ( retryDelay ) ;
179167 if ( retryDelay < TimeSpan . FromMinutes ( 1 ) )
180168 {
@@ -185,7 +173,7 @@ public override IDisposable GetDatabaseLock(TimeSpan timeout)
185173 throw new TimeoutException ( ) ;
186174 }
187175
188- public override async Task < IAsyncDisposable > GetDatabaseLockAsync ( TimeSpan timeout , CancellationToken cancellationToken = new CancellationToken ( ) )
176+ public override async Task < IAsyncDisposable > GetDatabaseLockAsync ( CancellationToken cancellationToken = new CancellationToken ( ) )
189177 {
190178 if ( ! InterpretExistsResult ( await Dependencies . RawSqlCommandBuilder . Build ( CreateExistsSql ( LockTableName ) )
191179 . ExecuteScalarAsync ( CreateRelationalCommandParameters ( ) , cancellationToken ) . ConfigureAwait ( false ) ) )
@@ -204,8 +192,7 @@ await CreateLockTableCommand()
204192 }
205193
206194 var retryDelay = _retryDelay ;
207- var startTime = DateTimeOffset . UtcNow ;
208- while ( DateTimeOffset . UtcNow - startTime < timeout )
195+ while ( true )
209196 {
210197 var dbLock = CreateMigrationDatabaseLock ( ) ;
211198 int ? insertCount = 0 ;
@@ -225,19 +212,6 @@ await CreateLockTableCommand()
225212 return dbLock ;
226213 }
227214
228- using var reader = await CreateGetLockCommand ( ) . ExecuteReaderAsync ( CreateRelationalCommandParameters ( ) , cancellationToken )
229- . ConfigureAwait ( false ) ;
230- if ( await reader . ReadAsync ( cancellationToken ) . ConfigureAwait ( false ) )
231- {
232- var timestamp = await reader . DbDataReader . GetFieldValueAsync < DateTimeOffset > ( 1 ) . ConfigureAwait ( false ) ;
233- if ( DateTimeOffset . UtcNow - timestamp > timeout )
234- {
235- var id = await reader . DbDataReader . GetFieldValueAsync < int > ( 0 ) . ConfigureAwait ( false ) ;
236- await CreateDeleteLockCommand ( id ) . ExecuteNonQueryAsync ( CreateRelationalCommandParameters ( ) , cancellationToken )
237- . ConfigureAwait ( false ) ;
238- }
239- }
240-
241215 await Task . Delay ( _retryDelay , cancellationToken ) . ConfigureAwait ( true ) ;
242216 if ( retryDelay < TimeSpan . FromMinutes ( 1 ) )
243217 {
@@ -266,11 +240,6 @@ private IRelationalCommand CreateInsertLockCommand(DateTimeOffset timestamp)
266240""" ) ;
267241 }
268242
269- private IRelationalCommand CreateGetLockCommand ( )
270- => Dependencies . RawSqlCommandBuilder . Build ( $ """
271- SELECT TOP 1 `Id`, `Timestamp` FROM `{ LockTableName } `;
272- """ ) ;
273-
274243 private IRelationalCommand CreateDeleteLockCommand ( int ? id = null )
275244 {
276245 var sql = $ """
0 commit comments