I've been thinking that it's really not a good idea to make the OID
field optional without any indication in the tuple header whether it
is present. In particular, this will make life difficult for tools
like pg_filedump that try to display tuple headers without any outside
information. I think it'd be a good idea to expend a bit in t_infomask
to show whether an OID field is allocated or not.
We currently have two free bits in t_infomask, which is starting to get
a bit tight, but offhand I do not see anything else coming down the pike
that would need another bit. Also, we could consider expanding
t_infomask to three bytes if we had to.
Comments?
regards, tom lane