"Gary Chambers" <gwchamb@gmail.com> writes:
> 8.2.1 documentation, section 30.4:
> SELECT lo_creat(-1); -- returns OID of new, empty large object
That works for me ...
> The documentation states that a new, empty oid is returned if -1 is passed
> to either lo_creat or lo_create.
It says no such thing about lo_create(). Now AFAICS lo_creat() doesn't
pay any attention to its argument --- the fact that it even takes one is
historical. So -1 or any other input value would behave the same.
But lo_create(-1) would try to create a LO numbered 2^32-1 which would
work the first time and not thereafter.
> This returns 2^32-1 on every invocation. Passing a zero seems to work
> correctly, however.
Looking at the code, it appears that lo_create(0) will behave like
lo_creat(), that is create a LO with an unspecified OID.
Your report seems a bit confused. Want to test a little more and
try again?
regards, tom lane