Receiving data in binary format how is it encoded?
От | Francisco Figueiredo Jr. |
---|---|
Тема | Receiving data in binary format how is it encoded? |
Дата | |
Msg-id | 3F083740.3060204@yahoo.com.br обсуждение исходный текст |
Ответы |
Re: Receiving data in binary format how is it encoded?
|
Список | pgsql-hackers |
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
В списке pgsql-hackers по дате отправления: