aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/Data.MySQL
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Framework/Data.MySQL')
-rw-r--r--OpenSim/Framework/Data.MySQL/MySQLAssetData.cs23
-rw-r--r--OpenSim/Framework/Data.MySQL/MySQLInventoryData.cs7
-rw-r--r--OpenSim/Framework/Data.MySQL/Resources/CreateAssetsTable.sql4
3 files changed, 28 insertions, 6 deletions
diff --git a/OpenSim/Framework/Data.MySQL/MySQLAssetData.cs b/OpenSim/Framework/Data.MySQL/MySQLAssetData.cs
index 70e04b6..5a169ac 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/MySQLInventoryData.cs b/OpenSim/Framework/Data.MySQL/MySQLInventoryData.cs
index 6423f28..7bd1273 100644
--- a/OpenSim/Framework/Data.MySQL/MySQLInventoryData.cs
+++ b/OpenSim/Framework/Data.MySQL/MySQLInventoryData.cs
@@ -225,10 +225,13 @@ 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 = items[0]; //should only be one folder with parent set to zero (the root one). 231 InventoryFolderBase rootFolder = null;
232 if (items.Count > 0)
233 rootFolder = items[0]; //should only be one folder with parent set to zero (the root one).
234
232 reader.Close(); 235 reader.Close();
233 result.Dispose(); 236 result.Dispose();
234 237
diff --git a/OpenSim/Framework/Data.MySQL/Resources/CreateAssetsTable.sql b/OpenSim/Framework/Data.MySQL/Resources/CreateAssetsTable.sql
index 049a3a2..3b6fff2 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,