Re: [PATCHES] [HACKERS] Why copy_relation_data only use wal whenWALarchivingis enabled

2007-11-15 Thread Tom Lane
"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

2007-11-15 Thread Alex Vinokur
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

2007-11-15 Thread Heikki Linnakangas

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

2007-11-15 Thread Alex Vinokur
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