I queue all my db operation into one thread with single sqlite conn. neither multi-thread nor multi-process operation happened.But some SQLITE_BUSY error code still be catched. I can not re-produce this error code indeveloping environment,because it happen in alow probability. I only catch this error report online.
So how did it happen? I guess that, when WAL reach the checkpoint, sqlite will write the data back to original db file in background thread. So writing will be busy at this time. But I?m not sure. I hope that you will not stint your criticism