From: | Volkan YAZICI <volkan(dot)yazici(at)gmail(dot)com> |
---|---|
To: | PostgreSQL Interfaces <pgsql-interfaces(at)postgresql(dot)org> |
Subject: | Network Byte Order Coercion |
Date: | 2005-05-16 10:12:37 |
Message-ID: | 7104a73705051603121f1c35ab@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-interfaces |
Hi,
In libpq example program 3 (testlibpq3.c), an int4 field is converted
to host byte order:
{{{
/* Get the field values (we ignore possibility they are null!) */
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));
}}}
(As I saw while reading "An Essay on Endian Order" [1]) I'm not so
familiar with byte orders, but what's the point of coercion in here?
Should we do it in every integer field we retrieved? What's the
[dis]advantages of this? I'd be so appreciated for any explanation.
[1] http://www.cs.umass.edu/~verts/cs32/endian.html
Regards.
From | Date | Subject | |
---|---|---|---|
Next Message | Christoph Haller | 2005-05-18 11:09:42 | Re: Network Byte Order Coercion |
Previous Message | Tom Lane | 2005-05-14 18:51:13 | Re: Two seperate problems with libpq - arrays and bytea edit |