8000 Support propagating WAL mode setting when database instance hasn't be… · ETS-Android4/sqlcipher-android@f921f0f · GitHub
[go: up one dir, main page]

8000
Skip to content

Commit f921f0f

Browse files
Support propagating WAL mode setting when database instance hasn't been created in SQLiteOpenHelper
1 parent 392dbdf commit f921f0f

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

sqlcipher/src/main/java/net/zetetic/database/sqlcipher/SQLiteOpenHelper.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -327,8 +327,19 @@ private SQLiteDatabase getDatabaseLocked(boolean writable) {
327327
db = SQLiteDatabase.openDatabase(path, mPassword, mFactory,
328328
SQLiteDatabase.OPEN_READONLY, mErrorHandler, mDatabaseHook);
329329
} else {
330-
db = SQLiteDatabase.openOrCreateDatabase(
331-
mName, mPassword, mFactory, mErrorHandler, mDatabaseHook
330+
/*
331+
Modified by Zetetic to support propagation of the mEnableWriteAheadLogging
332+
should a user invoke setWriteAheadLoggingEnabled() when the mDatabase
333+
instance has not yet been created via getWritableDatabase(). This allows
334+
setWriteAheadLoggingEnabled() to be set in the constructor of a
335+
SQLiteOpenHelper subclass.
336+
*/
337+
int flags = SQLiteDatabase.CREATE_IF_NECESSARY;
338+
if(mEnableWriteAheadLogging) {
339+
flags |= SQLiteDatabase.ENABLE_WRITE_AHEAD_LOGGING;
340+
}
341+
db = SQLiteDatabase.openDatabase(
342+
mName, mPassword, mFactory, flags, mErrorHandler, mDatabaseHook
332343
);
333344
}
334345
} catch (SQLiteException ex) {

0 commit comments

Comments
 (0)
0