Re: Uh, this is *not* a 64-bit CRC ...
От | ncm@zembu.com (Nathan Myers) |
---|---|
Тема | Re: Uh, this is *not* a 64-bit CRC ... |
Дата | |
Msg-id | 20010228185118.C624@store.zembu.com обсуждение исходный текст |
Ответ на | Re: Uh, this is *not* a 64-bit CRC ... (Bruce Momjian <pgman@candle.pha.pa.us>) |
Ответы |
Re: Uh, this is *not* a 64-bit CRC ...
|
Список | pgsql-hackers |
On Wed, Feb 28, 2001 at 09:17:19PM -0500, Bruce Momjian wrote: > > On Wed, Feb 28, 2001 at 04:53:09PM -0500, Tom Lane wrote: > > > I just took a close look at the COMP_CRC64 macro in xlog.c. > > > > > > This isn't a 64-bit CRC. It's two independent 32-bit CRCs, one done > > > on just the odd-numbered bytes and one on just the even-numbered bytes > > > of the datastream. That's hardly any stronger than a single 32-bit CRC; > > > it's certainly not what I thought we had agreed to implement. > > > > > > We can't change this algorithm without forcing an initdb, which would be > > > a rather unpleasant thing to do at this late stage of the release cycle. > > > But I'm not happy with it. Comments? > > > > This might be a good time to update: > > > > The CRC-64 code used in the SWISS-PROT genetic database is (now) at: > > > > ftp://ftp.ebi.ac.uk/pub/software/swissprot/Swissknife/old/SPcrc.tar.gz > > > > From the README: > > > > The code in this package has been derived from the BTLib package > > obtained from Christian Iseli <chris@ludwig-alpha.unil.ch>. > > From his mail: > > > > The reference is: W. H. Press, S. A. Teukolsky, W. T. Vetterling, and > > B. P. Flannery, "Numerical recipes in C", 2nd ed., Cambridge University > > Press. Pages 896ff. > > > > The generator polynomial is x64 + x4 + x3 + x1 + 1. > > > > I would suggest that if you don't change the algorithm, at least change > > the name in the sources. Were you to #ifdef in a real crc-64, and make > > a compile-time option to select the old one, you could allow users who > > wish to avoid the initdb a way to continue with the existing pair of > > CRC-32s. > > Added to TODO: > > * Correct CRC WAL code to be normal CRC32 algorithm Um, how about * Correct CRC WAL code to be a real CRC64 algorithm instead? Nathan Myers ncm@zembu.com
В списке pgsql-hackers по дате отправления: