* Resolve http://opensimulator.org/mantis/view.php?id=2743 and http://opensimulator.org/mantis/view.php?id=2739 by no longer bothering to store or retrieve the local parentID in

the region database
* The original issue is that the now randomly generated local ids do not fit into the int parentID datatype
* However, as far as I know it's actually pointless to store this local parent ID anyway (we already store the groupUUID), especially as we don't bother to store the localID (as 
opposed to UUID itself).
* Conservatively, the actual column will be removed in a later commit
0.6.1-post-fixes
Justin Clarke Casey 2008-12-02 14:59:52 +00:00
parent 5588cb3e92
commit 26fd6c741f
2 changed files with 3 additions and 8 deletions

View File

@ -163,7 +163,7 @@ namespace OpenSim.Data.MySQL
cmd.Parameters.Clear(); cmd.Parameters.Clear();
cmd.CommandText = "replace into prims ("+ cmd.CommandText = "replace into prims ("+
"UUID, ParentID, CreationDate, "+ "UUID, CreationDate, "+
"Name, Text, Description, "+ "Name, Text, Description, "+
"SitName, TouchName, ObjectFlags, "+ "SitName, TouchName, ObjectFlags, "+
"OwnerMask, NextOwnerMask, GroupMask, "+ "OwnerMask, NextOwnerMask, GroupMask, "+
@ -196,7 +196,7 @@ namespace OpenSim.Data.MySQL
"ColorR, ColorG, ColorB, ColorA, "+ "ColorR, ColorG, ColorB, ColorA, "+
"ParticleSystem, ClickAction, Material, "+ "ParticleSystem, ClickAction, Material, "+
"CollisionSound, CollisionSoundVolume, "+ "CollisionSound, CollisionSoundVolume, "+
"LinkNumber) values (" + "?UUID, ?ParentID, "+ "LinkNumber) values (" + "?UUID, "+
"?CreationDate, ?Name, ?Text, "+ "?CreationDate, ?Name, ?Text, "+
"?Description, ?SitName, ?TouchName, "+ "?Description, ?SitName, ?TouchName, "+
"?ObjectFlags, ?OwnerMask, ?NextOwnerMask, "+ "?ObjectFlags, ?OwnerMask, ?NextOwnerMask, "+
@ -750,7 +750,6 @@ namespace OpenSim.Data.MySQL
prim.UUID = new UUID((String) row["UUID"]); prim.UUID = new UUID((String) row["UUID"]);
// explicit conversion of integers is required, which sort // explicit conversion of integers is required, which sort
// of sucks. No idea if there is a shortcut here or not. // of sucks. No idea if there is a shortcut here or not.
prim.ParentID = Convert.ToUInt32(row["ParentID"]);
prim.CreationDate = Convert.ToInt32(row["CreationDate"]); prim.CreationDate = Convert.ToInt32(row["CreationDate"]);
prim.Name = (String) row["Name"]; prim.Name = (String) row["Name"];
// various text fields // various text fields
@ -1067,7 +1066,7 @@ namespace OpenSim.Data.MySQL
} }
/// <summary> /// <summary>
/// /// Fill the prim command with prim values
/// </summary> /// </summary>
/// <param name="row"></param> /// <param name="row"></param>
/// <param name="prim"></param> /// <param name="prim"></param>
@ -1077,7 +1076,6 @@ namespace OpenSim.Data.MySQL
{ {
cmd.Parameters.AddWithValue("UUID", Util.ToRawUuidString(prim.UUID)); cmd.Parameters.AddWithValue("UUID", Util.ToRawUuidString(prim.UUID));
cmd.Parameters.AddWithValue("RegionUUID", Util.ToRawUuidString(regionUUID)); cmd.Parameters.AddWithValue("RegionUUID", Util.ToRawUuidString(regionUUID));
cmd.Parameters.AddWithValue("ParentID", prim.ParentID);
cmd.Parameters.AddWithValue("CreationDate", prim.CreationDate); cmd.Parameters.AddWithValue("CreationDate", prim.CreationDate);
cmd.Parameters.AddWithValue("Name", prim.Name); cmd.Parameters.AddWithValue("Name", prim.Name);
cmd.Parameters.AddWithValue("SceneGroupID", Util.ToRawUuidString(sceneGroupID)); cmd.Parameters.AddWithValue("SceneGroupID", Util.ToRawUuidString(sceneGroupID));

View File

@ -783,7 +783,6 @@ namespace OpenSim.Data.SQLite
createCol(prims, "UUID", typeof (String)); createCol(prims, "UUID", typeof (String));
createCol(prims, "RegionUUID", typeof (String)); createCol(prims, "RegionUUID", typeof (String));
createCol(prims, "ParentID", typeof (UInt32));
createCol(prims, "CreationDate", typeof (Int32)); createCol(prims, "CreationDate", typeof (Int32));
createCol(prims, "Name", typeof (String)); createCol(prims, "Name", typeof (String));
createCol(prims, "SceneGroupID", typeof (String)); createCol(prims, "SceneGroupID", typeof (String));
@ -1118,7 +1117,6 @@ namespace OpenSim.Data.SQLite
prim.UUID = new UUID((String) row["UUID"]); prim.UUID = new UUID((String) row["UUID"]);
// explicit conversion of integers is required, which sort // explicit conversion of integers is required, which sort
// of sucks. No idea if there is a shortcut here or not. // of sucks. No idea if there is a shortcut here or not.
prim.ParentID = Convert.ToUInt32(row["ParentID"]);
prim.CreationDate = Convert.ToInt32(row["CreationDate"]); prim.CreationDate = Convert.ToInt32(row["CreationDate"]);
prim.Name = (String) row["Name"]; prim.Name = (String) row["Name"];
// various text fields // various text fields
@ -1454,7 +1452,6 @@ namespace OpenSim.Data.SQLite
{ {
row["UUID"] = Util.ToRawUuidString(prim.UUID); row["UUID"] = Util.ToRawUuidString(prim.UUID);
row["RegionUUID"] = Util.ToRawUuidString(regionUUID); row["RegionUUID"] = Util.ToRawUuidString(regionUUID);
row["ParentID"] = prim.ParentID;
row["CreationDate"] = prim.CreationDate; row["CreationDate"] = prim.CreationDate;
row["Name"] = prim.Name; row["Name"] = prim.Name;
row["SceneGroupID"] = Util.ToRawUuidString(sceneGroupID); row["SceneGroupID"] = Util.ToRawUuidString(sceneGroupID);