Hi all,
while implementing the protocol 3.0 I could get the data in text mode setting the format to 0. (Thanks all for helping me out with flush message)
Now, I want to test the binary format. While some primitive types are easy to realize, for example a int4 field will be encoded in 4 bytes,
I don't know how other types, like date, time, timestamp, text will be encoded in binary format.
I tried to find in the code how it would be encoded, but I end up in some dinamically called functions to do the output and I don't know where this functions are defined.
Can you provide me some tips where the functions are or the binary format used to encode the types?
While writing this mail, I saw the docs about binary types... So, my assumption about int4 be encoded in 4 bytes may be wrong? I mean, the return of an int4 value, for example 12345 in text would be the chars 12345, but in binary format would be the bytes of 1 2 3 4 5?? Instead of a 4 bytes int4 value?
The first 4 bytes of bytea is its length? I think I saw something about this in the code. So in the example below I would get a first 4 bytes containing the length (5) of the bytes?
Also, just question:
If I have a field which has binary type and I use the extended protocol to set all result fields to text, will this field also be sent in text, regardless its type?
Thanks in advance!
-- Regards,
Francisco Figueiredo Jr.
------ "My grandfather once told me that there are two kinds of people: those who work and those who take the credit. He told me to try to be in the first group; there was less competition there." - Indira Gandhi
---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend