My tests have shown that if i have a database placed on the c: drive transactions in sqlite work ok. Insert time for my specific set of queries varies between 1-2 seconds. Now if i move the file to memory card which is the e: drive on my e7 transactions stop working. The same queries take 50-55 seconds. It's not just a matter of the memory card having slower writes. I checked, confirmed and i am sure that when c: is used to store the database transaction starts, queries get put into the queue and commit happens writing all the data at once. When i use the e: drive the transaction never starts (altrough transaction() returns true) and the queries get executed one-by-one.
Is this a known bug? Can this be a problem with file locking perhaps. For example the database driver has to lock the file for the duration of the transaction but can't on the e: drive?