iOS アプリケーションで sqlite3 を使用していますが、非常に奇妙な問題に何度も遭遇しました。
私は WAL を使用しており、すべての書き込みは一度に 1 つの操作のみを許可するマネージド スレッドで行われ、読み取りは別のデータベース ハンドルを使用し、すべて正常に動作します。私が見ている問題は、読み取りハンドルが、コミットされたデータを読み取れないこの奇妙な状態になることがあります。コミットされていない読み取りトランザクションがあるようです...
データベースに正常に書き込むことができ、結果を自分のコンピューターにエクスポートしたところ、新しく書き込まれた結果が問題なく表示されます。ただし、私の読み取りは、古い時点でデータベースにアクセスしているようです...スタックしているようです。アプリケーションを閉じて再度開くと、問題なく、新しくコミットされたデータが読み取られますが、アプリケーションがこの状態でどのように動けなくなっているのか疑問に思っています。
任意の助けをいただければ幸いです。前もって感謝します。