Re: Block-level CRC checks - Mailing list pgsql-hackers

From Simon Riggs
Subject Re: Block-level CRC checks
Date
Msg-id 1259930923.13774.38288.camel@ebony
Whole thread Raw
In response to Re: Block-level CRC checks  (Bruce Momjian <bruce@momjian.us>)
Responses Re: Block-level CRC checks  (Bruce Momjian <bruce@momjian.us>)
Re: Block-level CRC checks  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Fri, 2009-12-04 at 07:12 -0500, Bruce Momjian wrote:

> I think the hint bit has to be added to the item pointer, by using the
> offset bits that are already zero, according to Greg Stark.  That
> solution leads to easy programming, no expanding hint bit array, and it
> is backward compatible so doesn't cause problems for pg_migrator.

Seems like a reasonable way forward. 

As I pointed out here
http://archives.postgresql.org/pgsql-hackers/2009-12/msg00056.php
we only need to use 3 bits not 4, but it does limit tuple length to 4096
for all block sizes. (Two different options there for doing that).

An added advantage of this approach is that the cachelines for the item
pointer array will already be in CPU cache, so there is no additional
access time when we set the hint bits when they are moved to their new
position.

I should also point out that removing 4 bits from the tuple header would
allow us to get rid of t_infomask2, reducing tuple length by a further 2
bytes.

-- Simon Riggs           www.2ndQuadrant.com



pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Block-level CRC checks
Next
From: Alvaro Herrera
Date:
Subject: Re: Block-level CRC checks