From 8643db3ef0c4dca709d85fc37240a18fd9049520 Mon Sep 17 00:00:00 2001 From: Melanie Date: Sat, 19 Jun 2010 22:48:43 +0100 Subject: [PATCH] This is a HACK! Downright nasty. For some reason, the devs of the mysql connector have decided that their vision of timeouts is the only valid one. This uses reflection to show them the finger. Please test. --- OpenSim/Data/MySQL/MySQLMigrations.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/OpenSim/Data/MySQL/MySQLMigrations.cs b/OpenSim/Data/MySQL/MySQLMigrations.cs index 81a0e837ea..b6f714c651 100644 --- a/OpenSim/Data/MySQL/MySQLMigrations.cs +++ b/OpenSim/Data/MySQL/MySQLMigrations.cs @@ -66,6 +66,12 @@ namespace OpenSim.Data.MySQL return; } + MySqlConnection c = (MySqlConnection)conn; + + Type tc = c.GetType(); + MethodInfo miSetCommandTimeout = tc.GetMethod("SetCommandTimeout", BindingFlags.NonPublic | BindingFlags.Instance); + MethodInfo miClearCommandTimeout = tc.GetMethod("ClearCommandTimeout", BindingFlags.NonPublic | BindingFlags.Instance); + miSetCommandTimeout.Invoke(c, new Object[] { 2147483 }); // INT_MAX / 1000; MySqlScript scr = new MySqlScript((MySqlConnection)conn); { foreach (string sql in script) @@ -78,6 +84,7 @@ namespace OpenSim.Data.MySQL scr.Execute(); } } + miClearCommandTimeout.Invoke(c, new Object[] { }); } } }