FE/BE docs and unsigned integers

Started by Jeff Davisover 12 years ago2 messagesdocs
Jump to latest
#1Jeff Davis
pgsql@j-davis.com

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

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Jeff Davis (#1)
Re: FE/BE docs and unsigned integers

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