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