Reverting back to 2017 since 2018 were causing Linux breakage; reopening Tleiades patch 444 and 445.

This commit is contained in:
lbsa71
2007-09-27 14:57:43 +00:00
parent a6f3fa2fbe
commit 863195612b
37 changed files with 424 additions and 1154 deletions

View File

@@ -132,7 +132,7 @@ namespace OpenSim.Framework.Data.MySQL
param["?uuid"] = user.ToStringHyphenated();
param["?zero"] = LLUUID.Zero.ToStringHyphenated();
IDbCommand result = database.Query("SELECT * FROM inventoryfolders WHERE parentFolderID = ?zero AND (agentID = ?uuid OR category = 0)", param);
IDbCommand result = database.Query("SELECT * FROM inventoryfolders WHERE parentFolderID = ?zero AND agentID = ?uuid", param);
IDataReader reader = result.ExecuteReader();
List<InventoryFolderBase> items = database.readInventoryFolders(reader);
@@ -151,6 +151,40 @@ namespace OpenSim.Framework.Data.MySQL
}
}
/// <summary>
/// Returns the users inventory root folder.
/// </summary>
/// <param name="user"></param>
/// <returns></returns>
public InventoryFolderBase getUserRootFolder(LLUUID user)
{
try
{
lock (database)
{
Dictionary<string, string> param = new Dictionary<string, string>();
param["?uuid"] = user.ToStringHyphenated();
param["?zero"] = LLUUID.Zero.ToStringHyphenated();
IDbCommand result = database.Query("SELECT * FROM inventoryfolders WHERE parentFolderID = ?zero AND agentID = ?uuid", param);
IDataReader reader = result.ExecuteReader();
List<InventoryFolderBase> items = database.readInventoryFolders(reader);
InventoryFolderBase rootFolder = items[0]; //should only be one folder with parent set to zero (the root one).
reader.Close();
result.Dispose();
return rootFolder;
}
}
catch (Exception e)
{
database.Reconnect();
Console.WriteLine(e.ToString());
return null;
}
}
/// <summary>
/// Returns a list of folders in a users inventory contained within the specified folder
/// </summary>
@@ -314,27 +348,5 @@ namespace OpenSim.Framework.Data.MySQL
{
addInventoryFolder(folder);
}
public void deleteInventoryCategory(InventoryCategory inventoryCategory)
{
try
{
lock (database) {
IDbCommand cmd = database.Query(string.Format("DELETE FROM inventoryitems WHERE parentFolderID IN (SELECT folderId FROM inventoryfolders WHERE category={0})", (byte)inventoryCategory), null);
cmd.ExecuteNonQuery();
cmd = database.Query(string.Format("DELETE FROM inventoryfolders WHERE category={0}", (byte)inventoryCategory), null);
cmd.ExecuteNonQuery();
}
}
catch (Exception e)
{
database.Reconnect();
Console.WriteLine(e.ToString());
}
}
}
}