Added capbility to use MySQL as the database backend in stand alone mode for assets and inventory.
Added asset_plugin key to "StandAlone" section of OpenSim.iniafrisby
parent
e8c1de8e72
commit
f6aeff6cc3
|
@ -40,28 +40,9 @@ namespace OpenSim.Framework.Data.MySQL
|
|||
|
||||
}
|
||||
|
||||
public AssetBase FetchAsset(LLUUID assetID)
|
||||
public AssetBase FetchAsset(LLUUID uuid)
|
||||
{
|
||||
AssetBase asset = null;
|
||||
|
||||
MySqlCommand cmd = new MySqlCommand("SELECT name, description, assetType, invType, local, temporary, data FROM assets WHERE id=?id", _dbConnection.Connection);
|
||||
MySqlParameter p = cmd.Parameters.Add("?id", MySqlDbType.Binary, 16);
|
||||
p.Value = assetID.GetBytes();
|
||||
using (MySqlDataReader dbReader = cmd.ExecuteReader(System.Data.CommandBehavior.SingleRow))
|
||||
{
|
||||
if (dbReader.Read())
|
||||
{
|
||||
asset = new AssetBase();
|
||||
asset.Data = (byte[])dbReader["data"];
|
||||
asset.Description = (string)dbReader["description"];
|
||||
asset.FullID = assetID;
|
||||
asset.InvType = (sbyte)dbReader["invType"];
|
||||
asset.Local = ((sbyte)dbReader["local"])!=0?true:false;
|
||||
asset.Name = (string)dbReader["name"];
|
||||
asset.Type = (sbyte)dbReader["assetType"];
|
||||
}
|
||||
}
|
||||
return asset;
|
||||
throw new Exception("The method or operation is not implemented.");
|
||||
}
|
||||
|
||||
public void CreateAsset(AssetBase asset)
|
||||
|
|
|
@ -228,10 +228,7 @@ namespace OpenSim.Framework.Data.MySQL
|
|||
while(reader.Read())
|
||||
items.Add(readInventoryFolder(reader));
|
||||
|
||||
InventoryFolderBase rootFolder = null;
|
||||
if (items.Count > 0)
|
||||
rootFolder = items[0]; //should only be one folder with parent set to zero (the root one).
|
||||
|
||||
InventoryFolderBase rootFolder = items[0]; //should only be one folder with parent set to zero (the root one).
|
||||
reader.Close();
|
||||
result.Dispose();
|
||||
|
||||
|
|
|
@ -2,8 +2,8 @@ CREATE TABLE `assets` (
|
|||
`id` binary(16) NOT NULL,
|
||||
`name` varchar(64) NOT NULL,
|
||||
`description` varchar(64) NOT NULL,
|
||||
`assetType` TINYINT(4) NOT NULL,
|
||||
`invType` TINYINT(4) NOT NULL,
|
||||
`assetType` smallint(5) unsigned NOT NULL,
|
||||
`invType` smallint(5) unsigned NOT NULL,
|
||||
`local` tinyint(1) NOT NULL,
|
||||
`temporary` tinyint(1) NOT NULL,
|
||||
`data` longblob NOT NULL,
|
||||
|
|
|
@ -80,7 +80,6 @@ namespace OpenSim
|
|||
private string standaloneWelcomeMessage = null;
|
||||
private string standaloneInventoryPlugin = "OpenSim.Framework.Data.SQLite.dll";
|
||||
private string standaloneUserPlugin = "OpenSim.Framework.Data.DB4o.dll";
|
||||
private string standaloneAssetPlugin = "OpenSim.Framework.Data.SQLite.dll";
|
||||
|
||||
private string m_assetStorage = "db4o";
|
||||
|
||||
|
@ -132,7 +131,6 @@ namespace OpenSim
|
|||
standaloneAuthenticate = configSource.Configs["StandAlone"].GetBoolean("accounts_authenticate", false);
|
||||
standaloneWelcomeMessage = configSource.Configs["StandAlone"].GetString("welcome_message", "Welcome to OpenSim");
|
||||
standaloneInventoryPlugin = configSource.Configs["StandAlone"].GetString("inventory_plugin", "OpenSim.Framework.Data.SQLite.dll");
|
||||
standaloneAssetPlugin = configSource.Configs["StandAlone"].GetString("userDatabase_plugin", "OpenSim.Framework.Data.SQLite.dll");
|
||||
standaloneUserPlugin = configSource.Configs["StandAlone"].GetString("userDatabase_plugin", "OpenSim.Framework.Data.DB4o.dll");
|
||||
|
||||
m_networkServersInfo.loadFromConfiguration(configSource);
|
||||
|
@ -285,7 +283,7 @@ namespace OpenSim
|
|||
}
|
||||
else
|
||||
{
|
||||
assetServer = new SQLAssetServer(standaloneAssetPlugin);
|
||||
assetServer = new SQLAssetServer("OpenSim.Framework.Data.SQLite.dll");
|
||||
}
|
||||
assetServer.SetServerInfo(m_networkServersInfo.AssetURL, m_networkServersInfo.AssetSendKey);
|
||||
m_assetCache = new AssetCache(assetServer);
|
||||
|
|
Loading…
Reference in New Issue