aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/Data.MySQL
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Framework/Data.MySQL')
-rw-r--r--OpenSim/Framework/Data.MySQL/MySQLDataStore.cs41
1 files changed, 22 insertions, 19 deletions
diff --git a/OpenSim/Framework/Data.MySQL/MySQLDataStore.cs b/OpenSim/Framework/Data.MySQL/MySQLDataStore.cs
index 183a2f9..50623df 100644
--- a/OpenSim/Framework/Data.MySQL/MySQLDataStore.cs
+++ b/OpenSim/Framework/Data.MySQL/MySQLDataStore.cs
@@ -1222,34 +1222,37 @@ namespace OpenSim.Framework.Data.MySQL
1222 1222
1223 foreach (DataRow row in dbItemRows) 1223 foreach (DataRow row in dbItemRows)
1224 { 1224 {
1225 MainLog.Instance.Verbose( 1225// MainLog.Instance.Verbose(
1226 "DATASTORE", 1226// "DATASTORE",
1227 "Found item {0}, {1} in prim id {2}", 1227// "Found item {0}, {1} in prim id {2}",
1228 row["name"], row["itemID"], primID); 1228// row["name"], row["itemID"], primID);
1229 1229
1230 dbItemsToRemove.Add((String)row["itemID"], row); 1230 dbItemsToRemove.Add((String)row["itemID"], row);
1231 } 1231 }
1232 1232
1233 // Eliminate rows from the deletion set which already exist for this prim's inventory 1233 // Eliminate rows from the deletion set which already exist for this prim's inventory
1234 // TODO Very temporary, need to take account of simple metadata changes soon 1234 // TODO Very temporary, need to take account of simple metadata changes soon
1235 foreach (LLUUID itemId in items.Keys) 1235 lock (items)
1236 { 1236 {
1237 String rawItemId = itemId.ToString(); 1237 foreach (LLUUID itemId in items.Keys)
1238
1239 if (dbItemsToRemove.ContainsKey(rawItemId))
1240 { 1238 {
1241 MainLog.Instance.Verbose( 1239 String rawItemId = itemId.ToString();
1242 "DATASTORE",
1243 "Discarding item {0}, {1} from remove candidates for prim id {2}",
1244 items[itemId].Name, rawItemId, primID);
1245 1240
1246 dbItemsToRemove.Remove(rawItemId); 1241 if (dbItemsToRemove.ContainsKey(rawItemId))
1247 } 1242 {
1248 else 1243// MainLog.Instance.Verbose(
1249 { 1244// "DATASTORE",
1250 itemsToAdd.Add(items[itemId]); 1245// "Discarding item {0}, {1} from remove candidates for prim id {2}",
1251 } 1246// items[itemId].Name, rawItemId, primID);
1252 } 1247
1248 dbItemsToRemove.Remove(rawItemId);
1249 }
1250 else
1251 {
1252 itemsToAdd.Add(items[itemId]);
1253 }
1254 }
1255 }
1253 1256
1254 // Delete excess rows 1257 // Delete excess rows
1255 foreach (DataRow row in dbItemsToRemove.Values) 1258 foreach (DataRow row in dbItemsToRemove.Values)