mirror of
https://github.com/opensim/opensim.git
synced 2026-08-12 04:05:42 +08:00
Changed SceneObjectGroup to store parts with the fast and thread-safe MapAndArray collection
This commit is contained in:
@@ -241,7 +241,7 @@ namespace OpenSim.Data.MSSQL
|
||||
/// <param name="regionUUID"></param>
|
||||
public void StoreObject(SceneObjectGroup obj, UUID regionUUID)
|
||||
{
|
||||
_Log.DebugFormat("[MSSQL]: Adding/Changing SceneObjectGroup: {0} to region: {1}, object has {2} prims.", obj.UUID, regionUUID, obj.Children.Count);
|
||||
_Log.DebugFormat("[MSSQL]: Adding/Changing SceneObjectGroup: {0} to region: {1}, object has {2} prims.", obj.UUID, regionUUID, obj.Parts.Length);
|
||||
|
||||
using (SqlConnection conn = new SqlConnection(m_connectionString))
|
||||
{
|
||||
@@ -250,7 +250,7 @@ namespace OpenSim.Data.MSSQL
|
||||
|
||||
try
|
||||
{
|
||||
foreach (SceneObjectPart sceneObjectPart in obj.Children.Values)
|
||||
foreach (SceneObjectPart sceneObjectPart in obj.Parts)
|
||||
{
|
||||
//Update prim
|
||||
using (SqlCommand sqlCommand = conn.CreateCommand())
|
||||
|
||||
@@ -144,7 +144,7 @@ namespace OpenSim.Data.MySQL
|
||||
dbcon.Open();
|
||||
MySqlCommand cmd = dbcon.CreateCommand();
|
||||
|
||||
foreach (SceneObjectPart prim in obj.Children.Values)
|
||||
foreach (SceneObjectPart prim in obj.Parts)
|
||||
{
|
||||
cmd.Parameters.Clear();
|
||||
|
||||
|
||||
@@ -368,7 +368,7 @@ namespace OpenSim.Data.SQLite
|
||||
|
||||
lock (ds)
|
||||
{
|
||||
foreach (SceneObjectPart prim in obj.Children.Values)
|
||||
foreach (SceneObjectPart prim in obj.Parts)
|
||||
{
|
||||
// m_log.Info("[REGION DB]: Adding obj: " + obj.UUID + " to region: " + regionUUID);
|
||||
addPrim(prim, obj.UUID, regionUUID);
|
||||
|
||||
@@ -335,7 +335,7 @@ namespace OpenSim.Data.SQLiteLegacy
|
||||
|
||||
lock (ds)
|
||||
{
|
||||
foreach (SceneObjectPart prim in obj.Children.Values)
|
||||
foreach (SceneObjectPart prim in obj.Parts)
|
||||
{
|
||||
// m_log.Info("[REGION DB]: Adding obj: " + obj.UUID + " to region: " + regionUUID);
|
||||
addPrim(prim, obj.UUID, regionUUID);
|
||||
|
||||
@@ -232,15 +232,15 @@ namespace OpenSim.Data.Tests
|
||||
sog.AddPart(p2);
|
||||
sog.AddPart(p3);
|
||||
|
||||
SceneObjectPart[] parts = sog.GetParts();
|
||||
SceneObjectPart[] parts = sog.Parts;
|
||||
Assert.That(parts.Length,Is.EqualTo(4), "Assert.That(parts.Length,Is.EqualTo(4))");
|
||||
|
||||
db.StoreObject(sog, newregion);
|
||||
List<SceneObjectGroup> sogs = db.LoadObjects(newregion);
|
||||
Assert.That(sogs.Count,Is.EqualTo(1), "Assert.That(sogs.Count,Is.EqualTo(1))");
|
||||
SceneObjectGroup newsog = sogs[0];
|
||||
|
||||
SceneObjectPart[] newparts = newsog.GetParts();
|
||||
|
||||
SceneObjectPart[] newparts = newsog.Parts;
|
||||
Assert.That(newparts.Length,Is.EqualTo(4), "Assert.That(newparts.Length,Is.EqualTo(4))");
|
||||
|
||||
Assert.That(newsog.HasChildPrim(tmp0), "Assert.That(newsog.HasChildPrim(tmp0))");
|
||||
@@ -560,7 +560,7 @@ namespace OpenSim.Data.Tests
|
||||
}
|
||||
|
||||
SceneObjectGroup retsog = FindSOG("Test SOG", region4);
|
||||
SceneObjectPart[] parts = retsog.GetParts();
|
||||
SceneObjectPart[] parts = retsog.Parts;
|
||||
for (int i=0;i<30;i++)
|
||||
{
|
||||
SceneObjectPart cursop = mydic[parts[i].UUID];
|
||||
@@ -607,7 +607,7 @@ namespace OpenSim.Data.Tests
|
||||
sog.AddPart(p2);
|
||||
sog.AddPart(p3);
|
||||
|
||||
SceneObjectPart[] parts = sog.GetParts();
|
||||
SceneObjectPart[] parts = sog.Parts;
|
||||
Assert.That(parts.Length, Is.EqualTo(4), "Assert.That(parts.Length,Is.EqualTo(4))");
|
||||
|
||||
db.StoreObject(sog, newregion);
|
||||
@@ -615,7 +615,7 @@ namespace OpenSim.Data.Tests
|
||||
Assert.That(sogs.Count, Is.EqualTo(1), "Assert.That(sogs.Count,Is.EqualTo(1))");
|
||||
SceneObjectGroup newsog = sogs[0];
|
||||
|
||||
SceneObjectPart[] newparts = newsog.GetParts();
|
||||
SceneObjectPart[] newparts = newsog.Parts;
|
||||
Assert.That(newparts.Length, Is.EqualTo(4), "Assert.That(newparts.Length,Is.EqualTo(4))");
|
||||
|
||||
Assert.That(newsog, Constraints.PropertyCompareConstraint(sog)
|
||||
@@ -625,7 +625,7 @@ namespace OpenSim.Data.Tests
|
||||
.IgnoreProperty(x=>x.RegionHandle)
|
||||
.IgnoreProperty(x=>x.RegionUUID)
|
||||
.IgnoreProperty(x=>x.Scene)
|
||||
.IgnoreProperty(x=>x.Children)
|
||||
.IgnoreProperty(x=>x.Parts)
|
||||
.IgnoreProperty(x=>x.PassCollision)
|
||||
.IgnoreProperty(x=>x.RootPart));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user