One more place where the db needs to be locked before beginning a transaction

pull/14/head
Sam Bosley 12 years ago
parent a524464312
commit 204cd8161a

@ -234,29 +234,31 @@ public class DatabaseDao<TYPE extends AbstractModel> {
if (toUpdate.getCount() == 0) if (toUpdate.getCount() == 0)
return 0; return 0;
database.getDatabase().beginTransactionWithListener(new SQLiteTransactionListener() { synchronized (database) {
@Override database.getDatabase().beginTransactionWithListener(new SQLiteTransactionListener() {
public void onRollback() { @Override
Log.e(ERROR_TAG, "Error updating rows", new Throwable()); //$NON-NLS-1$ public void onRollback() {
result.set(0); Log.e(ERROR_TAG, "Error updating rows", new Throwable()); //$NON-NLS-1$
} result.set(0);
@Override }
public void onCommit() {/**/} @Override
@Override public void onCommit() {/**/}
public void onBegin() {/**/} @Override
}); public void onBegin() {/**/}
});
try { try {
result.set(database.update(table.name, template.getSetValues(), result.set(database.update(table.name, template.getSetValues(),
where.toString(), null)); where.toString(), null));
if (result.get() > 0) { if (result.get() > 0) {
for (Long id : ids) { for (Long id : ids) {
createOutstandingEntries(id, template.getSetValues()); createOutstandingEntries(id, template.getSetValues());
}
} }
database.getDatabase().setTransactionSuccessful();
} finally {
database.getDatabase().endTransaction();
} }
database.getDatabase().setTransactionSuccessful();
} finally {
database.getDatabase().endTransaction();
} }
return result.get(); return result.get();
} else { } else {

Loading…
Cancel
Save