mirror of
https://github.com/opensim/opensim.git
synced 2026-05-14 02:39:52 +08:00
* Replaced (possibly broken?) math for calculating the unix timestamp in MySQLAssetData with Utils.DateTimeToUnixTime()
* Disabled UpdateAccessTime() function since it was only writing zeros anyways. This gave me a significant performance improvement for startup times and avatar logins in standalone mode * Load attachments asynchronously so avatars with lots of attachments don't have to race the timeout clock to login
This commit is contained in:
@@ -44,7 +44,6 @@ namespace OpenSim.Data.MySQL
|
||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||
|
||||
private MySQLManager _dbConnection;
|
||||
private long TicksToEpoch;
|
||||
|
||||
#region IPlugin Members
|
||||
|
||||
@@ -61,8 +60,6 @@ namespace OpenSim.Data.MySQL
|
||||
/// <param name="connect">connect string</param>
|
||||
override public void Initialise(string connect)
|
||||
{
|
||||
TicksToEpoch = new DateTime(1970,1,1).Ticks;
|
||||
|
||||
// TODO: This will let you pass in the connect string in
|
||||
// the config, though someone will need to write that.
|
||||
if (connect == String.Empty)
|
||||
@@ -223,7 +220,7 @@ namespace OpenSim.Data.MySQL
|
||||
using (cmd)
|
||||
{
|
||||
// create unix epoch time
|
||||
int now = (int)((DateTime.Now.Ticks - TicksToEpoch) / 10000000);
|
||||
int now = (int)Utils.DateTimeToUnixTime(DateTime.UtcNow);
|
||||
cmd.Parameters.AddWithValue("?id", asset.ID);
|
||||
cmd.Parameters.AddWithValue("?name", assetName);
|
||||
cmd.Parameters.AddWithValue("?description", assetDescription);
|
||||
@@ -248,6 +245,9 @@ namespace OpenSim.Data.MySQL
|
||||
|
||||
private void UpdateAccessTime(AssetBase asset)
|
||||
{
|
||||
// Writing to the database every time Get() is called on an asset is killing us. Seriously. -jph
|
||||
return;
|
||||
|
||||
lock (_dbConnection)
|
||||
{
|
||||
_dbConnection.CheckConnection();
|
||||
@@ -262,7 +262,7 @@ namespace OpenSim.Data.MySQL
|
||||
using (cmd)
|
||||
{
|
||||
// create unix epoch time
|
||||
int now = (int)((DateTime.Now.Ticks - TicksToEpoch) / 10000000);
|
||||
int now = (int)Utils.DateTimeToUnixTime(DateTime.UtcNow);
|
||||
cmd.Parameters.AddWithValue("?id", asset.ID);
|
||||
cmd.Parameters.AddWithValue("?access_time", now);
|
||||
cmd.ExecuteNonQuery();
|
||||
|
||||
Reference in New Issue
Block a user