diff options
author | Melanie | 2012-06-26 10:47:35 +0200 |
---|---|---|
committer | Melanie | 2012-06-26 10:47:35 +0200 |
commit | fcb34efa95ebdd3200cfb9100329a544c6db658e (patch) | |
tree | 222483c5750e263540b55a8c5d26b8ff123c3819 /OpenSim | |
parent | Reapply the one change that was in the revert that was actually function, not (diff) | |
download | opensim-SC-fcb34efa95ebdd3200cfb9100329a544c6db658e.zip opensim-SC-fcb34efa95ebdd3200cfb9100329a544c6db658e.tar.gz opensim-SC-fcb34efa95ebdd3200cfb9100329a544c6db658e.tar.bz2 opensim-SC-fcb34efa95ebdd3200cfb9100329a544c6db658e.tar.xz |
Prevent bad prim in the database from crashing the sim, list affected
ids and skip them.
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Data/MySQL/MySQLSimulationData.cs | 60 |
1 files changed, 34 insertions, 26 deletions
diff --git a/OpenSim/Data/MySQL/MySQLSimulationData.cs b/OpenSim/Data/MySQL/MySQLSimulationData.cs index 1999d89..5e4df3a 100644 --- a/OpenSim/Data/MySQL/MySQLSimulationData.cs +++ b/OpenSim/Data/MySQL/MySQLSimulationData.cs | |||
@@ -1269,32 +1269,40 @@ namespace OpenSim.Data.MySQL | |||
1269 | /// <returns></returns> | 1269 | /// <returns></returns> |
1270 | private static TaskInventoryItem BuildItem(IDataReader row) | 1270 | private static TaskInventoryItem BuildItem(IDataReader row) |
1271 | { | 1271 | { |
1272 | TaskInventoryItem taskItem = new TaskInventoryItem(); | 1272 | try |
1273 | 1273 | { | |
1274 | taskItem.ItemID = DBGuid.FromDB(row["itemID"]); | 1274 | TaskInventoryItem taskItem = new TaskInventoryItem(); |
1275 | taskItem.ParentPartID = DBGuid.FromDB(row["primID"]); | 1275 | |
1276 | taskItem.AssetID = DBGuid.FromDB(row["assetID"]); | 1276 | taskItem.ItemID = DBGuid.FromDB(row["itemID"]); |
1277 | taskItem.ParentID = DBGuid.FromDB(row["parentFolderID"]); | 1277 | taskItem.ParentPartID = DBGuid.FromDB(row["primID"]); |
1278 | 1278 | taskItem.AssetID = DBGuid.FromDB(row["assetID"]); | |
1279 | taskItem.InvType = Convert.ToInt32(row["invType"]); | 1279 | taskItem.ParentID = DBGuid.FromDB(row["parentFolderID"]); |
1280 | taskItem.Type = Convert.ToInt32(row["assetType"]); | 1280 | |
1281 | 1281 | taskItem.InvType = Convert.ToInt32(row["invType"]); | |
1282 | taskItem.Name = (String)row["name"]; | 1282 | taskItem.Type = Convert.ToInt32(row["assetType"]); |
1283 | taskItem.Description = (String)row["description"]; | 1283 | |
1284 | taskItem.CreationDate = Convert.ToUInt32(row["creationDate"]); | 1284 | taskItem.Name = (String)row["name"]; |
1285 | taskItem.CreatorIdentification = (String)row["creatorID"]; | 1285 | taskItem.Description = (String)row["description"]; |
1286 | taskItem.OwnerID = DBGuid.FromDB(row["ownerID"]); | 1286 | taskItem.CreationDate = Convert.ToUInt32(row["creationDate"]); |
1287 | taskItem.LastOwnerID = DBGuid.FromDB(row["lastOwnerID"]); | 1287 | taskItem.CreatorIdentification = (String)row["creatorID"]; |
1288 | taskItem.GroupID = DBGuid.FromDB(row["groupID"]); | 1288 | taskItem.OwnerID = DBGuid.FromDB(row["ownerID"]); |
1289 | 1289 | taskItem.LastOwnerID = DBGuid.FromDB(row["lastOwnerID"]); | |
1290 | taskItem.NextPermissions = Convert.ToUInt32(row["nextPermissions"]); | 1290 | taskItem.GroupID = DBGuid.FromDB(row["groupID"]); |
1291 | taskItem.CurrentPermissions = Convert.ToUInt32(row["currentPermissions"]); | 1291 | |
1292 | taskItem.BasePermissions = Convert.ToUInt32(row["basePermissions"]); | 1292 | taskItem.NextPermissions = Convert.ToUInt32(row["nextPermissions"]); |
1293 | taskItem.EveryonePermissions = Convert.ToUInt32(row["everyonePermissions"]); | 1293 | taskItem.CurrentPermissions = Convert.ToUInt32(row["currentPermissions"]); |
1294 | taskItem.GroupPermissions = Convert.ToUInt32(row["groupPermissions"]); | 1294 | taskItem.BasePermissions = Convert.ToUInt32(row["basePermissions"]); |
1295 | taskItem.Flags = Convert.ToUInt32(row["flags"]); | 1295 | taskItem.EveryonePermissions = Convert.ToUInt32(row["everyonePermissions"]); |
1296 | 1296 | taskItem.GroupPermissions = Convert.ToUInt32(row["groupPermissions"]); | |
1297 | return taskItem; | 1297 | taskItem.Flags = Convert.ToUInt32(row["flags"]); |
1298 | |||
1299 | return taskItem; | ||
1300 | } | ||
1301 | catch | ||
1302 | { | ||
1303 | m_log.ErrorFormat("[MYSQL DB]: Error reading task inventory: itemID was {0}, primID was {1}", row["itemID"].ToString(), row["primID"].ToString()); | ||
1304 | throw; | ||
1305 | } | ||
1298 | } | 1306 | } |
1299 | 1307 | ||
1300 | private static RegionSettings BuildRegionSettings(IDataReader row) | 1308 | private static RegionSettings BuildRegionSettings(IDataReader row) |