Re: [HACKERS] convert int to bytea

2007-11-29 Thread ohp
Hi Gregory
On Thu, 29 Nov 2007, Gregory Stark wrote:

 Date: Thu, 29 Nov 2007 14:34:57 +
 From: Gregory Stark [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 Cc: pgsql-hackers list pgsql-hackers@postgresql.org
 Subject: Re: convert int to bytea

 [EMAIL PROTECTED] writes:

  select 124::bytea doesn't work
 
  Is there an other way? (preferabily simple :)

 This kind of question would be more appropriate on pgsql-general.

I know, I should subscribe :)

 What do you want the resulting bytea to look like?

example : id = 9 , bytea = '\000\000\011' IIRC


-- 
Olivier PRENANT Tel: +33-5-61-50-97-00 (Work)
15, Chemin des Monges+33-5-61-50-97-01 (Fax)
31190 AUTERIVE   +33-6-07-63-80-64 (GSM)
FRANCE  Email: [EMAIL PROTECTED]
--
Make your life a dream, make your dream a reality. (St Exupery)

---(end of broadcast)---
TIP 5: don't forget to increase your free space map settings


Re: [HACKERS] convert int to bytea

2007-11-29 Thread Gregory Stark
[EMAIL PROTECTED] writes:

 select 124::bytea doesn't work

 Is there an other way? (preferabily simple :)

This kind of question would be more appropriate on pgsql-general.

What do you want the resulting bytea to look like?

-- 
  Gregory Stark
  EnterpriseDB  http://www.enterprisedb.com
  Get trained by Bruce Momjian - ask me about EnterpriseDB's PostgreSQL 
training!

---(end of broadcast)---
TIP 6: explain analyze is your friend


Re: [HACKERS] convert int to bytea

2007-11-29 Thread Douglas McNaught
On 11/29/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:

 On Thu, 29 Nov 2007, Gregory Stark wrote:

  What do you want the resulting bytea to look like?
 
 example : id = 9 , bytea = '\000\000\011' IIRC

What do you expect to happen when server and client are differently-endian?

-Doug

---(end of broadcast)---
TIP 3: Have you checked our extensive FAQ?

   http://www.postgresql.org/docs/faq


Re: [HACKERS] convert int to bytea

2007-11-29 Thread Usama Dar
Does it matter if you have written an explicit cast for int to bytea?

On Nov 29, 2007 9:00 PM, Douglas McNaught [EMAIL PROTECTED] wrote:

 On 11/29/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:

  On Thu, 29 Nov 2007, Gregory Stark wrote:
 
   What do you want the resulting bytea to look like?
  
  example : id = 9 , bytea = '\000\000\011' IIRC

 What do you expect to happen when server and client are
 differently-endian?

 -Doug

 ---(end of broadcast)---
 TIP 3: Have you checked our extensive FAQ?

   http://www.postgresql.org/docs/faq




-- 
Usama Munir Dar http://linkedin.com/in/usamadar
Consultant Architect
Cell:+92 321 5020666
Skype: usamadar


Re: [HACKERS] convert int to bytea

2007-11-29 Thread Zoltan Boszormenyi

Hi,

please don't top post to someone who didn't used this convention
in answering you. It's impolite. I edited the mail a bit to return sanity.

On Nov 29, 2007 9:00 PM, Douglas McNaught [EMAIL PROTECTED] 
mailto:[EMAIL PROTECTED] wrote:


On 11/29/07, [EMAIL PROTECTED] mailto:[EMAIL PROTECTED]
[EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote:

 On Thu, 29 Nov 2007, Gregory Stark wrote:

  What do you want the resulting bytea to look like?
 
 example : id = 9 , bytea = '\000\000\011' IIRC

What do you expect to happen when server and client are
differently-endian?

-Doug



Usama Dar írta:
 Does it matter if you have written an explicit cast for int to bytea?


You don't know what't endianness is, do you?
Say, you have a number: 0x12345678.
This is stored differently depending on the endianness.

Big-endian (like Sparc, Motorola, etc):
0x12 0x34 0x56 0x78

Little-endian (Intel-compatibles, etc):
0x78 0x56 0x34 0x12

So, how do you want your number to come out as a byte array?
Since a bytea is a sequence of bytes as stored in memory,
you may have different meaning for an int-bytea conversion.

It's your homework to look up what's network order is. :-)
But it would give you consistent answer no matter
what CPU your server uses.

--
--
Zoltán Böszörményi
Cybertec Schönig  Schönig GmbH
http://www.postgresql.at/



---(end of broadcast)---
TIP 4: Have you searched our list archives?

  http://archives.postgresql.org


Re: [HACKERS] convert int to bytea

2007-11-29 Thread Usama Dar
On Nov 29, 2007 9:35 PM, Zoltan Boszormenyi [EMAIL PROTECTED] wrote:

 Hi,

 please don't top post to someone who didn't used this convention
 in answering you. It's impolite. I edited the mail a bit to return sanity.

  On Nov 29, 2007 9:00 PM, Douglas McNaught [EMAIL PROTECTED]
  mailto:[EMAIL PROTECTED] wrote:
 
  On 11/29/07, [EMAIL PROTECTED] mailto:[EMAIL PROTECTED]
  [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote:
 
   On Thu, 29 Nov 2007, Gregory Stark wrote:
  
What do you want the resulting bytea to look like?
   
   example : id = 9 , bytea = '\000\000\011' IIRC
 
  What do you expect to happen when server and client are
  differently-endian?
 
  -Doug
 

 Usama Dar írta:
   Does it matter if you have written an explicit cast for int to bytea?
  

 You don't know what't endianness is, do you?
 Say, you have a number: 0x12345678.
 This is stored differently depending on the endianness.

 Big-endian (like Sparc, Motorola, etc):
 0x12 0x34 0x56 0x78

 Little-endian (Intel-compatibles, etc):
 0x78 0x56 0x34 0x12

 So, how do you want your number to come out as a byte array?
 Since a bytea is a sequence of bytes as stored in memory,
 you may have different meaning for an int-bytea conversion.

 It's your homework to look up what's network order is. :-)
 But it would give you consistent answer no matter
 what CPU your server uses.


1) i wasn't aware people are sensitive  to top email reply vs inline,
apologies if it offended you

2) i know what a byte order is , i just thought your interface i.e. libpq
would convert it to the local byte  order.



 --
 --
 Zoltán Böszörményi
 Cybertec Schönig  Schönig GmbH
 http://www.postgresql.at/





-- 
Usama Munir Dar http://linkedin.com/in/usamadar
Consultant Architect
Cell:+92 321 5020666
Skype: usamadar


Re: [HACKERS] convert int to bytea

2007-11-29 Thread Andrew Dunstan



Usama Dar wrote:




2) i know what a byte order is , i just thought your interface i.e. 
libpq would convert it to the local byte  order.




You haven't thought this through. Data traveling over libpq is still 
text, not binary, in most cases, so byte order is irrelevant at that 
time. The translation to a bytea (if possible) would be done after the 
data was already on the server and the int was in its native, 
architecture dependent form.


The short answer is thus still that there is no sane consistent cast 
from int to bytea.


If you want a bytea then it's really up to you to contruct the byte array.

cheers

andrew

---(end of broadcast)---
TIP 2: Don't 'kill -9' the postmaster