* 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.
This commit is contained in:
Justin Clarke Casey
2009-04-08 17:50:57 +00:00
parent 8d8c45b659
commit f3c7298fc5
21 changed files with 98 additions and 75 deletions

View File

@@ -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);
}
}

View File

@@ -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);

View File

@@ -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
}
/// <summary>
///
/// Fill a database row with item data
/// </summary>
/// <param name="row"></param>
/// <param name="item"></param>
@@ -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();

View File

@@ -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;

View File

@@ -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;