Hello,
Thanks for your reply.

I changed my code again:

1) rc = sqlite3_open(dbPath, &db); --> SQLITE_OK
2) rc = sqlite3_exec(db, "DROP TABLE IF EXISTS nosuchtable;", 
testCallbackPrint, 0, &zErrMsg);
3) rc = sqlite3_prepare_v2(db, "PRAGMA journal_mode=WAL;", 24, &stmt, NULL); 
--> SQLITE_OK
4) rc = sqlite3_step(stmt); --> SQLITE_DONE
5) rc = sqlite3_exec(db, "DROP TABLE IF EXISTS nosuchtable;", 
testCallbackPrint, 0, &zErrMsg);
6) txt  = sqlite3_column_text (stmt, 0); --> returns an empty string
7) rc = sqlite3_finalize(stmt); --> SQLITE_OK
8) rc = sqlite3_close(db); --> SQLITE_OK

Repeated the same steps with

3) rc = sqlite3_prepare_v2(db, "PRAGMA journal_mode;", 24, &stmt, NULL); --> 
SQLITE_OK

To my knowledge, at line 4 SQLITE_ROW instead of SQLITE_DONE should be returned.

"These routines may only be called when the most recent call to sqlite3_step() 
has returned SQLITE_ROW and neither sqlite3_reset() nor sqlite3_finalize() have 
been called subsequently."

It looks as if all PRAGMA instructions are completely ignored,
since the query for the status of the JOURNAL_MODE returns no result.

Is it possible that I have turned off PRAMAs by anything or something is 
missing, so PRAMAs can run?

Thanks for your help


-----Original Message-----
From: sqlite-users-bounces at mailinglists.sqlite.org 
[mailto:sqlite-users-boun...@mailinglists.sqlite.org] On Behalf Of Simon Slavin
Sent: Donnerstag, 16. April 2015 17:56
To: General Discussion of SQLite Database
Subject: Re: [sqlite] Problems with pragma journal_mode


On 16 Apr 2015, at 2:33pm, Janke, Julian <julian.janke at capgemini.com> wrote:

> rc = sqlite3_step(stmt);
> --> returns SQLITE_DONE

After the above two lines, print the value returned by

sqlite3_column_text(stmt, 0)

I'm not good at C off the top of my head but I think it's something like

-----------------

const unsigned char * theText;

[...]

rc = sqlite3_prepare_v2(db, "PRAGMA journal_mode=WAL;", 24, &stmt, NULL);

rc = sqlite3_step(stmt);
theText  = sqlite3_column_text (stmt, 0); printf ("text returned: %s", theText);

rc = sqlite3_finalize(stmt);

-----------------

Hope if I got it wrong someone else will tell you.  By the way, you can also 
check the values returned from sqlite3_finalize() and sqlite3_close() since 
they can tell you useful things if something went wrong.

Simon.
_______________________________________________
sqlite-users mailing list
sqlite-users at mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

________________________________

Firma: Capgemini Deutschland GmbH
Aufsichtsratsvorsitzender: Antonio Schnieder ? Gesch?ftsf?hrer: Dr. Michael 
Schulte (Sprecher) ? Jost F?rster ? Dr. Peter Lempp ? Dr. Volkmar Varnhagen

Amtsgericht Berlin-Charlottenburg, HRB 98814
This message contains information that may be privileged or confidential and is 
the property of the Capgemini Group. It is intended only for the person to whom 
it is addressed. If you are not the intended recipient, you are not authorized 
to read, print, retain, copy, disseminate, distribute, or use this message or 
any part thereof. If you receive this message in error, please notify the 
sender immediately and delete all copies of this message.

Reply via email to