Re: AW: beta testing version - Mailing list pgsql-hackers

From Bruce Guenter
Subject Re: AW: beta testing version
Date
Msg-id 20001206185604.A22242@em.ca
Whole thread Raw
In response to Re: AW: beta testing version  (Daniele Orlandi <daniele@orlandi.com>)
Responses RE: AW: beta testing version  ("Christopher Kings-Lynne" <chriskl@familyhealth.com.au>)
List pgsql-hackers
On Wed, Dec 06, 2000 at 11:13:33PM +0000, Daniele Orlandi wrote:
> Bruce Guenter wrote:
> > - Assume that a CRC is a guarantee.  A CRC would be a good addition to
> >   help ensure the data wasn't broken by flakey drive firmware, but
> >   doesn't guarantee consistency.
> Even a CRC per transaction (it could be a nice END record) ?

CRCs are designed to catch N-bit errors (ie N bits in a row with their
values flipped).  N is (IIRC) the number of bits in the CRC minus one.
So, a 32-bit CRC can catch all 31-bit errors.  That's the only guarantee
a CRC gives.  Everything else has a 1 in 2^32-1 chance of producing the
same CRC as the original data.  That's pretty good odds, but not a
guarantee.
--
Bruce Guenter <bruceg@em.ca>                       http://em.ca/~bruceg/

pgsql-hackers by date:

Previous
From: ncm@zembu.com (Nathan Myers)
Date:
Subject: Re: RFC C++ Interface
Next
From: Bruce Guenter
Date:
Subject: Re: CRCs (was: beta testing version)