diff options
Diffstat (limited to 'OpenSim/Region/Storage')
-rw-r--r-- | OpenSim/Region/Storage/OpenSim.DataStore.MonoSqlite/MonoSqliteDataStore.cs | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/OpenSim/Region/Storage/OpenSim.DataStore.MonoSqlite/MonoSqliteDataStore.cs b/OpenSim/Region/Storage/OpenSim.DataStore.MonoSqlite/MonoSqliteDataStore.cs index b5e9e1c..6f12c47 100644 --- a/OpenSim/Region/Storage/OpenSim.DataStore.MonoSqlite/MonoSqliteDataStore.cs +++ b/OpenSim/Region/Storage/OpenSim.DataStore.MonoSqlite/MonoSqliteDataStore.cs | |||
@@ -475,7 +475,24 @@ namespace OpenSim.DataStore.MonoSqliteStorage | |||
475 | 475 | ||
476 | public void RemoveObject(LLUUID obj) | 476 | public void RemoveObject(LLUUID obj) |
477 | { | 477 | { |
478 | // TODO: remove code | 478 | DataTable prims = ds.Tables["prims"]; |
479 | DataTable shapes = ds.Tables["primshapes"]; | ||
480 | |||
481 | string selectExp = "SceneGroupID = '" + obj.ToString() + "'"; | ||
482 | DataRow[] primRows = prims.Select(selectExp); | ||
483 | foreach (DataRow row in primRows) | ||
484 | { | ||
485 | LLUUID uuid = new LLUUID((string)row["UUID"]); | ||
486 | DataRow shapeRow = shapes.Rows.Find(uuid); | ||
487 | if (shapeRow != null) | ||
488 | { | ||
489 | shapeRow.Delete(); | ||
490 | } | ||
491 | row.Delete(); | ||
492 | } | ||
493 | |||
494 | primDa.Update(ds, "prims"); | ||
495 | shapeDa.Update(ds, "primshapes"); | ||
479 | } | 496 | } |
480 | 497 | ||
481 | public List<SceneObjectGroup> LoadObjects() | 498 | public List<SceneObjectGroup> LoadObjects() |