On Thu, 2008-10-02 at 09:35 +0300, Heikki Linnakangas wrote: > Jonah H. Harris wrote: > > Rather than potentially letting this slide past 8.4, I threw together > > an extremely quick-hack patch at the smgr-layer for block-level > > checksums. > > One hard problem is how to deal with torn pages with non-WAL-logged > changes. Like heap hint bit updates, killing tuples in index pages > during a scan, and the new FSM pages.
Hit bit updates and killing tuples in index pages during a scan can probably be brute-forced quite cheaply after we find a CRC mismatch. Not sure about new FSM pages. > Currently, a torn page when writing a hint-bit-updated page doesn't > matter, but it would break the checksum. Another idea is to just ignore non-WAL-logged bits when calculating CRC-s, by masking them out before adding corresponding bytes to CRC. This requires page-type aware CRC functions and is more expensive to calculate. How much more expensive is something that only testing can tell. Probably not very much, as everything needed should be in L1 caches already. --------------- Hannu -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers