Re: [PATCHES] [HACKERS] Why copy_relation_data only use wal whenWALarchivingis enabled
"Heikki Linnakangas" <[EMAIL PROTECTED]> writes: > Here's an updated version of the patch. There was a bogus assertion in > the previous one, comparing against mdsync_cycle_ctr instead of > mdunlink_cycle_ctr. Applied with minor corrections. I'm not sure whether we should consider back-patching this. Thoughts? regards, tom lane ---(end of broadcast)--- TIP 7: You can help support the PostgreSQL project by donating at http://www.postgresql.org/about/donate
Re: [PATCHES] hashlittle(), hashbig(), hashword() and endianness
On Nov 15, 10:40 am, Alex Vinokur <[EMAIL PROTECTED]> wrote: [snip] > I have some question concerning Bob Jenkins' functions > hashword(uint32_t*, size_t), hashlittle(uint8_t*, size_t) and > hashbig(uint8_t*, size_t) in lookup3.c. > > Let k1 by a key: uint8_t* k1; strlen(k1)%sizeof(uint32_t) == 0. > > 1. hashlittle(k1) produces the same value on Little-Endian and Big- > Endian machines. >Let hashlittle(k1) be == L1. > > 2. hashbig(k1) produces the same value on Little-Endian and Big-Endian > machines. >Let hashbig(k1) be == B1. > > L1 != B1 > > 3. hashword((uint32_t*)k1) produces > * L1 on LittleEndian machine and > * B1 on BigEndian machine. > === > - > The question is: is it possible to change hashword() to get > * L1 on Little-Endian machine and > * B1 on Big-Endian machine >? Sorry, it should be as follows: Is it possible to create two new hash functions on basis of hashword(): i) hashword_little () that produces L1 on Little-Endian and Big- Endian machines; ii) hashword_big ()that produces B1 on Little-Endian and Big- Endian machines ? Thanks. Alex Vinokur email: alex DOT vinokur AT gmail DOT com http://mathforum.org/library/view/10978.html http://sourceforge.net/users/alexvn ---(end of broadcast)--- TIP 7: You can help support the PostgreSQL project by donating at http://www.postgresql.org/about/donate
Re: [PATCHES] hashlittle(), hashbig(), hashword() and endianness
Alex Vinokur wrote: On Nov 15, 10:40 am, Alex Vinokur <[EMAIL PROTECTED]> wrote: [snip] I have some question concerning Bob Jenkins' functions hashword(uint32_t*, size_t), hashlittle(uint8_t*, size_t) and hashbig(uint8_t*, size_t) in lookup3.c. Let k1 by a key: uint8_t* k1; strlen(k1)%sizeof(uint32_t) == 0. 1. hashlittle(k1) produces the same value on Little-Endian and Big- Endian machines. Let hashlittle(k1) be == L1. 2. hashbig(k1) produces the same value on Little-Endian and Big-Endian machines. Let hashbig(k1) be == B1. L1 != B1 3. hashword((uint32_t*)k1) produces * L1 on LittleEndian machine and * B1 on BigEndian machine. === - The question is: is it possible to change hashword() to get * L1 on Little-Endian machine and * B1 on Big-Endian machine ? Sorry, it should be as follows: Is it possible to create two new hash functions on basis of hashword(): i) hashword_little () that produces L1 on Little-Endian and Big- Endian machines; ii) hashword_big ()that produces B1 on Little-Endian and Big- Endian machines ? Why? -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com ---(end of broadcast)--- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq
[PATCHES] hashlittle(), hashbig(), hashword() and endianness
On Oct 27, 10:15 pm, [EMAIL PROTECTED] (Kenneth Marshall) wrote: > Dear PostgreSQL Developers, > > This patch is a "diff -c" against the hashfunc.c from postgresql-8.3beta1. > It implements the 2006 version of the hash function by Bob Jenkins. Its > features include a better and faster hash function. I have included the > versions supporting big-endian and little-endian machines that will be > selected based on the machine configuration. [snip] I have some question concerning Bob Jenkins' functions hashword(uint32_t*, size_t), hashlittle(uint8_t*, size_t) and hashbig(uint8_t*, size_t) in lookup3.c. Let k1 by a key: uint8_t* k1; strlen(k1)%sizeof(uint32_t) == 0. 1. hashlittle(k1) produces the same value on Little-Endian and Big- Endian machines. Let hashlittle(k1) be == L1. 2. hashbig(k1) produces the same value on Little-Endian and Big-Endian machines. Let hashbig(k1) be == B1. L1 != B1 3. hashword((uint32_t*)k1) produces * L1 on LittleEndian machine and * B1 on BigEndian machine. - The question is: is it possible to change hashword() to get * L1 on Little-Endian machine and * B1 on Big-Endian machine ? Thanks. Alex Vinokur email: alex DOT vinokur AT gmail DOT com http://mathforum.org/library/view/10978.html http://sourceforge.net/users/alexvn ---(end of broadcast)--- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq