aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainDatabase.java
diff options
context:
space:
mode:
authorVincent Breitmoser <valodim@mugenguild.com>2015-03-11 18:28:36 +0100
committerVincent Breitmoser <valodim@mugenguild.com>2015-03-11 18:39:26 +0100
commit9ff4d7b2bc0830e96c7d844f2ffc7d5da798b646 (patch)
treee1da7207002d7724f5e9b4089f0ccba746eb16bf /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainDatabase.java
parent82a2a76a33e72d2a2ad98b06504196dc0c15d496 (diff)
downloadopen-keychain-9ff4d7b2bc0830e96c7d844f2ffc7d5da798b646.tar.gz
open-keychain-9ff4d7b2bc0830e96c7d844f2ffc7d5da798b646.tar.bz2
open-keychain-9ff4d7b2bc0830e96c7d844f2ffc7d5da798b646.zip
change user_id primary key in database, use keyring rather than unified query in consolidate
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainDatabase.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainDatabase.java14
1 files changed, 10 insertions, 4 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainDatabase.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainDatabase.java
index b88cd6006..4a162989f 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainDatabase.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainDatabase.java
@@ -53,7 +53,7 @@ import java.io.IOException;
*/
public class KeychainDatabase extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "openkeychain.db";
- private static final int DATABASE_VERSION = 8;
+ private static final int DATABASE_VERSION = 9;
static Boolean apgHack = false;
private Context mContext;
@@ -61,7 +61,7 @@ public class KeychainDatabase extends SQLiteOpenHelper {
String KEY_RINGS_PUBLIC = "keyrings_public";
String KEY_RINGS_SECRET = "keyrings_secret";
String KEYS = "keys";
- String USER_PACKETS = "user_ids";
+ String USER_PACKETS = "user_packets";
String CERTS = "certs";
String API_APPS = "api_apps";
String API_ACCOUNTS = "api_accounts";
@@ -119,8 +119,7 @@ public class KeychainDatabase extends SQLiteOpenHelper {
+ UserPacketsColumns.IS_REVOKED + " INTEGER, "
+ UserPacketsColumns.RANK+ " INTEGER, "
- + "PRIMARY KEY(" + UserPacketsColumns.MASTER_KEY_ID + ", " + UserPacketsColumns.USER_ID + "), "
- + "UNIQUE (" + UserPacketsColumns.MASTER_KEY_ID + ", " + UserPacketsColumns.RANK + "), "
+ + "PRIMARY KEY(" + UserPacketsColumns.MASTER_KEY_ID + ", " + UserPacketsColumns.RANK + "), "
+ "FOREIGN KEY(" + UserPacketsColumns.MASTER_KEY_ID + ") REFERENCES "
+ Tables.KEY_RINGS_PUBLIC + "(" + KeyRingsColumns.MASTER_KEY_ID + ") ON DELETE CASCADE"
+ ")";
@@ -267,6 +266,13 @@ public class KeychainDatabase extends SQLiteOpenHelper {
} catch (Exception e) {
// never mind, the column probably already existed
}
+ case 9:
+ // tbale name for user_ids changed to user_packets
+ db.execSQL("DROP TABLE IF EXISTS certs");
+ db.execSQL("DROP TABLE IF EXISTS user_ids");
+ db.execSQL(CREATE_USER_PACKETS);
+ db.execSQL(CREATE_CERTS);
+
}
// always do consolidate after upgrade