On 4/20/15, Janke, Julian <julian.janke at capgemini.com> wrote: > > PRAGMA compile_options; shows 0
This makes me think that the list of compile-time options you showed us earlier is incomplete: -DSQLITE_ENABLE_MEMSYS5 -DSQLITE_ENABLE_8_3_NAMES=2 -DSQLITE_THREADSAFE=0 -DSQLITE_OS_OTHER=1 -DSQLITE_ENABLE_API_ARMOR -DSQLITE_DEFAULT_MMAP_SIZE=0 -DSQLITE_TEMP_STORE=0 -DSQLITE_DEFAULT_CACHE_SIZE=500 Please double-check to ensure that you do not have additional SQLITE defines stuck in a configuration file someplace. > > > -----Original Message----- > From: sqlite-users-bounces at mailinglists.sqlite.org > [mailto:sqlite-users-bounces at mailinglists.sqlite.org] On Behalf Of Richard > Hipp > Sent: Montag, 20. April 2015 12:18 > To: General Discussion of SQLite Database > Subject: Re: [sqlite] Problems with pragma journal_mode > > On 4/20/15, Janke, Julian <julian.janke at capgemini.com> wrote: >> 'EXPLAIN PRAGMA journal_mode=WAL' returns 2 rows >> >> 0: 0 Init 0 0 0 >> 1: 1 Halt 0 0 0 >> > > You should get this: > > addr opcode p1 p2 p3 p4 p5 comment > ---- ------------- ---- ---- ---- ------------- -- ------------- > 0 Init 0 0 0 00 > 1 JournalMode 0 1 5 00 > 2 ResultRow 1 1 0 00 > 3 Halt 0 0 0 00 > > What does: "PRAGMA compile_options;" and "SELECT sqlite_source_id();" show? > > > >> Is it the result of what you expected? >> >> -----Original Message----- >> From: sqlite-users-bounces at mailinglists.sqlite.org >> [mailto:sqlite-users-bounces at mailinglists.sqlite.org] On Behalf Of >> Richard Hipp >> Sent: Freitag, 17. April 2015 16:59 >> To: General Discussion of SQLite Database >> Subject: Re: [sqlite] Problems with pragma journal_mode >> >> On 4/17/15, Janke, Julian <julian.janke at capgemini.com> wrote: >>> 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 >> >> I do not understand this. "PRAGMA journal_mode" should always give a >> return value, even when it fails. sqlite3_step() should have returned >> SQLITE_ROW. >> >> Please try instead, "EXPLAIN PRAGMA journal_mode=WAL". Verify that >> you get multiple rows of output in that case. >> >> >>> 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-bounces at 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. >>> _______________________________________________ >>> sqlite-users mailing list >>> sqlite-users at mailinglists.sqlite.org >>> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users >>> >> >> >> -- >> D. Richard Hipp >> drh at sqlite.org >> _______________________________________________ >> sqlite-users mailing list >> sqlite-users at mailinglists.sqlite.org >> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users >> 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. >> _______________________________________________ >> sqlite-users mailing list >> sqlite-users at mailinglists.sqlite.org >> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users >> > > > -- > D. Richard Hipp > drh at sqlite.org > _______________________________________________ > sqlite-users mailing list > sqlite-users at mailinglists.sqlite.org > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users > 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. > _______________________________________________ > sqlite-users mailing list > sqlite-users at mailinglists.sqlite.org > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users > -- D. Richard Hipp drh at sqlite.org