* If an orphaned group is found in the mysql or mssql databases (i.e. there is no prim where UUID = SceneGroupID), then force one prim to have UUID = SceneGroupID.

* A warning is posted about this on startup giving the location of the object
* This should allow one class of persistently undeletable prims to be removed
* This change should not cause any issues, but I still suggest that you backup your database beforehand
* If this doesn't work for previously linked objects, then you could also try the workaround in http://opensimulator.org/mantis/view.php?id=3059
* This change has been made to mysql and mssql, but sqlite appears to work in a different way
This commit is contained in:
Justin Clarke Casey
2009-01-29 20:08:04 +00:00
parent ea6e4a95ce
commit 13f069b945
3 changed files with 40 additions and 14 deletions

View File

@@ -419,6 +419,7 @@ namespace OpenSim.Data.SQLite
string uuid = (string) primRow["UUID"];
string objID = (string) primRow["SceneGroupID"];
if (uuid == objID) //is new SceneObjectGroup ?
{
SceneObjectGroup group = new SceneObjectGroup();
@@ -451,6 +452,7 @@ namespace OpenSim.Data.SQLite
}
}
}
// Now fill the groups with part data
foreach (DataRow primRow in primsForRegion)
{
@@ -470,10 +472,11 @@ namespace OpenSim.Data.SQLite
}
else
{
m_log.Info(
m_log.Warn(
"[REGION DB]: No shape found for prim in storage, so setting default box shape");
prim.Shape = PrimitiveBaseShape.Default;
}
createdObjects[new UUID(objID)].AddPart(prim);
LoadItems(prim);
}