Обсуждение: BUG #2962: 8.2.1 lo_creat Documentation incorrect?
The following bug has been logged online: Bug reference: 2962 Logged by: Gary Chambers Email address: gwchamb@gmail.com PostgreSQL version: 8.2.1 Operating system: RHEL WS 4 (2.6.9-42.0.3.EL) Description: 8.2.1 lo_creat Documentation incorrect? Details: 8.2.1 documentation, section 30.4: SELECT lo_creat(-1); -- returns OID of new, empty large object The documentation states that a new, empty oid is returned if -1 is passed to either lo_creat or lo_create. This returns 2^32-1 on every invocation. Passing a zero seems to work correctly, however.
"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
> Your report seems a bit confused. Want to test a little more and try again? Nonsense! My report is not confused at all. The reporter, on the other hand, is -- was! I apologize for the bogus report. I hope to someday redeem myself for my inattention to detail. -- Gary Chambers // Nothing fancy and nothing Microsoft!