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.
This commit is contained in:
Melanie
2010-06-19 22:48:43 +01:00
parent 24a68e36fb
commit 8643db3ef0

View File

@@ -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[] { });
}
}
}