From: | Volkan YAZICI <yazicivo(at)ttnet(dot)net(dot)tr> |
---|---|
To: | "Mavinakuli, Prasanna (STSD)" <prasanna(dot)b-m(at)hp(dot)com> |
Cc: | pgsql-interfaces(at)postgresql(dot)org |
Subject: | Re: Convertion of date/time binary format to text format |
Date: | 2006-01-02 14:49:15 |
Message-ID: | 20060102144915.GA589@alamut |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-interfaces |
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.
From | Date | Subject | |
---|---|---|---|
Next Message | JiangWei | 2006-01-06 01:16:31 | HOWTO pass "default value" to PQexecParams ? |
Previous Message | Tom Lane | 2005-12-30 23:52:15 | Re: PQfformat() and Composite Formatted Results |