int iReturn = sqlite3_wal_checkpoint_v2(m_poDB, NULL, SQLITE_CHECKPOINT_FULL, &iSizeOfWalLog, &iNumOfCheckpointedFrames);
iReturn = 5 (SQLITE_BUSY) で戻ります。ライターはときどき起動し、データベースに多数の行を追加または削除し、チェックポイントを実行して、再びスリープ状態になります。
質問 1: WAL モードを使用し、4 つのリーダーと 1 つのライターがある場合、どのようにそれが可能ですか?
質問 2: ログ メッセージで、チェックポイントは頻繁に機能するが、SQLITE_BUSY を報告するのはたまにしかないことを確認しました。時々機能するが、常に機能しない場合は心配する必要がありますか? これによりデータベースが破損する可能性はありますか?
質問 3: sqlite3_wal_checkpoint_v2 または SQLITE_CHECKPOINT_FULL を使用すべきではありませんか?