Hi, 1)
Using v3.8.6 I noticed that journal files were created and removed while executing a transaction event though I had set the "PRAGMA journal_mode = MEMORY;". Right after creating a new sqlite file using sqlite3_open16() I execute a couple of PRAGMA statements. Right after executing all pragma statements, executing "PRAGMA journal_mode;" returns result code 0 ( == DELETE). As a test I've set "PRAGMA journal_mode = PERSIST;" and then the returned result code still is 0 ( == DELETE) but I see that, after closing the sqlite3 file, the journal file still exists. The return value for other pragma statements do return the correct value (e.g. page_size, max_page_size, ...). Questions: - Is the "PRAGMA journal_mode;" statement returning an incorrect value? - Are there situations when a journal file needs to be created even when journal mode is set to MEMORY? 2) Then I tried upgrading to the newest version 3.9.2. Opening an sqlite file created with v3.8.6 now fails to execute a couple of PRAGMA statements, for instance: - "PRAGMA max_page_count = 1073741823;" - "PRAGMA auto_vacuum = NONE;" - "PRAGMA journal_mode = MEMORY;" The result code returned by function sqlite3_prepare16_v2() that prepares each of these statements is 26 (== SQLITE_NOTADB): file is encrypted or is not a database. Other pragma statements like "page_size, encoding, foreign_keys, ..." return result code 0 (== SLITE_OK). Preparing any pragma statement for a sqlite file created with v3.9.2 returns result code 0 (== SLITE_OK). Question: - Did the compatibility break for some of the PRAGMA statements between v3.8.6 and v3.9.2? Any help or information would be greatly appreciated. Thanks in advance, Jan Asselman