On Wed, 2018-02-14 at 08:13 -0600, Joshua Watt wrote: > Hello, > > I observed the following behavior when using the wal_checkpoint > PRAGMA > in TRUNCATE mode: > > SQLite version 3.22.0 2018-01-22 18:45:57 > Enter ".help" for usage hints. > Connected to a transient in-memory database. > Use ".open FILENAME" to reopen on a persistent database. > sqlite> .open test.db > sqlite> PRAGMA journal_mode = WAL; > wal > sqlite> create table test ( key INTEGER PRIMARY KEY, val INTEGER ); > sqlite> insert into test values ( 5, 6 ); > sqlite> insert into test values ( 6, 6 ); > sqlite> PRAGMA wal_checkpoint(TRUNCATE); > 0|0|0 > > According to the documentation, the second and third values should > correspond to the number of pages in the write-ahead log and the > number > of pages that have been moved back to the database file. This works > as > expected in the other modes, but in TRUNCATE mode the second and > third > return values are always zero. > > I believe this is because walCheckpoint() triggers a call to > walRestartHdr() if the mode is SQLITE_CHEKPOINT_TRUNCATE. Once > walCheckpoint() returns, sqlite3WalCheckpoint() attempts to extract > the > values from the already restarted wal header. > > Has anyone else expirenced this issue?
Ping? > > Thanks, > Joshua Watt _______________________________________________ sqlite-users mailing list [email protected] http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

