22 messages in org.postgresql.pgsql-jdbcRe: Binary tx format for an array?
FromSent OnAttachments
Michael GuyverJun 21, 2006 10:26 am 
Dave CramerJun 21, 2006 12:55 pm 
Mark LewisJun 21, 2006 1:31 pm 
Tom LaneJun 21, 2006 3:40 pm 
Michael GuyverJun 22, 2006 1:16 am 
Tom LaneJun 22, 2006 9:54 am 
Mark LewisJun 22, 2006 12:15 pm 
Michael GuyverJun 23, 2006 1:22 am 
Dave CramerJun 23, 2006 4:43 am 
Markus SchaberJun 23, 2006 4:59 am 
Michael GuyverJun 23, 2006 5:46 am 
Dave CramerJun 23, 2006 5:56 am 
Dave CramerJun 23, 2006 6:16 am 
Tom LaneJun 23, 2006 9:18 am 
Mark LewisJun 23, 2006 1:31 pm 
Dave CramerJun 23, 2006 1:39 pm 
Kris JurkaJun 23, 2006 1:46 pm 
Mark LewisJun 23, 2006 1:59 pm 
Marc HerbertJul 10, 2006 2:19 am 
Mark LewisJul 10, 2006 9:18 am 
Marc HerbertJul 10, 2006 10:53 am 
Mark LewisJul 10, 2006 11:59 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: Binary tx format for an array? Actions...
From:Tom Lane (tg@sss.pgh.pa.us)
Date:Jun 22, 2006 9:54:46 am
List:org.postgresql.pgsql-jdbc

"Michael Guyver" <kene@googlemail.com> writes:

are the bytes representing an int4 Oid simply 23, represented in variable buf as

[0x17][0x00][0x00][0x00]

No, in the buffer they'll be in network (big-endian) byte order,

[0x00][0x00][0x00][0x17]

If you are running in a little-endian architecture (eg Intel) then at some point you'll be wanting to reverse the byte order to make a native integer. In C you'd use ntohl() to do this. I'm not sure what's the appropriate thing in Java --- I was under the impression that Java tried to hide hardware details like endianness, so there may be some convention about how you turn a sequence of bytes into a native integer.