diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/org/connectbot/util/HostDatabase.java | 5 | ||||
-rw-r--r-- | src/org/connectbot/util/RobustSQLiteOpenHelper.java | 7 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/org/connectbot/util/HostDatabase.java b/src/org/connectbot/util/HostDatabase.java index 89d5455..1f13617 100644 --- a/src/org/connectbot/util/HostDatabase.java +++ b/src/org/connectbot/util/HostDatabase.java @@ -115,6 +115,11 @@ public class HostDatabase extends RobustSQLiteOpenHelper { static { addTableName(TABLE_HOSTS); addTableName(TABLE_PORTFORWARDS); + addIndexName(TABLE_PORTFORWARDS + FIELD_PORTFORWARD_HOSTID + "index"); + addTableName(TABLE_COLORS); + addIndexName(TABLE_COLORS + FIELD_COLOR_SCHEME + "index"); + addTableName(TABLE_COLOR_DEFAULTS); + addIndexName(TABLE_COLOR_DEFAULTS + FIELD_COLOR_SCHEME + "index"); } public HostDatabase(Context context) { diff --git a/src/org/connectbot/util/RobustSQLiteOpenHelper.java b/src/org/connectbot/util/RobustSQLiteOpenHelper.java index 00d37ef..b19f09d 100644 --- a/src/org/connectbot/util/RobustSQLiteOpenHelper.java +++ b/src/org/connectbot/util/RobustSQLiteOpenHelper.java @@ -34,6 +34,7 @@ import android.database.sqlite.SQLiteDatabase.CursorFactory; */ public abstract class RobustSQLiteOpenHelper extends SQLiteOpenHelper { private static List<String> mTableNames = new LinkedList<String>(); + private static List<String> mIndexNames = new LinkedList<String>(); public RobustSQLiteOpenHelper(Context context, String name, CursorFactory factory, int version) { @@ -44,6 +45,10 @@ public abstract class RobustSQLiteOpenHelper extends SQLiteOpenHelper { mTableNames.add(tableName); } + protected static void addIndexName(String indexName) { + mIndexNames.add(indexName); + } + @Override public void onCreate(SQLiteDatabase db) { dropAllTables(db); @@ -117,6 +122,8 @@ public abstract class RobustSQLiteOpenHelper extends SQLiteOpenHelper { } private void dropAllTablesWithPrefix(SQLiteDatabase db, String prefix) { + for (String indexName : mIndexNames) + db.execSQL("DROP INDEX IF EXISTS " + prefix + indexName); for (String tableName : mTableNames) db.execSQL("DROP TABLE IF EXISTS " + prefix + tableName); } |