From 5a1e896edcb3e5e8341e9d3fb5b3e323c7ec3210 Mon Sep 17 00:00:00 2001 From: Tleiades Hax Date: Sat, 13 Oct 2007 12:35:37 +0000 Subject: OpenSimMain now respects the asset_plugin paramter, and storing of assets will *not* throw an exception --- OpenSim/Framework/Data.MySQL/MySQLAssetData.cs | 23 ++++++++++++++++++++-- .../Data.MySQL/Resources/CreateAssetsTable.sql | 4 ++-- 2 files changed, 23 insertions(+), 4 deletions(-) (limited to 'OpenSim/Framework') 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 } - public AssetBase FetchAsset(LLUUID uuid) + public AssetBase FetchAsset(LLUUID assetID) { - throw new Exception("The method or operation is not implemented."); + 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; } 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` ( `id` binary(16) NOT NULL, `name` varchar(64) NOT NULL, `description` varchar(64) NOT NULL, - `assetType` smallint(5) unsigned NOT NULL, - `invType` smallint(5) unsigned NOT NULL, + `assetType` tinyint(4) NOT NULL, + `invType` tinyint(4) NOT NULL, `local` tinyint(1) NOT NULL, `temporary` tinyint(1) NOT NULL, `data` longblob NOT NULL, -- cgit v1.1