Tom Lane wrote:
Um, is that really considered a fix??? We all know that there's no
guarantee at all, even in ANSI C, that unsigned int isn't bigger than
32 bits, right?
OID is 32 bits. Full stop.
I should know better than to argue about this, but:
In that case, casting it as in the OP's code sample seems problematic
in the other direction:
sprintf(buf, "%u", (unsigned int)PQoidValue(results));
since unsigned int could be as small as 16 bits, thus truncating the
OID value.
Ok, I'll stop now, I promise.
- John D. Burger
MITRE