FE/BE docs and unsigned integers
The documentation doesn't give much of a hint that the protocol is using
unsigned integers. For instance, under ParameterDescription here:
http://www.postgresql.org/docs/9.3/static/protocol-message-formats.html
it says that the object ID is an Int32, which is described here:
http://www.postgresql.org/docs/9.3/static/protocol-message-types.html
as just a plain 32-bit integer. But the code (e.g.
getParamDescriptions()) is clearly reading it into an Oid, which is
unsigned.
Is there a reason this isn't clear? Is it meant to be ambiguous because
(as far as the protocol is concerned) it's just an opaque 32 bits?
It seems like it's worth a note somewhere at least.
Regards,
Jeff Davis
--
Sent via pgsql-docs mailing list (pgsql-docs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-docs
Jeff Davis <pgsql@j-davis.com> writes:
The documentation doesn't give much of a hint that the protocol is using
unsigned integers. For instance, under ParameterDescription here:
http://www.postgresql.org/docs/9.3/static/protocol-message-formats.html
it says that the object ID is an Int32, which is described here:
http://www.postgresql.org/docs/9.3/static/protocol-message-types.html
as just a plain 32-bit integer. But the code (e.g.
getParamDescriptions()) is clearly reading it into an Oid, which is
unsigned.
Is there a reason this isn't clear? Is it meant to be ambiguous because
(as far as the protocol is concerned) it's just an opaque 32 bits?
I think it was just laziness, and/or not wanting to add a uint32 type
to the documentation's notation, since (IIRC) there aren't any places
where a field is unsigned and that really matters to the protocol.
If you think it's worth being more precise, feel free to submit a patch.
regards, tom lane
--
Sent via pgsql-docs mailing list (pgsql-docs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-docs