Tuesday, July 19, 2005, 12:19:48 PM, Aaron wrote:

> We are inserting records into SQLite databases, and in our testing
> have discovered that in some circumstances it is possible to be  
> inserting records inside a transaction, yet not have the fact that  
> the database journal file is growing be reflected accurately by the
> file system.

The journal records the state of database pages before the
transaction. So, if you have an empty database, there will be nothing
in the journal no matter how many records you insert. In general, the
maximum size of the journal will be proportional to the size of the
database at the start of the transaction.

> [...] If I have exceeded the amount of free space,
> though, attempting to commit the transaction will fail.

That is also as expected. SQLite will cache modified pages in RAM, and
attempt to write them to disk at commit time.

e


Reply via email to