RE: CRCs - Mailing list pgsql-hackers

From Mikheev, Vadim
Subject RE: CRCs
Date
Msg-id 8F4C99C66D04D4118F580090272A7A234D3282@sectorbase1.sectorbase.com
Whole thread Raw
In response to CRCs  (ncm@zembu.com (Nathan Myers))
List pgsql-hackers
> Instead of a partial row CRC, we could just as well use some other bit
> of identifying information, say the row OID.  Given a block CRC on the
> heap page, we'll be pretty confident already that the heap page is OK,
> we just need to guard against the possibility that it's older than the
> index item.  Checking that there is a valid tuple at the slot 
> indicated by the index item, and that it has the right OID, should be
> a good enough (and cheap enough) test.

This would work in 7.1 but not in 7.2 anyway (assuming UNDO and true
transaction rollback to be implemented). There will be no permanent
pg_log and after crash recovery any heap tuple with unknown t_xmin status
will be assumed as committed. Rollback will remove tuples inserted by
uncommitted transactions but this will be possible only for *logged*
modifications.

One should properly configure disk drives instead of hacking arround
this problem. "Log before modifying data pages" is *rule* for any WAL
system like Oracle, Informix and dozen others.

Vadim


pgsql-hackers by date:

Previous
From: mlw
Date:
Subject: Re: Performance degradation in PostgreSQL 7.1beta3 vs 6.5.3
Next
From: Helge Haugland
Date:
Subject: Perl5 confusions