On Thu, Dec 22, 2016 at 8:25 AM, Rui Pacheco <rui.pacheco@gmail.com> wrote:
> I’m toying around with the wire protocol and came across something I don’t understand.
>
> I created a table with two columns, one called “id” and one called “señor”. When I select from that table I get the
listof columns and while its fairly easy to identify the column with the name “id”, I’m not sure how to identify the
othercolumn:
>
> So this would be the ID column:
>
> […]
> [7] = 0x69
> [8] = 0x64
Yes this one maps to "id".
> And this señor:
> [47] = 0x01
> [48] = 0x03
> [49] = 0x00
> [50] = 0x00
The string is from here...
> [51] = 0x73
> [52] = 0x65
> [53] = 0xc3
> [54] = 0xb1
> [55] = 0x6f
> [56] = 0x72
To here. And then señor ends.
> What are the 4 bytes that precede the word señor? In other words, if I were to parse this, how would I know where the
columnname begins and ends?
I am not sure what message you used to query them, but the answer you
are looking for is much likely here:
https://www.postgresql.org/docs/9.6/static/protocol-message-formats.html
https://www.postgresql.org/docs/9.6/static/protocol-message-types.html
If you are looking at a reliable way to re-implement the frontend-side
protocol parsing the information according to those docs is the way to
go.
--
Michael