RE: CRCs

From: "Mikheev, Vadim" <vmikheev(at)SECTORBASE(dot)COM>
To: "'Tom Lane'" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers(at)postgresql(dot)org
Subject: RE: CRCs
Date: 2001-01-16 19:36:20
Message-ID: 8F4C99C66D04D4118F580090272A7A234D3282@sectorbase1.sectorbase.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

Browse pgsql-hackers by date

  From Date Subject
Next Message Mikheev, Vadim 2001-01-16 20:51:21 RE: SIGTERM -> elog(FATAL) -> proc_exit() is probably a bad idea
Previous Message Mike Miller 2001-01-16 19:06:23 Re: INIT DB FAILURE