From e4df1de58b5f267f24f0b30713c1718f30e689f0 Mon Sep 17 00:00:00 2001 From: Sean Dague Date: Tue, 7 Aug 2007 15:45:16 +0000 Subject: actually transfer some data to the row definition. Going to hook this up to the sim in my env now to make sure we're getting data flow in a reasonable way at this point. --- .../OpenSim.DataStore.Sqlite/SqliteDataStore.cs | 24 +++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) (limited to 'OpenSim') diff --git a/OpenSim/Region/Storage/OpenSim.DataStore.Sqlite/SqliteDataStore.cs b/OpenSim/Region/Storage/OpenSim.DataStore.Sqlite/SqliteDataStore.cs index 14b239f..d72cc2d 100644 --- a/OpenSim/Region/Storage/OpenSim.DataStore.Sqlite/SqliteDataStore.cs +++ b/OpenSim/Region/Storage/OpenSim.DataStore.Sqlite/SqliteDataStore.cs @@ -56,7 +56,7 @@ namespace OpenSim.DataStore.SqliteStorage public void StoreObject(AllNewSceneObjectPart2 obj) { - // TODO: Serializing code + // TODO: Serializing code DataTable prims = ds.Tables["prims"]; DataTable shapes = ds.Tables["shapes"]; @@ -64,16 +64,34 @@ namespace OpenSim.DataStore.SqliteStorage } + private void fillPrimRow(DataRow row, Primitive prim) + { + row["UUID"] = prim.UUID; + row["CreationDate"] = prim.CreationDate; + row["Name"] = prim.Name; + row["PositionX"] = prim.Pos.X; + row["PositionY"] = prim.Pos.Y; + row["PositionZ"] = prim.Pos.Z; + } + private void addPrim(Primitive prim) { DataTable prims = ds.Tables["prims"]; DataTable shapes = ds.Tables["shapes"]; - DataRow row; + + DataRow row = prims.Rows.Find(prim.UUID); + if (row == null) { + row = prims.NewRow(); + fillPrimRow(row, prim); + prims.Rows.Add(row); + } else { + fillPrimRow(row, prim); + } } public void StoreObject(SceneObject obj) { - foreach (Primitive prim in obj.Children.Values) + foreach (Primitive prim in obj.Children.Values) { addPrim(prim); } -- cgit v1.1