From 194897da946d9e1cb068c3bf26d6b1f235cd1851 Mon Sep 17 00:00:00 2001 From: Vasu Nori Date: Mon, 21 Jun 2010 10:41:14 -0700 Subject: [PATCH] journal_mode should be set only on non-memory databases setting journal_mode to TRUNCATE on memory databases causes an error message to be displayed by SQLIteDatabase. Change-Id: Ie8b8ae22cb9fba99cee59dba35b260195c63eadc --- .../android/database/sqlite/SQLiteDatabase.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/core/java/android/database/sqlite/SQLiteDatabase.java b/core/java/android/database/sqlite/SQLiteDatabase.java index e33463b0fef1b..79d9631945628 100644 --- a/core/java/android/database/sqlite/SQLiteDatabase.java +++ b/core/java/android/database/sqlite/SQLiteDatabase.java @@ -956,11 +956,14 @@ public class SQLiteDatabase extends SQLiteClosable { } sqliteDatabase.setPageSize(sBlockSize); - // set journal_mode to truncate - String s = DatabaseUtils.stringForQuery(sqliteDatabase, "PRAGMA journal_mode=TRUNCATE", - null); - if (!s.equalsIgnoreCase("TRUNCATE")) { - Log.e(TAG, "setting journal_mode to TRUNCATE failed"); + // set journal_mode to truncate for non-memory databases + if (!path.equalsIgnoreCase(":memory:")) { + String s = DatabaseUtils.stringForQuery(sqliteDatabase, "PRAGMA journal_mode=TRUNCATE", + null); + if (!s.equalsIgnoreCase("TRUNCATE")) { + Log.e(TAG, "setting journal_mode to TRUNCATE failed for db: " + path + + " (on pragma set journal_mode, sqlite returned:" + s); + } } // add this database to the list of databases opened in this process