D. Richard Hipp wrote:
This is not portable. Some operating systems (ex: RedHat) will cause intermittent problems if the same SQLite handle is used by more than one thread.
I am aware that this solution may work right on windows only. On the other hand it is to fix behaviour that typically occurs on windows. It appears to me that creating and deleting the journal file has lots of overhead on a journaling filesystem, like NTFS. Ext3fs already performs better, so does fat32. There are several disk head movements involved when creating/deleting the file. Having several transactions/second continuesly is then not much fun for your harddisk... Also, bit off-topic, from the potentional linux userbase i can expect them to install mysql and edit some configfile. Maybe i do abuse sqlite a bit, but this way it has excellent performance. To keep the code portable as-is i would have to create helper threads that do the actual database i/o, which results in large and complex overhead. It is much easier to let the app choose between mysql and sqlite, having sqlite for windows only. By the way, it seems that if this windows application runs under wine it is just as stable, but that is not extensively tested..
regards, rene