mirror of
https://github.com/opensim/opensim.git
synced 2026-08-05 08:55:56 +08:00
* 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:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user