On Tue, Nov 30, 2010 at 9:20 AM, Philip Martin
<philip.martin_at_wandisco.com> wrote:
> Florian Weimer <fweimer_at_bfk.de> writes:
>
>> * Philip Martin:
>>
>>> An SQLite read blocks SQlite writes by other threads/processes, so
>>> the long lived select may cause writes to fail that would otherwise
>>> succeed.
>>
>> AFAIK, such blocking only happens inside SQLite if you are not in WAL
>> mode and the write transaction has outgrown its cache size.
>
> WAL has limits, it doesn't work on network disks for example. In the
> absence of WAL the cache only delays the block, when the write commits
> it still requires an exclusive lock.
Also, savvy users could theoretically enable WAL on specific working
copies without Subversion knowing or caring about it (so long as
Subversion is using a recent enough sqlite).
-Hyrum
Received on 2010-11-30 17:36:00 CET