this.themeHue = themeHue;
}
public int getNextTransactionsGeneration(SQLiteDatabase db) {
- int generation = 1;
try (Cursor c = db.rawQuery(
"SELECT generation FROM transactions WHERE profile_id=? LIMIT 1",
new String[]{String.valueOf(id)}))
{
- if (c.moveToFirst()) {
- generation = c.getInt(0) + 1;
- }
+ if (c.moveToFirst())
+ return c.getInt(0) + 1;
}
- return generation;
+ return 1;
}
private int getNextAccountsGeneration(SQLiteDatabase db) {
- int generation = 1;
try (Cursor c = db.rawQuery("SELECT generation FROM accounts WHERE profile_id=? LIMIT 1",
- new String[]{String.valueOf(id)}))
- {
- if (c.moveToFirst()) {
- generation = c.getInt(0) + 1;
- }
+ new String[]{String.valueOf(id)})) {
+ if (c.moveToFirst())
+ return c.getInt(0) + 1;
}
- return generation;
+ return 1;
}
private void deleteNotPresentAccounts(SQLiteDatabase db, int generation) {
Logger.debug("db/benchmark", "Deleting obsolete accounts");
- db.execSQL("DELETE FROM account_values WHERE profile=? AND generation <> ?",
+ db.execSQL("DELETE FROM account_values WHERE (select a.profile_id from accounts a where a" +
+ ".id=account_values.account_id)=? AND generation <> ?",
new Object[]{id, generation});
- db.execSQL("DELETE FROM accounts WHERE profile=? AND generation <> ?",
+ db.execSQL("DELETE FROM accounts WHERE profile_id=? AND generation <> ?",
new Object[]{id, generation});
Logger.debug("db/benchmark", "Done deleting obsolete accounts");
}
private void deleteNotPresentTransactions(SQLiteDatabase db, int generation) {
Logger.debug("db/benchmark", "Deleting obsolete transactions");
- db.execSQL("DELETE FROM transaction_accounts WHERE profile=? AND generation <> ?",
+ db.execSQL(
+ "DELETE FROM transaction_accounts WHERE (select t.profile_id from transactions t " +
+ "where t.id=transaction_accounts.transaction_id)=? AND generation" + " <> ?",
new Object[]{id, generation});
- db.execSQL("DELETE FROM transactions WHERE profile=? AND generation <> ?",
+ db.execSQL("DELETE FROM transactions WHERE profile_id=? AND generation <> ?",
new Object[]{id, generation});
Logger.debug("db/benchmark", "Done deleting obsolete transactions");
}