aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorMelanie2012-06-26 10:47:35 +0200
committerMelanie2012-06-26 10:47:35 +0200
commitfcb34efa95ebdd3200cfb9100329a544c6db658e (patch)
tree222483c5750e263540b55a8c5d26b8ff123c3819
parentReapply the one change that was in the revert that was actually function, not (diff)
downloadopensim-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 '')
-rw-r--r--OpenSim/Data/MySQL/MySQLSimulationData.cs60
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)