thank you for the info, another possible problem is that I cannot backup the database e.g. "begin exclusive" and copy the entire DB file while the main server app is still running. The copy aborts at offset 1GB.
D. Richard Hipp wrote:
On Mon, 2005-05-16 at 15:33 +0200, Helmut Tschemernjak wrote:
looking into the PENDING_BYTE 0x40000000 define from os.h, I believe there is a problem when the database is larger than 1GB and a second process reads at offset 1GB, the read may aborts with SQLITE_IOERR if a lock is active.
This should not happen because no process ever reads data out of the range 1GiB through 1GiB+510. That range of bytes is used for locking only. No data is every stored here.
If you grep for PENDING_BYTE in pager.c, you will find the places in the code that automatically skip over the locking bytes.