diff options
author | Tleiades Hax | 2007-10-13 09:21:08 +0000 |
---|---|---|
committer | Tleiades Hax | 2007-10-13 09:21:08 +0000 |
commit | f6aeff6cc3f6ebc58db702206d469718d19b7ba0 (patch) | |
tree | 468fb8483a2cd03e472a6988ef60f1c8ff01c07e | |
parent | (no commit message) (diff) | |
download | opensim-SC-f6aeff6cc3f6ebc58db702206d469718d19b7ba0.zip opensim-SC-f6aeff6cc3f6ebc58db702206d469718d19b7ba0.tar.gz opensim-SC-f6aeff6cc3f6ebc58db702206d469718d19b7ba0.tar.bz2 opensim-SC-f6aeff6cc3f6ebc58db702206d469718d19b7ba0.tar.xz |
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.ini
4 files changed, 7 insertions, 31 deletions
diff --git a/OpenSim/Framework/Data.MySQL/MySQLAssetData.cs b/OpenSim/Framework/Data.MySQL/MySQLAssetData.cs index 5a169ac..70e04b6 100644 --- a/OpenSim/Framework/Data.MySQL/MySQLAssetData.cs +++ b/OpenSim/Framework/Data.MySQL/MySQLAssetData.cs | |||
@@ -40,28 +40,9 @@ namespace OpenSim.Framework.Data.MySQL | |||
40 | 40 | ||
41 | } | 41 | } |
42 | 42 | ||
43 | public AssetBase FetchAsset(LLUUID assetID) | 43 | public AssetBase FetchAsset(LLUUID uuid) |
44 | { | 44 | { |
45 | AssetBase asset = null; | 45 | throw new Exception("The method or operation is not implemented."); |
46 | |||
47 | MySqlCommand cmd = new MySqlCommand("SELECT name, description, assetType, invType, local, temporary, data FROM assets WHERE id=?id", _dbConnection.Connection); | ||
48 | MySqlParameter p = cmd.Parameters.Add("?id", MySqlDbType.Binary, 16); | ||
49 | p.Value = assetID.GetBytes(); | ||
50 | using (MySqlDataReader dbReader = cmd.ExecuteReader(System.Data.CommandBehavior.SingleRow)) | ||
51 | { | ||
52 | if (dbReader.Read()) | ||
53 | { | ||
54 | asset = new AssetBase(); | ||
55 | asset.Data = (byte[])dbReader["data"]; | ||
56 | asset.Description = (string)dbReader["description"]; | ||
57 | asset.FullID = assetID; | ||
58 | asset.InvType = (sbyte)dbReader["invType"]; | ||
59 | asset.Local = ((sbyte)dbReader["local"])!=0?true:false; | ||
60 | asset.Name = (string)dbReader["name"]; | ||
61 | asset.Type = (sbyte)dbReader["assetType"]; | ||
62 | } | ||
63 | } | ||
64 | return asset; | ||
65 | } | 46 | } |
66 | 47 | ||
67 | public void CreateAsset(AssetBase asset) | 48 | public void CreateAsset(AssetBase asset) |
diff --git a/OpenSim/Framework/Data.MySQL/MySQLInventoryData.cs b/OpenSim/Framework/Data.MySQL/MySQLInventoryData.cs index 7bd1273..6423f28 100644 --- a/OpenSim/Framework/Data.MySQL/MySQLInventoryData.cs +++ b/OpenSim/Framework/Data.MySQL/MySQLInventoryData.cs | |||
@@ -225,13 +225,10 @@ namespace OpenSim.Framework.Data.MySQL | |||
225 | MySqlDataReader reader = result.ExecuteReader(); | 225 | MySqlDataReader reader = result.ExecuteReader(); |
226 | 226 | ||
227 | List<InventoryFolderBase> items = new List<InventoryFolderBase>(); | 227 | List<InventoryFolderBase> items = new List<InventoryFolderBase>(); |
228 | while (reader.Read()) | 228 | while(reader.Read()) |
229 | items.Add(readInventoryFolder(reader)); | 229 | items.Add(readInventoryFolder(reader)); |
230 | 230 | ||
231 | InventoryFolderBase rootFolder = null; | 231 | InventoryFolderBase rootFolder = items[0]; //should only be one folder with parent set to zero (the root one). |
232 | if (items.Count > 0) | ||
233 | rootFolder = items[0]; //should only be one folder with parent set to zero (the root one). | ||
234 | |||
235 | reader.Close(); | 232 | reader.Close(); |
236 | result.Dispose(); | 233 | result.Dispose(); |
237 | 234 | ||
diff --git a/OpenSim/Framework/Data.MySQL/Resources/CreateAssetsTable.sql b/OpenSim/Framework/Data.MySQL/Resources/CreateAssetsTable.sql index 3b6fff2..049a3a2 100644 --- a/OpenSim/Framework/Data.MySQL/Resources/CreateAssetsTable.sql +++ b/OpenSim/Framework/Data.MySQL/Resources/CreateAssetsTable.sql | |||
@@ -2,8 +2,8 @@ CREATE TABLE `assets` ( | |||
2 | `id` binary(16) NOT NULL, | 2 | `id` binary(16) NOT NULL, |
3 | `name` varchar(64) NOT NULL, | 3 | `name` varchar(64) NOT NULL, |
4 | `description` varchar(64) NOT NULL, | 4 | `description` varchar(64) NOT NULL, |
5 | `assetType` TINYINT(4) NOT NULL, | 5 | `assetType` smallint(5) unsigned NOT NULL, |
6 | `invType` TINYINT(4) NOT NULL, | 6 | `invType` smallint(5) unsigned NOT NULL, |
7 | `local` tinyint(1) NOT NULL, | 7 | `local` tinyint(1) NOT NULL, |
8 | `temporary` tinyint(1) NOT NULL, | 8 | `temporary` tinyint(1) NOT NULL, |
9 | `data` longblob NOT NULL, | 9 | `data` longblob NOT NULL, |
diff --git a/OpenSim/Region/Application/OpenSimMain.cs b/OpenSim/Region/Application/OpenSimMain.cs index 7af8064..20152d8 100644 --- a/OpenSim/Region/Application/OpenSimMain.cs +++ b/OpenSim/Region/Application/OpenSimMain.cs | |||
@@ -80,7 +80,6 @@ namespace OpenSim | |||
80 | private string standaloneWelcomeMessage = null; | 80 | private string standaloneWelcomeMessage = null; |
81 | private string standaloneInventoryPlugin = "OpenSim.Framework.Data.SQLite.dll"; | 81 | private string standaloneInventoryPlugin = "OpenSim.Framework.Data.SQLite.dll"; |
82 | private string standaloneUserPlugin = "OpenSim.Framework.Data.DB4o.dll"; | 82 | private string standaloneUserPlugin = "OpenSim.Framework.Data.DB4o.dll"; |
83 | private string standaloneAssetPlugin = "OpenSim.Framework.Data.SQLite.dll"; | ||
84 | 83 | ||
85 | private string m_assetStorage = "db4o"; | 84 | private string m_assetStorage = "db4o"; |
86 | 85 | ||
@@ -132,7 +131,6 @@ namespace OpenSim | |||
132 | standaloneAuthenticate = configSource.Configs["StandAlone"].GetBoolean("accounts_authenticate", false); | 131 | standaloneAuthenticate = configSource.Configs["StandAlone"].GetBoolean("accounts_authenticate", false); |
133 | standaloneWelcomeMessage = configSource.Configs["StandAlone"].GetString("welcome_message", "Welcome to OpenSim"); | 132 | standaloneWelcomeMessage = configSource.Configs["StandAlone"].GetString("welcome_message", "Welcome to OpenSim"); |
134 | standaloneInventoryPlugin = configSource.Configs["StandAlone"].GetString("inventory_plugin", "OpenSim.Framework.Data.SQLite.dll"); | 133 | standaloneInventoryPlugin = configSource.Configs["StandAlone"].GetString("inventory_plugin", "OpenSim.Framework.Data.SQLite.dll"); |
135 | standaloneAssetPlugin = configSource.Configs["StandAlone"].GetString("userDatabase_plugin", "OpenSim.Framework.Data.SQLite.dll"); | ||
136 | standaloneUserPlugin = configSource.Configs["StandAlone"].GetString("userDatabase_plugin", "OpenSim.Framework.Data.DB4o.dll"); | 134 | standaloneUserPlugin = configSource.Configs["StandAlone"].GetString("userDatabase_plugin", "OpenSim.Framework.Data.DB4o.dll"); |
137 | 135 | ||
138 | m_networkServersInfo.loadFromConfiguration(configSource); | 136 | m_networkServersInfo.loadFromConfiguration(configSource); |
@@ -285,7 +283,7 @@ namespace OpenSim | |||
285 | } | 283 | } |
286 | else | 284 | else |
287 | { | 285 | { |
288 | assetServer = new SQLAssetServer(standaloneAssetPlugin); | 286 | assetServer = new SQLAssetServer("OpenSim.Framework.Data.SQLite.dll"); |
289 | } | 287 | } |
290 | assetServer.SetServerInfo(m_networkServersInfo.AssetURL, m_networkServersInfo.AssetSendKey); | 288 | assetServer.SetServerInfo(m_networkServersInfo.AssetURL, m_networkServersInfo.AssetSendKey); |
291 | m_assetCache = new AssetCache(assetServer); | 289 | m_assetCache = new AssetCache(assetServer); |