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 ...  (Bruce Momjian <pgman@candle.pha.pa.us>)
Список 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 по дате отправления:

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: Uh, this is *not* a 64-bit CRC ...
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: Uh, this is *not* a 64-bit CRC ...