>> > It is possible to build a logging system so that you 
>> > mostly don't care when the data blocks get written;
>> > a particular data block on disk is considered garbage
>> > until the next checkpoint, so that you
>> >
> > How to know if a particular data page was modified if there is no
> > log record for that modification?
> > (Ie how to know where is garbage? -:))
> 
> You could store a log sequence number in the data page header 
> that indicates the log address of the last log record that was
> applied to the page.

We do. But how to know at the time of recovery that there is
a page in multi-Gb index file with tuple pointing to uninserted
table row?
Well, actually we could make some improvements in this area:
a buffer without "first after checkpoint" modification could be
written without flushing log records: entire block will be
rewritten on recovery. Not sure how much we get, though -:)

Vadim

Mon, 12 Mar 2001 16:25:17 -0800
"Mikheev, Vadim" <vmikheev@SECTORBASE.COM>
RE: WAL & SHM principles