[sqlite] Journal 4.6 KB, after commit database 6 or 7 KB bigger

2016-04-14 Thread Cecil Westerhof
2016-04-14 20:00 GMT+02:00 Richard Hipp :

> On 4/14/16, Cecil Westerhof  wrote:
> > I have seen several times that the journal was 4.6 KB, but that fter
> > committing the database had grown with 6 or 7 KB. No big problem, but I
> > find it strange. What could be happening here? I would expect it not
> togrow
> > more as 5 KB.
> >
>
> The rollback journal records the original content of pages that
> already existed in the database at the start of the transaction.  New
> pages added to the end of the database can be rolled back simply by
> truncating the database file, so those pages are not stored in the
> rollback journal.
>
> In WAL mode, the WAL file is a "roll-forward journal" and so the size
> of the WAL file is proportional to the size of the transaction, as you
> expected.
>

?But how is it possible that ?it is smaller? Not really important, but I
just like to know ?everything?. ;-)

-- 
Cecil Westerhof


[sqlite] Journal 4.6 KB, after commit database 6 or 7 KB bigger

2016-04-14 Thread Cecil Westerhof
I have seen several times that the journal was 4.6 KB, but that fter
committing the database had grown with 6 or 7 KB. No big problem, but I
find it strange. What could be happening here? I would expect it not togrow
more as 5 KB.

-- 
Cecil Westerhof


[sqlite] Journal 4.6 KB, after commit database 6 or 7 KB bigger

2016-04-14 Thread Richard Hipp
On 4/14/16, Cecil Westerhof  wrote:
> I have seen several times that the journal was 4.6 KB, but that fter
> committing the database had grown with 6 or 7 KB. No big problem, but I
> find it strange. What could be happening here? I would expect it not togrow
> more as 5 KB.
>

The rollback journal records the original content of pages that
already existed in the database at the start of the transaction.  New
pages added to the end of the database can be rolled back simply by
truncating the database file, so those pages are not stored in the
rollback journal.

In WAL mode, the WAL file is a "roll-forward journal" and so the size
of the WAL file is proportional to the size of the transaction, as you
expected.

-- 
D. Richard Hipp
drh at sqlite.org