aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorTleiades Hax2007-10-13 12:35:37 +0000
committerTleiades Hax2007-10-13 12:35:37 +0000
commit5a1e896edcb3e5e8341e9d3fb5b3e323c7ec3210 (patch)
treee2b1b30f60fe91d5b578d39f816925fdc791bae3
parentAdded capbility to use MySQL as the database backend in stand alone mode for ... (diff)
downloadopensim-SC-5a1e896edcb3e5e8341e9d3fb5b3e323c7ec3210.zip
opensim-SC-5a1e896edcb3e5e8341e9d3fb5b3e323c7ec3210.tar.gz
opensim-SC-5a1e896edcb3e5e8341e9d3fb5b3e323c7ec3210.tar.bz2
opensim-SC-5a1e896edcb3e5e8341e9d3fb5b3e323c7ec3210.tar.xz
OpenSimMain now respects the asset_plugin paramter, and storing of assets will *not* throw an exception
-rw-r--r--OpenSim/Framework/Data.MySQL/MySQLAssetData.cs23
-rw-r--r--OpenSim/Framework/Data.MySQL/Resources/CreateAssetsTable.sql4
-rw-r--r--OpenSim/Region/Application/OpenSimMain.cs5
3 files changed, 26 insertions, 6 deletions
diff --git a/OpenSim/Framework/Data.MySQL/MySQLAssetData.cs b/OpenSim/Framework/Data.MySQL/MySQLAssetData.cs
index 70e04b6..79f87e0 100644
--- a/OpenSim/Framework/Data.MySQL/MySQLAssetData.cs
+++ b/OpenSim/Framework/Data.MySQL/MySQLAssetData.cs
@@ -40,9 +40,28 @@ namespace OpenSim.Framework.Data.MySQL
40 40
41 } 41 }
42 42
43 public AssetBase FetchAsset(LLUUID uuid) 43 public AssetBase FetchAsset(LLUUID assetID)
44 { 44 {
45 throw new Exception("The method or operation is not implemented."); 45 AssetBase asset = null;
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;
46 } 65 }
47 66
48 public void CreateAsset(AssetBase asset) 67 public void CreateAsset(AssetBase asset)
diff --git a/OpenSim/Framework/Data.MySQL/Resources/CreateAssetsTable.sql b/OpenSim/Framework/Data.MySQL/Resources/CreateAssetsTable.sql
index 049a3a2..b9c1b97 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` smallint(5) unsigned NOT NULL, 5 `assetType` tinyint(4) NOT NULL,
6 `invType` smallint(5) unsigned NOT NULL, 6 `invType` tinyint(4) 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 20152d8..2187e42 100644
--- a/OpenSim/Region/Application/OpenSimMain.cs
+++ b/OpenSim/Region/Application/OpenSimMain.cs
@@ -79,6 +79,7 @@ namespace OpenSim
79 private bool standaloneAuthenticate = false; 79 private bool standaloneAuthenticate = false;
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 standaloneAssetPlugin = "OpenSim.Framework.Data.SQLite.dll";
82 private string standaloneUserPlugin = "OpenSim.Framework.Data.DB4o.dll"; 83 private string standaloneUserPlugin = "OpenSim.Framework.Data.DB4o.dll";
83 84
84 private string m_assetStorage = "db4o"; 85 private string m_assetStorage = "db4o";
@@ -132,7 +133,7 @@ namespace OpenSim
132 standaloneWelcomeMessage = configSource.Configs["StandAlone"].GetString("welcome_message", "Welcome to OpenSim"); 133 standaloneWelcomeMessage = configSource.Configs["StandAlone"].GetString("welcome_message", "Welcome to OpenSim");
133 standaloneInventoryPlugin = configSource.Configs["StandAlone"].GetString("inventory_plugin", "OpenSim.Framework.Data.SQLite.dll"); 134 standaloneInventoryPlugin = configSource.Configs["StandAlone"].GetString("inventory_plugin", "OpenSim.Framework.Data.SQLite.dll");
134 standaloneUserPlugin = configSource.Configs["StandAlone"].GetString("userDatabase_plugin", "OpenSim.Framework.Data.DB4o.dll"); 135 standaloneUserPlugin = configSource.Configs["StandAlone"].GetString("userDatabase_plugin", "OpenSim.Framework.Data.DB4o.dll");
135 136 standaloneAssetPlugin = configSource.Configs["StandAlone"].GetString("asset_plugin", "OpenSim.Framework.Data.SQLite.dll");
136 m_networkServersInfo.loadFromConfiguration(configSource); 137 m_networkServersInfo.loadFromConfiguration(configSource);
137 } 138 }
138 139
@@ -283,7 +284,7 @@ namespace OpenSim
283 } 284 }
284 else 285 else
285 { 286 {
286 assetServer = new SQLAssetServer("OpenSim.Framework.Data.SQLite.dll"); 287 assetServer = new SQLAssetServer(standaloneAssetPlugin);
287 } 288 }
288 assetServer.SetServerInfo(m_networkServersInfo.AssetURL, m_networkServersInfo.AssetSendKey); 289 assetServer.SetServerInfo(m_networkServersInfo.AssetURL, m_networkServersInfo.AssetSendKey);
289 m_assetCache = new AssetCache(assetServer); 290 m_assetCache = new AssetCache(assetServer);