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.
prebuild-update
Melanie 2010-06-19 22:48:43 +01:00
parent 24a68e36fb
commit 8643db3ef0
1 changed files with 7 additions and 0 deletions

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