summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMakoto Onuki <omakoto@google.com>2015-06-23 00:19:50 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-06-23 00:19:50 +0000
commit9654188540a5a900ba5d80f5f955c46887c3f398 (patch)
tree2b8ca1c19ba9d6a7aec6fae22a38f14dc9698447
parent839eddd7ba394dad1d14a84fda49415335961372 (diff)
parente090212bd2ff31a8f79a11e1e9b0980f7f6079fe (diff)
downloadpackages_providers_ContactsProvider-9654188540a5a900ba5d80f5f955c46887c3f398.tar.gz
packages_providers_ContactsProvider-9654188540a5a900ba5d80f5f955c46887c3f398.tar.bz2
packages_providers_ContactsProvider-9654188540a5a900ba5d80f5f955c46887c3f398.zip
am e090212b: Always atomically drop & create search index.
* commit 'e090212bd2ff31a8f79a11e1e9b0980f7f6079fe': Always atomically drop & create search index.
-rw-r--r--src/com/android/providers/contacts/ContactsDatabaseHelper.java18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/com/android/providers/contacts/ContactsDatabaseHelper.java b/src/com/android/providers/contacts/ContactsDatabaseHelper.java
index fc81fa5b..aac37baf 100644
--- a/src/com/android/providers/contacts/ContactsDatabaseHelper.java
+++ b/src/com/android/providers/contacts/ContactsDatabaseHelper.java
@@ -1646,16 +1646,22 @@ public class ContactsDatabaseHelper extends SQLiteOpenHelper {
}
public void createSearchIndexTable(SQLiteDatabase db, boolean rebuildSqliteStats) {
- db.execSQL("DROP TABLE IF EXISTS " + Tables.SEARCH_INDEX);
- db.execSQL("CREATE VIRTUAL TABLE " + Tables.SEARCH_INDEX
- + " USING FTS4 ("
+ db.beginTransaction();
+ try {
+ db.execSQL("DROP TABLE IF EXISTS " + Tables.SEARCH_INDEX);
+ db.execSQL("CREATE VIRTUAL TABLE " + Tables.SEARCH_INDEX
+ + " USING FTS4 ("
+ SearchIndexColumns.CONTACT_ID + " INTEGER REFERENCES contacts(_id) NOT NULL,"
+ SearchIndexColumns.CONTENT + " TEXT, "
+ SearchIndexColumns.NAME + " TEXT, "
+ SearchIndexColumns.TOKENS + " TEXT"
- + ")");
- if (rebuildSqliteStats) {
- updateSqliteStats(db);
+ + ")");
+ if (rebuildSqliteStats) {
+ updateSqliteStats(db);
+ }
+ db.setTransactionSuccessful();
+ } finally {
+ db.endTransaction();
}
}