Fujii Masao <masao.fujii@gmail.com> writes:
> On Sun, Nov 24, 2013 at 10:58 AM, Peter Geoghegan <pg@heroku.com> wrote:
>> I decided that queryid should be of type oid, not bigint. This is
>> arguably a slight abuse of notation, but since ultimately Oids are
>> just abstract object identifiers (so say the docs), but also because
>> there is no other convenient, minimal way of representing unsigned
>> 32-bit integers in the view that I'm aware of, I'm inclined to think
>> that it's appropriate.
> There seems to be no problem even if we use bigint as the type of
> unsigned 32-bit integer like queryid. For example, txid_current()
> returns the transaction ID, i.e., unsigned 32-bit integer, as bigint.
> Could you tell me what the problem is when using bigint for queryid?
We're talking about the output of some view, right, not internal storage?
+1 for using bigint for that. Using OID is definitely an abuse, because
the value *isn't* an OID. And besides, what if we someday decide we need
64-bit keys not 32-bit?
regards, tom lane