From f3c7298fc5bdb35e8a293c9aee4134c8e8fe2856 Mon Sep 17 00:00:00 2001
From: Justin Clarke Casey
Date: Wed, 8 Apr 2009 17:50:57 +0000
Subject: * Make it possible to store creator strings in user inventory items
as well as UUIDs * All existing functionality should be unaffected. *
Database schemas have not been changed.
---
OpenSim/Data/MSSQL/MSSQLInventoryData.cs | 27 ++++++++++++++-------------
OpenSim/Data/MySQL/MySQLInventoryData.cs | 12 +++++-------
OpenSim/Data/SQLite/SQLiteInventoryStore.cs | 8 ++++----
OpenSim/Data/Tests/BasicInventoryTest.cs | 2 +-
OpenSim/Data/Tests/BasicRegionTest.cs | 4 ++--
5 files changed, 26 insertions(+), 27 deletions(-)
(limited to 'OpenSim/Data')
diff --git a/OpenSim/Data/MSSQL/MSSQLInventoryData.cs b/OpenSim/Data/MSSQL/MSSQLInventoryData.cs
index fe8287d..6a4fbab 100644
--- a/OpenSim/Data/MSSQL/MSSQLInventoryData.cs
+++ b/OpenSim/Data/MSSQL/MSSQLInventoryData.cs
@@ -181,7 +181,7 @@ namespace OpenSim.Data.MSSQL
}
}
}
- m_log.InfoFormat("[INVENTORY DB] : FOund no inventory folder with ID : {0}", folderID);
+ m_log.InfoFormat("[INVENTORY DB] : Found no inventory folder with ID : {0}", folderID);
return null;
}
@@ -244,7 +244,7 @@ namespace OpenSim.Data.MSSQL
}
catch (Exception e)
{
- m_log.ErrorFormat("[ASSET DB] Error : {0}", e.Message);
+ m_log.ErrorFormat("[INVENTORY DB]: Error : {0}", e.Message);
}
}
}
@@ -277,7 +277,7 @@ namespace OpenSim.Data.MSSQL
}
catch (Exception e)
{
- m_log.ErrorFormat("[ASSET DB] Error : {0}", e.Message);
+ m_log.ErrorFormat("[INVENTORY DB]: Error : {0}", e.Message);
}
}
}
@@ -300,7 +300,7 @@ namespace OpenSim.Data.MSSQL
}
catch (Exception e)
{
- m_log.ErrorFormat("[ASSET DB] Error : {0}", e.Message);
+ m_log.ErrorFormat("[INVENTORY DB]: Error : {0}", e.Message);
}
}
}
@@ -385,7 +385,8 @@ namespace OpenSim.Data.MSSQL
}
}
}
- m_log.InfoFormat("[INVENTORY DB] : Found no inventory item with ID : {0}", itemID);
+
+ m_log.InfoFormat("[INVENTORY DB]: Found no inventory item with ID : {0}", itemID);
return null;
}
@@ -424,7 +425,7 @@ namespace OpenSim.Data.MSSQL
command.Parameters.Add(database.CreateParameter("inventoryNextPermissions", item.NextPermissions));
command.Parameters.Add(database.CreateParameter("inventoryCurrentPermissions", item.CurrentPermissions));
command.Parameters.Add(database.CreateParameter("invType", item.InvType));
- command.Parameters.Add(database.CreateParameter("creatorID", item.Creator));
+ command.Parameters.Add(database.CreateParameter("creatorID", item.CreatorId));
command.Parameters.Add(database.CreateParameter("inventoryBasePermissions", item.BasePermissions));
command.Parameters.Add(database.CreateParameter("inventoryEveryOnePermissions", item.EveryOnePermissions));
command.Parameters.Add(database.CreateParameter("inventoryGroupPermissions", item.GroupPermissions));
@@ -441,7 +442,7 @@ namespace OpenSim.Data.MSSQL
}
catch (Exception e)
{
- m_log.Error("[INVENTORY DB] Error inserting item :" + e.Message);
+ m_log.Error("[INVENTORY DB]: Error inserting item :" + e.Message);
}
}
@@ -498,7 +499,7 @@ namespace OpenSim.Data.MSSQL
command.Parameters.Add(database.CreateParameter("inventoryNextPermissions", item.NextPermissions));
command.Parameters.Add(database.CreateParameter("inventoryCurrentPermissions", item.CurrentPermissions));
command.Parameters.Add(database.CreateParameter("invType", item.InvType));
- command.Parameters.Add(database.CreateParameter("creatorID", item.Creator));
+ command.Parameters.Add(database.CreateParameter("creatorID", item.CreatorIdAsUuid));
command.Parameters.Add(database.CreateParameter("inventoryBasePermissions", item.BasePermissions));
command.Parameters.Add(database.CreateParameter("inventoryEveryOnePermissions", item.EveryOnePermissions));
command.Parameters.Add(database.CreateParameter("salePrice", item.SalePrice));
@@ -515,7 +516,7 @@ namespace OpenSim.Data.MSSQL
}
catch (Exception e)
{
- m_log.Error("[INVENTORY DB] Error updating item :" + e.Message);
+ m_log.Error("[INVENTORY DB]: Error updating item :" + e.Message);
}
}
}
@@ -538,7 +539,7 @@ namespace OpenSim.Data.MSSQL
}
catch (Exception e)
{
- m_log.Error("[INVENTORY DB] Error deleting item :" + e.Message);
+ m_log.Error("[INVENTORY DB]: Error deleting item :" + e.Message);
}
}
}
@@ -725,7 +726,7 @@ namespace OpenSim.Data.MSSQL
item.NextPermissions = Convert.ToUInt32(reader["inventoryNextPermissions"]);
item.CurrentPermissions = Convert.ToUInt32(reader["inventoryCurrentPermissions"]);
item.InvType = Convert.ToInt32(reader["invType"].ToString());
- item.Creator = new UUID((Guid)reader["creatorID"]);
+ item.CreatorId = ((Guid)reader["creatorID"]).ToString();
item.BasePermissions = Convert.ToUInt32(reader["inventoryBasePermissions"]);
item.EveryOnePermissions = Convert.ToUInt32(reader["inventoryEveryOnePermissions"]);
item.GroupPermissions = Convert.ToUInt32(reader["inventoryGroupPermissions"]);
@@ -740,7 +741,7 @@ namespace OpenSim.Data.MSSQL
}
catch (SqlException e)
{
- m_log.Error("[INVENTORY DB] Error reading inventory item :" + e.Message);
+ m_log.Error("[INVENTORY DB]: Error reading inventory item :" + e.Message);
}
return null;
@@ -764,7 +765,7 @@ namespace OpenSim.Data.MSSQL
}
catch (SqlException e)
{
- m_log.Error("[INVENTORY DB] Error deleting folder :" + e.Message);
+ m_log.Error("[INVENTORY DB]: Error deleting folder :" + e.Message);
}
}
diff --git a/OpenSim/Data/MySQL/MySQLInventoryData.cs b/OpenSim/Data/MySQL/MySQLInventoryData.cs
index a5312b5..7092096 100644
--- a/OpenSim/Data/MySQL/MySQLInventoryData.cs
+++ b/OpenSim/Data/MySQL/MySQLInventoryData.cs
@@ -306,22 +306,20 @@ namespace OpenSim.Data.MySQL
try
{
InventoryItemBase item = new InventoryItemBase();
+ item.CreatorId = (string)reader["creatorID"];
+
// Be a bit safer in parsing these because the
// database doesn't enforce them to be not null, and
// the inventory still works if these are weird in the
// db
-
UUID Owner = UUID.Zero;
- UUID Creator = UUID.Zero;
UUID GroupID = UUID.Zero;
UUID.TryParse((string)reader["avatarID"], out Owner);
- UUID.TryParse((string)reader["creatorID"], out Creator);
UUID.TryParse((string)reader["groupID"], out GroupID);
- item.Owner = Owner;
- item.Creator = Creator;
+ item.Owner = Owner;
item.GroupID = GroupID;
- // Rest of the parsing. If these UUID's fail, we're dead anyway
+ // Rest of the parsing. If these UUID's fail, we're dead anyway
item.ID = new UUID((string) reader["inventoryID"]);
item.AssetID = new UUID((string) reader["assetID"]);
item.AssetType = (int) reader["assetType"];
@@ -480,7 +478,7 @@ namespace OpenSim.Data.MySQL
result.Parameters.AddWithValue("?inventoryCurrentPermissions",
item.CurrentPermissions.ToString());
result.Parameters.AddWithValue("?invType", item.InvType);
- result.Parameters.AddWithValue("?creatorID", item.Creator.ToString());
+ result.Parameters.AddWithValue("?creatorID", item.CreatorId);
result.Parameters.AddWithValue("?inventoryBasePermissions", item.BasePermissions);
result.Parameters.AddWithValue("?inventoryEveryOnePermissions", item.EveryOnePermissions);
result.Parameters.AddWithValue("?inventoryGroupPermissions", item.GroupPermissions);
diff --git a/OpenSim/Data/SQLite/SQLiteInventoryStore.cs b/OpenSim/Data/SQLite/SQLiteInventoryStore.cs
index bd18c11..aedcd82 100644
--- a/OpenSim/Data/SQLite/SQLiteInventoryStore.cs
+++ b/OpenSim/Data/SQLite/SQLiteInventoryStore.cs
@@ -143,7 +143,7 @@ namespace OpenSim.Data.SQLite
item.InvType = Convert.ToInt32(row["invType"]);
item.Folder = new UUID((string) row["parentFolderID"]);
item.Owner = new UUID((string) row["avatarID"]);
- item.Creator = new UUID((string) row["creatorsID"]);
+ item.CreatorId = (string)row["creatorsID"];
item.Name = (string) row["inventoryName"];
item.Description = (string) row["inventoryDescription"];
@@ -176,7 +176,7 @@ namespace OpenSim.Data.SQLite
}
///
- ///
+ /// Fill a database row with item data
///
///
///
@@ -188,7 +188,7 @@ namespace OpenSim.Data.SQLite
row["invType"] = item.InvType;
row["parentFolderID"] = Util.ToRawUuidString(item.Folder);
row["avatarID"] = Util.ToRawUuidString(item.Owner);
- row["creatorsID"] = Util.ToRawUuidString(item.Creator);
+ row["creatorsID"] = Util.ToRawUuidString(item.CreatorIdAsUuid);
row["inventoryName"] = item.Name;
row["inventoryDescription"] = item.Description;
@@ -281,7 +281,7 @@ namespace OpenSim.Data.SQLite
DataRow inventoryRow = inventoryItemTable.Rows.Find(Util.ToRawUuidString(item.ID));
if (inventoryRow == null)
{
- if (! add)
+ if (!add)
m_log.ErrorFormat("[INVENTORY DB]: Interface Misuse: Attempting to Update non-existant inventory item: {0}", item.ID);
inventoryRow = inventoryItemTable.NewRow();
diff --git a/OpenSim/Data/Tests/BasicInventoryTest.cs b/OpenSim/Data/Tests/BasicInventoryTest.cs
index 65c61cd..eed6cab 100644
--- a/OpenSim/Data/Tests/BasicInventoryTest.cs
+++ b/OpenSim/Data/Tests/BasicInventoryTest.cs
@@ -271,7 +271,7 @@ namespace OpenSim.Data.Tests
i.ID = id;
i.Folder = parent;
i.Owner = owner;
- i.Creator = owner;
+ i.CreatorId = owner.ToString();
i.Name = name;
i.Description = name;
i.AssetID = asset;
diff --git a/OpenSim/Data/Tests/BasicRegionTest.cs b/OpenSim/Data/Tests/BasicRegionTest.cs
index e7ce8af..0e87c8c 100644
--- a/OpenSim/Data/Tests/BasicRegionTest.cs
+++ b/OpenSim/Data/Tests/BasicRegionTest.cs
@@ -606,7 +606,7 @@ namespace OpenSim.Data.Tests
UUID owner = UUID.Random();
i.Owner = owner;
UUID creator = UUID.Random();
- i.Creator = creator;
+ i.CreatorId = creator.ToString();
string name = RandomName();
i.Name = name;
i.Description = name;
@@ -982,7 +982,7 @@ namespace OpenSim.Data.Tests
i.ID = id;
i.Folder = parent;
i.Owner = owner;
- i.Creator = owner;
+ i.CreatorId = owner.ToString();
i.Name = name;
i.Description = name;
i.AssetID = asset;
--
cgit v1.1