From 863195612bdef56165f2b4354bab280c371618b9 Mon Sep 17 00:00:00 2001 From: lbsa71 Date: Thu, 27 Sep 2007 14:57:43 +0000 Subject: Reverting back to 2017 since 2018 were causing Linux breakage; reopening Tleiades patch 444 and 445. --- .../Framework/Data.SQLite/SQLiteInventoryStore.cs | 71 +++++++++++----------- 1 file changed, 34 insertions(+), 37 deletions(-) (limited to 'OpenSim/Framework/Data.SQLite') diff --git a/OpenSim/Framework/Data.SQLite/SQLiteInventoryStore.cs b/OpenSim/Framework/Data.SQLite/SQLiteInventoryStore.cs index eb0ba04..d3d752f 100644 --- a/OpenSim/Framework/Data.SQLite/SQLiteInventoryStore.cs +++ b/OpenSim/Framework/Data.SQLite/SQLiteInventoryStore.cs @@ -61,11 +61,10 @@ namespace OpenSim.Framework.Data.SQLite MainLog.Instance.Verbose("DATASTORE", "Populated Intentory Items Definitions"); ds.AcceptChanges(); - return; } - public InventoryItemBase buildItem(DataRow row) + public InventoryItemBase BuildItem(DataRow row) { InventoryItemBase item = new InventoryItemBase(); item.inventoryID = new LLUUID((string)row["UUID"]); @@ -183,7 +182,7 @@ namespace OpenSim.Framework.Data.SQLite DataRow[] rows = inventoryItemTable.Select(selectExp); foreach (DataRow row in rows) { - retval.Add(buildItem(row)); + retval.Add(BuildItem(row)); } return retval; @@ -196,16 +195,43 @@ namespace OpenSim.Framework.Data.SQLite /// A list of folder objects public List getUserRootFolders(LLUUID user) { + return null; + } + + /// + /// Returns the users inventory root folder. + /// + /// The UUID of the user who is having inventory being returned + /// Root inventory folder + public InventoryFolderBase getUserRootFolder(LLUUID user) + { List folders = new List(); DataTable inventoryFolderTable = ds.Tables["inventoryfolders"]; - - string selectExp = "parentID = '" + LLUUID.Zero.ToString() + "' AND (agentID = '" + user.ToString() + "' OR category = 0)"; + string selectExp = "agentID = '" + user.ToString() + "' AND parentID = '" + LLUUID.Zero.ToString() + "'"; DataRow[] rows = inventoryFolderTable.Select(selectExp); foreach (DataRow row in rows) { folders.Add(this.buildFolder(row)); } - return folders; + + if (folders.Count == 1) + { + //we found the root + //System.Console.WriteLine("found root inventory folder"); + return folders[0]; + } + else if (folders.Count > 1) + { + //err shouldn't be more than one root + //System.Console.WriteLine("found more than one root inventory folder"); + } + else if (folders.Count == 0) + { + // no root? + //System.Console.WriteLine("couldn't find root inventory folder"); + } + + return null; } /// @@ -234,11 +260,7 @@ namespace OpenSim.Framework.Data.SQLite /// A class containing item information public InventoryItemBase getInventoryItem(LLUUID item) { - DataRow row = ds.Tables["inventoryitems"].Rows.Find(item); - if (row != null) - return this.buildItem(row); - else - return null; + return null; } /// @@ -248,14 +270,7 @@ namespace OpenSim.Framework.Data.SQLite /// A class containing folder information public InventoryFolderBase getInventoryFolder(LLUUID folder) { - DataTable inventoryFolderTable = ds.Tables["inventoryfolders"]; - string selectExp = "UUID = '" + folder.ToString() + "'"; - DataRow[] rows = inventoryFolderTable.Select(selectExp); - - if (rows.Length == 1) - return this.buildFolder(rows[0]); - else - return null; + return null; } /// @@ -293,11 +308,6 @@ namespace OpenSim.Framework.Data.SQLite this.invItemsDa.Update(ds, "inventoryitems"); } - //TODO! Implement SQLite deleteInventoryCategory - public void deleteInventoryCategory(InventoryCategory inventoryCategory) - { - } - /// /// Adds a new folder specified by folder /// @@ -316,11 +326,6 @@ namespace OpenSim.Framework.Data.SQLite this.addFolder(folder); } - //TODO! implement CreateNewUserInventory - public void CreateNewUserInventory(LLUUID user) - { - throw new Exception("Function not implemented"); - } /*********************************************************************** * @@ -345,7 +350,6 @@ namespace OpenSim.Framework.Data.SQLite createCol(inv, "parentFolderID", typeof(System.String)); createCol(inv, "avatarID", typeof(System.String)); createCol(inv, "creatorsID", typeof(System.String)); - createCol(inv, "category", typeof(System.Byte)); createCol(inv, "inventoryName", typeof(System.String)); createCol(inv, "inventoryDescription", typeof(System.String)); @@ -369,7 +373,6 @@ namespace OpenSim.Framework.Data.SQLite createCol(fol, "parentID", typeof(System.String)); createCol(fol, "type", typeof(System.Int32)); createCol(fol, "version", typeof(System.Int32)); - createCol(fol, "category", typeof(System.Byte)); fol.PrimaryKey = new DataColumn[] { fol.Columns["UUID"] }; return fol; @@ -412,7 +415,6 @@ namespace OpenSim.Framework.Data.SQLite folder.parentID = new LLUUID((string)row["parentID"]); folder.type = Convert.ToInt16(row["type"]); folder.version = Convert.ToUInt16(row["version"]); - folder.category = (InventoryCategory)Convert.ToByte(row["category"]); return folder; } @@ -424,7 +426,6 @@ namespace OpenSim.Framework.Data.SQLite row["parentID"] = folder.parentID; row["type"] = folder.type; row["version"] = folder.version; - row["category"] = folder.category; } @@ -643,7 +644,3 @@ namespace OpenSim.Framework.Data.SQLite } } - - - - -- cgit v1.1