Refactor to prevent database locks

pull/14/head
Sam Bosley 12 years ago
parent fa87caffc8
commit abc66a7bb5

@ -263,15 +263,17 @@ public class DatabaseDao<TYPE extends AbstractModel> {
try {
result.set(op.makeChange());
if(result.get()) {
if (recordOutstanding)
createOutstandingEntries(item.getId(), values); // Create entries for setValues in outstanding table
onModelUpdated(item);
item.markSaved();
if (recordOutstanding && createOutstandingEntries(item.getId(), values)) // Create entries for setValues in outstanding table
database.getDatabase().setTransactionSuccessful();
}
} finally {
if (recordOutstanding) // commit transaction
database.getDatabase().endTransaction();
}
if (result.get()) {
onModelUpdated(item);
item.markSaved();
}
return result.get();
}
@ -346,7 +348,6 @@ public class DatabaseDao<TYPE extends AbstractModel> {
database.insert(outstandingTable.name, null, m.getSetValues());
}
}
database.getDatabase().setTransactionSuccessful();
return true;
}

@ -102,7 +102,6 @@ public class MetadataDao extends DatabaseDao<Metadata> {
m.setValue(OutstandingEntry.COLUMN_STRING_PROPERTY, addedOrRemoved);
m.setValue(OutstandingEntry.VALUE_STRING_PROPERTY, tagUuid);
database.insert(outstandingTable.name, null, m.getSetValues());
database.getDatabase().setTransactionSuccessful();
return true;
}

Loading…
Cancel
Save