Fix up other sqlite db interactions to use non-hyphenated uuid
Inventory contents retrieval and persistent region storage standalone now appear to work as well as they did before :) This patch will not fix grid problems. May be bugs present due to conversions I didn't spot. I personally probably don't have any more time for this today. I'm also not entirely convinced this is the right way forward so this might be a handy pause for thought. I'll also be delighted if I wake up tommorrow and everything is fine again.afrisby
parent
dd1e2c8eb9
commit
f1ebe79824
|
@ -79,7 +79,7 @@ namespace OpenSim.Framework.Data.SQLite
|
||||||
public AssetBase FetchAsset(LLUUID uuid)
|
public AssetBase FetchAsset(LLUUID uuid)
|
||||||
{
|
{
|
||||||
AssetBase asset = new AssetBase();
|
AssetBase asset = new AssetBase();
|
||||||
DataRow row = ds.Tables["assets"].Rows.Find(uuid);
|
DataRow row = ds.Tables["assets"].Rows.Find(Util.ToRawUuidString(uuid));
|
||||||
if (row != null)
|
if (row != null)
|
||||||
{
|
{
|
||||||
return buildAsset(row);
|
return buildAsset(row);
|
||||||
|
@ -103,7 +103,7 @@ namespace OpenSim.Framework.Data.SQLite
|
||||||
DataTable assets = ds.Tables["assets"];
|
DataTable assets = ds.Tables["assets"];
|
||||||
lock (ds)
|
lock (ds)
|
||||||
{
|
{
|
||||||
DataRow row = assets.Rows.Find(asset.FullID);
|
DataRow row = assets.Rows.Find(Util.ToRawUuidString(asset.FullID));
|
||||||
if (row == null)
|
if (row == null)
|
||||||
{
|
{
|
||||||
row = assets.NewRow();
|
row = assets.NewRow();
|
||||||
|
@ -130,7 +130,7 @@ namespace OpenSim.Framework.Data.SQLite
|
||||||
|
|
||||||
public bool ExistsAsset(LLUUID uuid)
|
public bool ExistsAsset(LLUUID uuid)
|
||||||
{
|
{
|
||||||
DataRow row = ds.Tables["assets"].Rows.Find(uuid);
|
DataRow row = ds.Tables["assets"].Rows.Find(Util.ToRawUuidString(uuid));
|
||||||
return (row != null);
|
return (row != null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -138,7 +138,7 @@ namespace OpenSim.Framework.Data.SQLite
|
||||||
{
|
{
|
||||||
lock (ds)
|
lock (ds)
|
||||||
{
|
{
|
||||||
DataRow row = ds.Tables["assets"].Rows.Find(uuid);
|
DataRow row = ds.Tables["assets"].Rows.Find(Util.ToRawUuidString(uuid));
|
||||||
if (row != null)
|
if (row != null)
|
||||||
{
|
{
|
||||||
row.Delete();
|
row.Delete();
|
||||||
|
@ -210,7 +210,7 @@ namespace OpenSim.Framework.Data.SQLite
|
||||||
|
|
||||||
private void fillAssetRow(DataRow row, AssetBase asset)
|
private void fillAssetRow(DataRow row, AssetBase asset)
|
||||||
{
|
{
|
||||||
row["UUID"] = asset.FullID;
|
row["UUID"] = Util.ToRawUuidString(asset.FullID);
|
||||||
row["Name"] = asset.Name;
|
row["Name"] = asset.Name;
|
||||||
if (asset.Description != null)
|
if (asset.Description != null)
|
||||||
{
|
{
|
||||||
|
|
|
@ -119,7 +119,7 @@ namespace OpenSim.Framework.Data.SQLite
|
||||||
public RegionProfileData GetProfileByLLUUID(LLUUID uuid)
|
public RegionProfileData GetProfileByLLUUID(LLUUID uuid)
|
||||||
{
|
{
|
||||||
Dictionary<string, string> param = new Dictionary<string, string>();
|
Dictionary<string, string> param = new Dictionary<string, string>();
|
||||||
param["uuid"] = uuid.ToString();
|
param["uuid"] = Util.ToRawUuidString(uuid);
|
||||||
|
|
||||||
IDbCommand result = database.Query("SELECT * FROM regions WHERE uuid = @uuid", param);
|
IDbCommand result = database.Query("SELECT * FROM regions WHERE uuid = @uuid", param);
|
||||||
IDataReader reader = result.ExecuteReader();
|
IDataReader reader = result.ExecuteReader();
|
||||||
|
@ -190,7 +190,7 @@ namespace OpenSim.Framework.Data.SQLite
|
||||||
SHA512Managed HashProvider = new SHA512Managed();
|
SHA512Managed HashProvider = new SHA512Managed();
|
||||||
ASCIIEncoding TextProvider = new ASCIIEncoding();
|
ASCIIEncoding TextProvider = new ASCIIEncoding();
|
||||||
|
|
||||||
byte[] stream = TextProvider.GetBytes(uuid.ToString() + ":" + handle.ToString() + ":" + challenge);
|
byte[] stream = TextProvider.GetBytes(Util.ToRawUuidString(uuid) + ":" + handle.ToString() + ":" + challenge);
|
||||||
byte[] hash = HashProvider.ComputeHash(stream);
|
byte[] hash = HashProvider.ComputeHash(stream);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -77,11 +77,11 @@ namespace OpenSim.Framework.Data.SQLite
|
||||||
{
|
{
|
||||||
lock (ds)
|
lock (ds)
|
||||||
{
|
{
|
||||||
DataRow row = ds.Tables["users"].Rows.Find(uuid);
|
DataRow row = ds.Tables["users"].Rows.Find(Util.ToRawUuidString(uuid));
|
||||||
if (row != null)
|
if (row != null)
|
||||||
{
|
{
|
||||||
UserProfileData user = buildUserProfile(row);
|
UserProfileData user = buildUserProfile(row);
|
||||||
row = ds.Tables["useragents"].Rows.Find(uuid);
|
row = ds.Tables["useragents"].Rows.Find(Util.ToRawUuidString(uuid));
|
||||||
if (row != null)
|
if (row != null)
|
||||||
{
|
{
|
||||||
user.currentAgent = buildUserAgent(row);
|
user.currentAgent = buildUserAgent(row);
|
||||||
|
@ -105,7 +105,7 @@ namespace OpenSim.Framework.Data.SQLite
|
||||||
if (rows.Length > 0)
|
if (rows.Length > 0)
|
||||||
{
|
{
|
||||||
UserProfileData user = buildUserProfile(rows[0]);
|
UserProfileData user = buildUserProfile(rows[0]);
|
||||||
DataRow row = ds.Tables["useragents"].Rows.Find(user.UUID);
|
DataRow row = ds.Tables["useragents"].Rows.Find(Util.ToRawUuidString(user.UUID));
|
||||||
if (row != null)
|
if (row != null)
|
||||||
{
|
{
|
||||||
user.currentAgent = buildUserAgent(row);
|
user.currentAgent = buildUserAgent(row);
|
||||||
|
@ -220,7 +220,7 @@ namespace OpenSim.Framework.Data.SQLite
|
||||||
DataTable users = ds.Tables["users"];
|
DataTable users = ds.Tables["users"];
|
||||||
lock (ds)
|
lock (ds)
|
||||||
{
|
{
|
||||||
DataRow row = users.Rows.Find(user.UUID);
|
DataRow row = users.Rows.Find(Util.ToRawUuidString(user.UUID));
|
||||||
if (row == null)
|
if (row == null)
|
||||||
{
|
{
|
||||||
row = users.NewRow();
|
row = users.NewRow();
|
||||||
|
@ -238,7 +238,7 @@ namespace OpenSim.Framework.Data.SQLite
|
||||||
if (user.currentAgent != null)
|
if (user.currentAgent != null)
|
||||||
{
|
{
|
||||||
DataTable ua = ds.Tables["useragents"];
|
DataTable ua = ds.Tables["useragents"];
|
||||||
row = ua.Rows.Find(user.UUID);
|
row = ua.Rows.Find(Util.ToRawUuidString(user.UUID));
|
||||||
if (row == null)
|
if (row == null)
|
||||||
{
|
{
|
||||||
row = ua.NewRow();
|
row = ua.NewRow();
|
||||||
|
@ -255,7 +255,7 @@ namespace OpenSim.Framework.Data.SQLite
|
||||||
// I just added this to help the standalone login situation.
|
// I just added this to help the standalone login situation.
|
||||||
//It still needs to be looked at by a Database guy
|
//It still needs to be looked at by a Database guy
|
||||||
DataTable ua = ds.Tables["useragents"];
|
DataTable ua = ds.Tables["useragents"];
|
||||||
row = ua.Rows.Find(user.UUID);
|
row = ua.Rows.Find(Util.ToRawUuidString(user.UUID));
|
||||||
|
|
||||||
if (row == null)
|
if (row == null)
|
||||||
{
|
{
|
||||||
|
|
|
@ -385,7 +385,7 @@ namespace OpenSim.Framework
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Convert an LLUUID to a raw uuid string. This is a string without hyphens.
|
/// Convert an LLUUID to a raw uuid string. Right now this is a string without hyphens.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="lluuid"></param>
|
/// <param name="lluuid"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
|
|
|
@ -175,12 +175,12 @@ namespace OpenSim.DataStore.MonoSqlite
|
||||||
if ((prim.ObjectFlags & (uint)LLObject.ObjectFlags.Physics) == 0)
|
if ((prim.ObjectFlags & (uint)LLObject.ObjectFlags.Physics) == 0)
|
||||||
{
|
{
|
||||||
MainLog.Instance.Verbose("DATASTORE", "Adding obj: " + obj.UUID + " to region: " + regionUUID);
|
MainLog.Instance.Verbose("DATASTORE", "Adding obj: " + obj.UUID + " to region: " + regionUUID);
|
||||||
addPrim(prim, obj.UUID, regionUUID);
|
addPrim(prim, Util.ToRawUuidString(obj.UUID), Util.ToRawUuidString(regionUUID));
|
||||||
}
|
}
|
||||||
else if (Stopped(prim))
|
else if (Stopped(prim))
|
||||||
{
|
{
|
||||||
MainLog.Instance.Verbose("DATASTORE", "Adding stopped obj: " + obj.UUID + " to region: " + regionUUID);
|
MainLog.Instance.Verbose("DATASTORE", "Adding stopped obj: " + obj.UUID + " to region: " + regionUUID);
|
||||||
addPrim(prim, obj.UUID, regionUUID);
|
addPrim(prim, Util.ToRawUuidString(obj.UUID), Util.ToRawUuidString(regionUUID));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -199,7 +199,7 @@ namespace OpenSim.DataStore.MonoSqlite
|
||||||
DataTable prims = ds.Tables["prims"];
|
DataTable prims = ds.Tables["prims"];
|
||||||
DataTable shapes = ds.Tables["primshapes"];
|
DataTable shapes = ds.Tables["primshapes"];
|
||||||
|
|
||||||
string selectExp = "SceneGroupID = '" + obj.ToString() + "'";
|
string selectExp = "SceneGroupID = '" + Util.ToRawUuidString(obj) + "'";
|
||||||
lock (ds)
|
lock (ds)
|
||||||
{
|
{
|
||||||
DataRow[] primRows = prims.Select(selectExp);
|
DataRow[] primRows = prims.Select(selectExp);
|
||||||
|
@ -227,7 +227,7 @@ namespace OpenSim.DataStore.MonoSqlite
|
||||||
DataTable prims = ds.Tables["prims"];
|
DataTable prims = ds.Tables["prims"];
|
||||||
DataTable shapes = ds.Tables["primshapes"];
|
DataTable shapes = ds.Tables["primshapes"];
|
||||||
|
|
||||||
string byRegion = "RegionUUID = '" + regionUUID.ToString() + "'";
|
string byRegion = "RegionUUID = '" + Util.ToRawUuidString(regionUUID) + "'";
|
||||||
string orderByParent = "ParentID ASC";
|
string orderByParent = "ParentID ASC";
|
||||||
|
|
||||||
lock (ds)
|
lock (ds)
|
||||||
|
@ -246,7 +246,7 @@ namespace OpenSim.DataStore.MonoSqlite
|
||||||
{
|
{
|
||||||
SceneObjectGroup group = new SceneObjectGroup();
|
SceneObjectGroup group = new SceneObjectGroup();
|
||||||
SceneObjectPart prim = buildPrim(primRow);
|
SceneObjectPart prim = buildPrim(primRow);
|
||||||
DataRow shapeRow = shapes.Rows.Find(prim.UUID);
|
DataRow shapeRow = shapes.Rows.Find(Util.ToRawUuidString(prim.UUID));
|
||||||
if (shapeRow != null)
|
if (shapeRow != null)
|
||||||
{
|
{
|
||||||
prim.Shape = buildShape(shapeRow);
|
prim.Shape = buildShape(shapeRow);
|
||||||
|
@ -260,13 +260,13 @@ namespace OpenSim.DataStore.MonoSqlite
|
||||||
group.AddPart(prim);
|
group.AddPart(prim);
|
||||||
group.RootPart = prim;
|
group.RootPart = prim;
|
||||||
|
|
||||||
createdObjects.Add(group.UUID, group);
|
createdObjects.Add(Util.ToRawUuidString(group.UUID), group);
|
||||||
retvals.Add(group);
|
retvals.Add(group);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SceneObjectPart prim = buildPrim(primRow);
|
SceneObjectPart prim = buildPrim(primRow);
|
||||||
DataRow shapeRow = shapes.Rows.Find(prim.UUID);
|
DataRow shapeRow = shapes.Rows.Find(Util.ToRawUuidString(prim.UUID));
|
||||||
if (shapeRow != null)
|
if (shapeRow != null)
|
||||||
{
|
{
|
||||||
prim.Shape = buildShape(shapeRow);
|
prim.Shape = buildShape(shapeRow);
|
||||||
|
@ -310,7 +310,7 @@ namespace OpenSim.DataStore.MonoSqlite
|
||||||
|
|
||||||
using(SqliteCommand cmd = new SqliteCommand(sql, conn))
|
using(SqliteCommand cmd = new SqliteCommand(sql, conn))
|
||||||
{
|
{
|
||||||
cmd.Parameters.Add(new SqliteParameter(":RegionUUID", regionID.ToString()));
|
cmd.Parameters.Add(new SqliteParameter(":RegionUUID", Util.ToRawUuidString(regionID)));
|
||||||
cmd.Parameters.Add(new SqliteParameter(":Revision", revision));
|
cmd.Parameters.Add(new SqliteParameter(":Revision", revision));
|
||||||
cmd.Parameters.Add(new SqliteParameter(":Heightfield", serializeTerrain(ter)));
|
cmd.Parameters.Add(new SqliteParameter(":Heightfield", serializeTerrain(ter)));
|
||||||
cmd.ExecuteNonQuery();
|
cmd.ExecuteNonQuery();
|
||||||
|
@ -325,7 +325,7 @@ namespace OpenSim.DataStore.MonoSqlite
|
||||||
|
|
||||||
using(SqliteCommand cmd = new SqliteCommand("delete from terrain where RegionUUID=:RegionUUID and Revision < :Revision", conn))
|
using(SqliteCommand cmd = new SqliteCommand("delete from terrain where RegionUUID=:RegionUUID and Revision < :Revision", conn))
|
||||||
{
|
{
|
||||||
cmd.Parameters.Add(new SqliteParameter(":RegionUUID", regionID.ToString()));
|
cmd.Parameters.Add(new SqliteParameter(":RegionUUID", Util.ToRawUuidString(regionID)));
|
||||||
cmd.Parameters.Add(new SqliteParameter(":Revision", revision));
|
cmd.Parameters.Add(new SqliteParameter(":Revision", revision));
|
||||||
cmd.ExecuteNonQuery();
|
cmd.ExecuteNonQuery();
|
||||||
}
|
}
|
||||||
|
@ -348,7 +348,7 @@ namespace OpenSim.DataStore.MonoSqlite
|
||||||
|
|
||||||
using (SqliteCommand cmd = new SqliteCommand(sql, conn))
|
using (SqliteCommand cmd = new SqliteCommand(sql, conn))
|
||||||
{
|
{
|
||||||
cmd.Parameters.Add(new SqliteParameter(":RegionUUID", regionID.ToString()));
|
cmd.Parameters.Add(new SqliteParameter(":RegionUUID", Util.ToRawUuidString(regionID)));
|
||||||
|
|
||||||
using (IDataReader row = cmd.ExecuteReader())
|
using (IDataReader row = cmd.ExecuteReader())
|
||||||
{
|
{
|
||||||
|
@ -390,13 +390,13 @@ namespace OpenSim.DataStore.MonoSqlite
|
||||||
|
|
||||||
using (SqliteCommand cmd = new SqliteCommand("delete from land where UUID=:UUID", conn))
|
using (SqliteCommand cmd = new SqliteCommand("delete from land where UUID=:UUID", conn))
|
||||||
{
|
{
|
||||||
cmd.Parameters.Add(new SqliteParameter(":UUID", globalID.ToString()));
|
cmd.Parameters.Add(new SqliteParameter(":UUID", Util.ToRawUuidString(globalID)));
|
||||||
cmd.ExecuteNonQuery();
|
cmd.ExecuteNonQuery();
|
||||||
}
|
}
|
||||||
|
|
||||||
using (SqliteCommand cmd = new SqliteCommand("delete from landaccesslist where LandUUID=:UUID", conn))
|
using (SqliteCommand cmd = new SqliteCommand("delete from landaccesslist where LandUUID=:UUID", conn))
|
||||||
{
|
{
|
||||||
cmd.Parameters.Add(new SqliteParameter(":UUID", globalID.ToString()));
|
cmd.Parameters.Add(new SqliteParameter(":UUID", Util.ToRawUuidString(globalID)));
|
||||||
cmd.ExecuteNonQuery();
|
cmd.ExecuteNonQuery();
|
||||||
}
|
}
|
||||||
conn.Close();
|
conn.Close();
|
||||||
|
@ -412,7 +412,7 @@ namespace OpenSim.DataStore.MonoSqlite
|
||||||
DataTable land = ds.Tables["land"];
|
DataTable land = ds.Tables["land"];
|
||||||
DataTable landaccesslist = ds.Tables["landaccesslist"];
|
DataTable landaccesslist = ds.Tables["landaccesslist"];
|
||||||
|
|
||||||
DataRow landRow = land.Rows.Find(parcel.landData.globalID.ToString());
|
DataRow landRow = land.Rows.Find(Util.ToRawUuidString(parcel.landData.globalID));
|
||||||
if (landRow == null)
|
if (landRow == null)
|
||||||
{
|
{
|
||||||
landRow = land.NewRow();
|
landRow = land.NewRow();
|
||||||
|
@ -426,7 +426,7 @@ namespace OpenSim.DataStore.MonoSqlite
|
||||||
|
|
||||||
using (SqliteCommand cmd = new SqliteCommand("delete from landaccesslist where LandUUID=:LandUUID", conn))
|
using (SqliteCommand cmd = new SqliteCommand("delete from landaccesslist where LandUUID=:LandUUID", conn))
|
||||||
{
|
{
|
||||||
cmd.Parameters.Add(new SqliteParameter(":LandUUID", parcel.landData.globalID.ToString()));
|
cmd.Parameters.Add(new SqliteParameter(":LandUUID", Util.ToRawUuidString(parcel.landData.globalID)));
|
||||||
cmd.ExecuteNonQuery();
|
cmd.ExecuteNonQuery();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -450,12 +450,12 @@ namespace OpenSim.DataStore.MonoSqlite
|
||||||
{
|
{
|
||||||
DataTable land = ds.Tables["land"];
|
DataTable land = ds.Tables["land"];
|
||||||
DataTable landaccesslist = ds.Tables["landaccesslist"];
|
DataTable landaccesslist = ds.Tables["landaccesslist"];
|
||||||
string searchExp = "RegionUUID = '" + regionUUID.ToString() + "'";
|
string searchExp = "RegionUUID = '" + Util.ToRawUuidString(regionUUID) + "'";
|
||||||
DataRow[] rawDataForRegion = land.Select(searchExp);
|
DataRow[] rawDataForRegion = land.Select(searchExp);
|
||||||
foreach (DataRow rawDataLand in rawDataForRegion)
|
foreach (DataRow rawDataLand in rawDataForRegion)
|
||||||
{
|
{
|
||||||
LandData newLand = buildLandData(rawDataLand);
|
LandData newLand = buildLandData(rawDataLand);
|
||||||
string accessListSearchExp = "LandUUID = '" + newLand.globalID.ToString() + "'";
|
string accessListSearchExp = "LandUUID = '" + Util.ToRawUuidString(newLand.globalID) + "'";
|
||||||
DataRow[] rawDataForLandAccessList = landaccesslist.Select(accessListSearchExp);
|
DataRow[] rawDataForLandAccessList = landaccesslist.Select(accessListSearchExp);
|
||||||
foreach (DataRow rawDataLandAccess in rawDataForLandAccessList)
|
foreach (DataRow rawDataLandAccess in rawDataForLandAccessList)
|
||||||
{
|
{
|
||||||
|
@ -811,12 +811,12 @@ namespace OpenSim.DataStore.MonoSqlite
|
||||||
|
|
||||||
private void fillPrimRow(DataRow row, SceneObjectPart prim, LLUUID sceneGroupID, LLUUID regionUUID)
|
private void fillPrimRow(DataRow row, SceneObjectPart prim, LLUUID sceneGroupID, LLUUID regionUUID)
|
||||||
{
|
{
|
||||||
row["UUID"] = prim.UUID;
|
row["UUID"] = Util.ToRawUuidString(prim.UUID);
|
||||||
row["RegionUUID"] = regionUUID;
|
row["RegionUUID"] = Util.ToRawUuidString(regionUUID);
|
||||||
row["ParentID"] = prim.ParentID;
|
row["ParentID"] = prim.ParentID;
|
||||||
row["CreationDate"] = prim.CreationDate;
|
row["CreationDate"] = prim.CreationDate;
|
||||||
row["Name"] = prim.Name;
|
row["Name"] = prim.Name;
|
||||||
row["SceneGroupID"] = sceneGroupID; // the UUID of the root part for this SceneObjectGroup
|
row["SceneGroupID"] = Util.ToRawUuidString(sceneGroupID); // the UUID of the root part for this SceneObjectGroup
|
||||||
// various text fields
|
// various text fields
|
||||||
row["Text"] = prim.Text;
|
row["Text"] = prim.Text;
|
||||||
row["Description"] = prim.Description;
|
row["Description"] = prim.Description;
|
||||||
|
@ -824,10 +824,10 @@ namespace OpenSim.DataStore.MonoSqlite
|
||||||
row["TouchName"] = prim.TouchName;
|
row["TouchName"] = prim.TouchName;
|
||||||
// permissions
|
// permissions
|
||||||
row["ObjectFlags"] = prim.ObjectFlags;
|
row["ObjectFlags"] = prim.ObjectFlags;
|
||||||
row["CreatorID"] = prim.CreatorID;
|
row["CreatorID"] = Util.ToRawUuidString(prim.CreatorID);
|
||||||
row["OwnerID"] = prim.OwnerID;
|
row["OwnerID"] = Util.ToRawUuidString(prim.OwnerID);
|
||||||
row["GroupID"] = prim.GroupID;
|
row["GroupID"] = Util.ToRawUuidString(prim.GroupID);
|
||||||
row["LastOwnerID"] = prim.LastOwnerID;
|
row["LastOwnerID"] = Util.ToRawUuidString(prim.LastOwnerID);
|
||||||
row["OwnerMask"] = prim.OwnerMask;
|
row["OwnerMask"] = prim.OwnerMask;
|
||||||
row["NextOwnerMask"] = prim.NextOwnerMask;
|
row["NextOwnerMask"] = prim.NextOwnerMask;
|
||||||
row["GroupMask"] = prim.GroupMask;
|
row["GroupMask"] = prim.GroupMask;
|
||||||
|
@ -858,8 +858,8 @@ namespace OpenSim.DataStore.MonoSqlite
|
||||||
|
|
||||||
private void fillLandRow(DataRow row, LandData land, LLUUID regionUUID)
|
private void fillLandRow(DataRow row, LandData land, LLUUID regionUUID)
|
||||||
{
|
{
|
||||||
row["UUID"] = land.globalID.ToString();
|
row["UUID"] = Util.ToRawUuidString(land.globalID);
|
||||||
row["RegionUUID"] = regionUUID.ToString();
|
row["RegionUUID"] = Util.ToRawUuidString(regionUUID);
|
||||||
row["LocalLandID"] = land.localID;
|
row["LocalLandID"] = land.localID;
|
||||||
|
|
||||||
// Bitmap is a byte[512]
|
// Bitmap is a byte[512]
|
||||||
|
@ -867,25 +867,25 @@ namespace OpenSim.DataStore.MonoSqlite
|
||||||
|
|
||||||
row["Name"] = land.landName;
|
row["Name"] = land.landName;
|
||||||
row["Desc"] = land.landDesc;
|
row["Desc"] = land.landDesc;
|
||||||
row["OwnerUUID"] = land.ownerID.ToString();
|
row["OwnerUUID"] = Util.ToRawUuidString(land.ownerID);
|
||||||
row["IsGroupOwned"] = land.isGroupOwned;
|
row["IsGroupOwned"] = land.isGroupOwned;
|
||||||
row["Area"] = land.area;
|
row["Area"] = land.area;
|
||||||
row["AuctionID"] = land.auctionID; //Unemplemented
|
row["AuctionID"] = land.auctionID; //Unemplemented
|
||||||
row["Category"] = land.category; //Enum libsecondlife.Parcel.ParcelCategory
|
row["Category"] = land.category; //Enum libsecondlife.Parcel.ParcelCategory
|
||||||
row["ClaimDate"] = land.claimDate;
|
row["ClaimDate"] = land.claimDate;
|
||||||
row["ClaimPrice"] = land.claimPrice;
|
row["ClaimPrice"] = land.claimPrice;
|
||||||
row["GroupUUID"] = land.groupID.ToString();
|
row["GroupUUID"] = Util.ToRawUuidString(land.groupID);
|
||||||
row["SalePrice"] = land.salePrice;
|
row["SalePrice"] = land.salePrice;
|
||||||
row["LandStatus"] = land.landStatus; //Enum. libsecondlife.Parcel.ParcelStatus
|
row["LandStatus"] = land.landStatus; //Enum. libsecondlife.Parcel.ParcelStatus
|
||||||
row["LandFlags"] = land.landFlags;
|
row["LandFlags"] = land.landFlags;
|
||||||
row["LandingType"] = land.landingType;
|
row["LandingType"] = land.landingType;
|
||||||
row["MediaAutoScale"] = land.mediaAutoScale;
|
row["MediaAutoScale"] = land.mediaAutoScale;
|
||||||
row["MediaTextureUUID"] = land.mediaID.ToString();
|
row["MediaTextureUUID"] = Util.ToRawUuidString(land.mediaID);
|
||||||
row["MediaURL"] = land.mediaURL;
|
row["MediaURL"] = land.mediaURL;
|
||||||
row["MusicURL"] = land.musicURL;
|
row["MusicURL"] = land.musicURL;
|
||||||
row["PassHours"] = land.passHours;
|
row["PassHours"] = land.passHours;
|
||||||
row["PassPrice"] = land.passPrice;
|
row["PassPrice"] = land.passPrice;
|
||||||
row["SnapshotUUID"] = land.snapshotID.ToString();
|
row["SnapshotUUID"] = Util.ToRawUuidString(land.snapshotID);
|
||||||
row["UserLocationX"] = land.userLocation.X;
|
row["UserLocationX"] = land.userLocation.X;
|
||||||
row["UserLocationY"] = land.userLocation.Y;
|
row["UserLocationY"] = land.userLocation.Y;
|
||||||
row["UserLocationZ"] = land.userLocation.Z;
|
row["UserLocationZ"] = land.userLocation.Z;
|
||||||
|
@ -896,8 +896,8 @@ namespace OpenSim.DataStore.MonoSqlite
|
||||||
|
|
||||||
private void fillLandAccessRow(DataRow row, ParcelManager.ParcelAccessEntry entry, LLUUID parcelID)
|
private void fillLandAccessRow(DataRow row, ParcelManager.ParcelAccessEntry entry, LLUUID parcelID)
|
||||||
{
|
{
|
||||||
row["LandUUID"] = parcelID.ToString();
|
row["LandUUID"] = Util.ToRawUuidString(parcelID);
|
||||||
row["AccessUUID"] = entry.AgentID.ToString();
|
row["AccessUUID"] = Util.ToRawUuidString(entry.AgentID);
|
||||||
row["Flags"] = entry.Flags;
|
row["Flags"] = entry.Flags;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -956,7 +956,7 @@ namespace OpenSim.DataStore.MonoSqlite
|
||||||
private void fillShapeRow(DataRow row, SceneObjectPart prim)
|
private void fillShapeRow(DataRow row, SceneObjectPart prim)
|
||||||
{
|
{
|
||||||
PrimitiveBaseShape s = prim.Shape;
|
PrimitiveBaseShape s = prim.Shape;
|
||||||
row["UUID"] = prim.UUID;
|
row["UUID"] = Util.ToRawUuidString(prim.UUID);
|
||||||
// shape is an enum
|
// shape is an enum
|
||||||
row["Shape"] = 0;
|
row["Shape"] = 0;
|
||||||
// vectors
|
// vectors
|
||||||
|
@ -994,7 +994,7 @@ namespace OpenSim.DataStore.MonoSqlite
|
||||||
DataTable prims = ds.Tables["prims"];
|
DataTable prims = ds.Tables["prims"];
|
||||||
DataTable shapes = ds.Tables["primshapes"];
|
DataTable shapes = ds.Tables["primshapes"];
|
||||||
|
|
||||||
DataRow primRow = prims.Rows.Find(prim.UUID);
|
DataRow primRow = prims.Rows.Find(Util.ToRawUuidString(prim.UUID));
|
||||||
if (primRow == null)
|
if (primRow == null)
|
||||||
{
|
{
|
||||||
primRow = prims.NewRow();
|
primRow = prims.NewRow();
|
||||||
|
@ -1006,7 +1006,7 @@ namespace OpenSim.DataStore.MonoSqlite
|
||||||
fillPrimRow(primRow, prim, sceneGroupID, regionUUID);
|
fillPrimRow(primRow, prim, sceneGroupID, regionUUID);
|
||||||
}
|
}
|
||||||
|
|
||||||
DataRow shapeRow = shapes.Rows.Find(prim.UUID);
|
DataRow shapeRow = shapes.Rows.Find(Util.ToRawUuidString(prim.UUID));
|
||||||
if (shapeRow == null)
|
if (shapeRow == null)
|
||||||
{
|
{
|
||||||
shapeRow = shapes.NewRow();
|
shapeRow = shapes.NewRow();
|
||||||
|
|
Loading…
Reference in New Issue