Re: BUG #2962: 8.2.1 lo_creat Documentation incorrect? - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #2962: 8.2.1 lo_creat Documentation incorrect?
Date
Msg-id 29596.1170738342@sss.pgh.pa.us
Whole thread Raw
In response to BUG #2962: 8.2.1 lo_creat Documentation incorrect?  ("Gary Chambers" <gwchamb@gmail.com>)
Responses Re: BUG #2962: 8.2.1 lo_creat Documentation incorrect?  ("Gary Chambers" <gwchamb@gmail.com>)
List pgsql-bugs
"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

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: BUG #2963: PQprepare and transactions.
Next
From: "Martin Pitt"
Date:
Subject: BUG #2971: 8.1.7/8.2.2 break constraint checking for 'update'