Improve migration mechanism
This commit is contained in:
@@ -24,6 +24,7 @@ import java.io.FileOutputStream;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.database.SQLException;
|
||||||
import android.database.sqlite.SQLiteDatabase;
|
import android.database.sqlite.SQLiteDatabase;
|
||||||
import android.database.sqlite.SQLiteException;
|
import android.database.sqlite.SQLiteException;
|
||||||
import android.database.sqlite.SQLiteOpenHelper;
|
import android.database.sqlite.SQLiteOpenHelper;
|
||||||
@@ -413,6 +414,7 @@ public class KeychainDatabase extends SQLiteOpenHelper {
|
|||||||
+ ")");
|
+ ")");
|
||||||
|
|
||||||
case 24:
|
case 24:
|
||||||
|
try {
|
||||||
db.beginTransaction();
|
db.beginTransaction();
|
||||||
db.execSQL("ALTER TABLE api_autocrypt_peers RENAME TO tmp");
|
db.execSQL("ALTER TABLE api_autocrypt_peers RENAME TO tmp");
|
||||||
db.execSQL("CREATE TABLE api_autocrypt_peers ("
|
db.execSQL("CREATE TABLE api_autocrypt_peers ("
|
||||||
@@ -447,10 +449,12 @@ public class KeychainDatabase extends SQLiteOpenHelper {
|
|||||||
"FROM tmp WHERE state = 4"); // from Autocrypt 0.X, state = "mutual"
|
"FROM tmp WHERE state = 4"); // from Autocrypt 0.X, state = "mutual"
|
||||||
db.execSQL("DROP TABLE tmp");
|
db.execSQL("DROP TABLE tmp");
|
||||||
db.setTransactionSuccessful();
|
db.setTransactionSuccessful();
|
||||||
|
} finally {
|
||||||
db.endTransaction();
|
db.endTransaction();
|
||||||
|
}
|
||||||
|
|
||||||
|
db.execSQL("CREATE INDEX IF NOT EXISTS uids_by_email ON user_packets (email);");
|
||||||
db.execSQL("DROP INDEX keys_by_rank");
|
db.execSQL("DROP INDEX keys_by_rank");
|
||||||
db.execSQL("CREATE INDEX uids_by_email ON user_packets (email);");
|
|
||||||
db.execSQL("CREATE INDEX keys_by_rank ON keys(rank, master_key_id);");
|
db.execSQL("CREATE INDEX keys_by_rank ON keys(rank, master_key_id);");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user