patilgs / tarantino

Automatically exported from code.google.com/p/tarantino
0 stars 0 forks source link

Enhancement: Ability to specify a timeout for executing queries in databse update #11

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Currently the timeout is not explicitly specified and defaults to standard
value of SMO which is 10 minutes. I recently had a scenario where this was
not long enough. I would like to be able to specify this timeout, including
an infinite timeout value.

Original issue reported on code.google.com by ArturDor...@gmail.com on 25 Apr 2010 at 10:22

GoogleCodeExporter commented 9 years ago
I have attached a patch (to rev 169) for this problem if you're interested. 
What it does is to allow you to name scripts with the "timeout" or "time-out" 
keyword followed by the number of seconds and it will execute the query with 
the correct 
http://msdn.microsoft.com/en-us/library/microsoft.sqlserver.management.common.se
rverconnection.statementtimeout.aspx property value.

A timeout of 0 = infinite.

Examples:
1_my_migration_with_timeout_of_3600_seconds.sql
001_my_migration_with_timeout_3600.sql
001_my_migration_with_time-out-3600.sql
001_my_migration_with_infinite_timeout_of_0.sql
001 - my migration with timeout of 3600 seconds.sql

Unit tests are included with the code.

To test, use a migration with the following statement:

   -- wait for 30 minutes
   WAITFOR DELAY '00:30'

And name the file: 1-my_test_with_timeout_of_60_seconds.sql

Hint: you just need to recompile Tarantino.DatabaseManager.Core - actually I 
never managed to rebuild the solution properly!

-- Dinh Doan Van Bien

Original comment by dinh...@gmail.com on 12 Aug 2011 at 4:51

Attachments:

GoogleCodeExporter commented 9 years ago
Nice one. Thanks Dinh for this patch.

Original comment by hzacchi on 12 Aug 2011 at 11:08