From 8a8c89a0f32b528bd588715bdbfc875c852e7187 Mon Sep 17 00:00:00 2001
From: Brian McBee
Date: Sat, 15 Dec 2007 04:57:14 +0000
Subject: Grid Inventory feature upgrade: renaming folders should now be
correct, subfolders work, moving folders works. Tested only in MYSQL, but may
work in MSSQL and sqlite. Probably not working in standalone mode.
---
.../Framework/Data.SQLite/SQLiteInventoryStore.cs | 32 ++++++++++++++++++++++
1 file changed, 32 insertions(+)
(limited to 'OpenSim/Framework/Data.SQLite')
diff --git a/OpenSim/Framework/Data.SQLite/SQLiteInventoryStore.cs b/OpenSim/Framework/Data.SQLite/SQLiteInventoryStore.cs
index b9a1daa..fe27e32 100644
--- a/OpenSim/Framework/Data.SQLite/SQLiteInventoryStore.cs
+++ b/OpenSim/Framework/Data.SQLite/SQLiteInventoryStore.cs
@@ -141,6 +141,24 @@ namespace OpenSim.Framework.Data.SQLite
invFoldersDa.Update(ds, "inventoryfolders");
}
+ private void moveFolder(InventoryFolderBase folder)
+ {
+ DataTable inventoryFolderTable = ds.Tables["inventoryfolders"];
+
+ DataRow inventoryRow = inventoryFolderTable.Rows.Find(folder.folderID);
+ if (inventoryRow == null)
+ {
+ inventoryRow = inventoryFolderTable.NewRow();
+ fillFolderRow(inventoryRow, folder);
+ inventoryFolderTable.Rows.Add(inventoryRow);
+ }
+ else
+ {
+ moveFolderRow(inventoryRow, folder);
+ }
+
+ invFoldersDa.Update(ds, "inventoryfolders");
+ }
private void addItem(InventoryItemBase item)
{
DataTable inventoryItemTable = ds.Tables["inventoryitems"];
@@ -404,6 +422,15 @@ namespace OpenSim.Framework.Data.SQLite
}
///
+ /// Moves a folder based on its ID with folder
+ ///
+ /// The inventory folder
+ public void moveInventoryFolder(InventoryFolderBase folder)
+ {
+ moveFolder(folder);
+ }
+
+ ///
/// Delete a folder
///
///
@@ -534,6 +561,11 @@ namespace OpenSim.Framework.Data.SQLite
row["version"] = folder.version;
}
+ private void moveFolderRow(DataRow row, InventoryFolderBase folder)
+ {
+ row["UUID"] = folder.folderID;
+ row["parentID"] = folder.parentID;
+ }
/***********************************************************************
*
--
cgit v1.1