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