On 16 Apr 2015, at 10:10am, Janke, Julian <julian.janke at capgemini.com> wrote:

> rc = sqlite3_open(dbPath, &db);
> rc = sqlite3_exec(db, "PRAGMA journal_mode=WAL;", testCallbackPrint, 0, 
> &zErrMsg);
> [?]
> sqlite3_close(db);

Execute your PRAGMA as if it's a SELECT call (i.e. use sqlite3_prepare_v2(), 
sqlite3_step(), and sqlite3_finalize()) and check the value returned by 
_step().  If the command worked you should get "wal" back.

Before and after your existing PRAGMA, submit any SQL command that needs 
database access.  For example

DROP TABLE IF EXISTS nosuchtable;
PRAGMA journal_mode=WAL;
DROP TABLE IF EXISTS nosuchtable;

You can use _exec() for these other commands.  I do not know that this is 
definitely your problem, but I seem to remember that there has to be some kind 
of file access for a journal mode change to take effect.

In connection with another post to this thread, you should be able to change 
the journal mode at any time you have the only connection to the database.  
This includes changing between traditional journal modes and WAL mode.

Simon.

Reply via email to