On Jan 02 09:26, Mavinakuli, Prasanna (STSD) wrote:
> Could u give me one more favour..
> That is can u please elobarate on bytea order conversion...?
You can find lots of information about "byte order coersion" on the
internet. I'd suggest reading these links:
http://www.cs.umass.edu/~verts/cs32/endian.html
http://www.netrino.com/Publications/Glossary/Endianness.html
But for a "quick & dirty" answer:
o. You don't have to make any byte order coersion on types smaller
than 0xFF = 256 bytes - like char.
o. You _should_ make byte order coersion on types bigger than
256 bytes - like int. From PostgreSQL documentation's
libpq-example.html:
char *iptr;
int ival;
iptr = PQgetvalue(res, i, i_fnum);
/*
* The binary representation of INT4 is in network byte order,
* which we'd better coerce to the local byte order.
*/
ival = ntohl(*((uint32_t *) iptr));
Otherwise, you'll encounter different results in data transfers
on different architectures with different endianness.
Regards.
---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faq
|