From 7d4ad4d9c996b016723ef3ac6b714f9262a70774 Mon Sep 17 00:00:00 2001 From: Tim Su Date: Sat, 18 Apr 2009 08:27:01 +0000 Subject: [PATCH] Fixed bug where the very first time the app is run, it would crash, by adding "IF NOT EXISTS" to the sql queries for creating tables. Also synchronizing these operations for good measure. --- src/com/timsu/astrid/data/alerts/Alert.java | 6 +++--- src/com/timsu/astrid/data/sync/SyncMapping.java | 6 +++--- src/com/timsu/astrid/data/tag/AbstractTagModel.java | 6 +++--- src/com/timsu/astrid/data/tag/TagToTaskMapping.java | 6 +++--- src/com/timsu/astrid/data/task/AbstractTaskModel.java | 6 +++--- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/com/timsu/astrid/data/alerts/Alert.java b/src/com/timsu/astrid/data/alerts/Alert.java index 5306cf687..784f631d2 100644 --- a/src/com/timsu/astrid/data/alerts/Alert.java +++ b/src/com/timsu/astrid/data/alerts/Alert.java @@ -70,9 +70,9 @@ public class Alert extends AbstractModel { } @Override - public void onCreate(SQLiteDatabase db) { + public synchronized void onCreate(SQLiteDatabase db) { String sql = new StringBuilder(). - append("CREATE TABLE ").append(tableName).append(" ("). + append("CREATE TABLE IF NOT EXISTS ").append(tableName).append(" ("). append(AbstractController.KEY_ROWID).append(" integer primary key autoincrement, "). append(TASK).append(" integer not null,"). append(DATE).append(" integer not null,"). @@ -82,7 +82,7 @@ public class Alert extends AbstractModel { } @Override - public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { + public synchronized void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { Log.w(getClass().getSimpleName(), "Upgrading database from version " + oldVersion + " to " + newVersion + "."); diff --git a/src/com/timsu/astrid/data/sync/SyncMapping.java b/src/com/timsu/astrid/data/sync/SyncMapping.java index 0520c80b4..0f138ab39 100644 --- a/src/com/timsu/astrid/data/sync/SyncMapping.java +++ b/src/com/timsu/astrid/data/sync/SyncMapping.java @@ -77,9 +77,9 @@ public class SyncMapping extends AbstractModel { } @Override - public void onCreate(SQLiteDatabase db) { + public synchronized void onCreate(SQLiteDatabase db) { String sql = new StringBuilder(). - append("CREATE TABLE ").append(tableName).append(" ("). + append("CREATE TABLE IF NOT EXISTS ").append(tableName).append(" ("). append(AbstractController.KEY_ROWID).append(" integer primary key autoincrement, "). append(TASK).append(" integer not null,"). append(SYNC_SERVICE).append(" integer not null,"). @@ -91,7 +91,7 @@ public class SyncMapping extends AbstractModel { } @Override - public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { + public synchronized void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { Log.w(getClass().getSimpleName(), "Upgrading database from version " + oldVersion + " to " + newVersion + "."); diff --git a/src/com/timsu/astrid/data/tag/AbstractTagModel.java b/src/com/timsu/astrid/data/tag/AbstractTagModel.java index bf1994480..d8e4e0ddd 100644 --- a/src/com/timsu/astrid/data/tag/AbstractTagModel.java +++ b/src/com/timsu/astrid/data/tag/AbstractTagModel.java @@ -88,9 +88,9 @@ public abstract class AbstractTagModel extends AbstractModel { } @Override - public void onCreate(SQLiteDatabase db) { + public synchronized void onCreate(SQLiteDatabase db) { String sql = new StringBuilder(). - append("CREATE TABLE ").append(tableName).append(" ("). + append("CREATE TABLE IF NOT EXISTS ").append(tableName).append(" ("). append(AbstractController.KEY_ROWID).append(" integer primary key autoincrement, "). append(NAME).append(" text unique,"). append(NOTES).append(" text,"). @@ -106,7 +106,7 @@ public abstract class AbstractTagModel extends AbstractModel { } @Override - public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { + public synchronized void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { Log.w(getClass().getSimpleName(), "Upgrading database from version " + oldVersion + " to " + newVersion + "."); diff --git a/src/com/timsu/astrid/data/tag/TagToTaskMapping.java b/src/com/timsu/astrid/data/tag/TagToTaskMapping.java index c26a5799a..fe4f87b49 100644 --- a/src/com/timsu/astrid/data/tag/TagToTaskMapping.java +++ b/src/com/timsu/astrid/data/tag/TagToTaskMapping.java @@ -68,9 +68,9 @@ public class TagToTaskMapping extends AbstractModel { } @Override - public void onCreate(SQLiteDatabase db) { + public synchronized void onCreate(SQLiteDatabase db) { String sql = new StringBuilder(). - append("CREATE TABLE ").append(tableName).append(" ("). + append("CREATE TABLE IF NOT EXISTS ").append(tableName).append(" ("). append(AbstractController.KEY_ROWID).append(" integer primary key autoincrement, "). append(TASK).append(" integer not null,"). append(TAG).append(" integer not null,"). @@ -80,7 +80,7 @@ public class TagToTaskMapping extends AbstractModel { } @Override - public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { + public synchronized void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { Log.w(getClass().getSimpleName(), "Upgrading database from version " + oldVersion + " to " + newVersion + "."); diff --git a/src/com/timsu/astrid/data/task/AbstractTaskModel.java b/src/com/timsu/astrid/data/task/AbstractTaskModel.java index 987582596..6d58e9b6f 100644 --- a/src/com/timsu/astrid/data/task/AbstractTaskModel.java +++ b/src/com/timsu/astrid/data/task/AbstractTaskModel.java @@ -117,9 +117,9 @@ public abstract class AbstractTaskModel extends AbstractModel { } @Override - public void onCreate(SQLiteDatabase db) { + public synchronized void onCreate(SQLiteDatabase db) { String sql = new StringBuilder(). - append("CREATE TABLE ").append(tableName).append(" ("). + append("CREATE TABLE IF NOT EXISTS ").append(tableName).append(" ("). append(AbstractController.KEY_ROWID).append(" integer primary key autoincrement, "). append(NAME).append(" text not null,"). append(NOTES).append(" text not null,"). @@ -146,7 +146,7 @@ public abstract class AbstractTaskModel extends AbstractModel { @Override @SuppressWarnings("fallthrough") - public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { + public synchronized void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { Log.w(getClass().getSimpleName(), "Upgrading database from version " + oldVersion + " to " + newVersion + "."); String sql;