This is not a bug. The problem was that I was not calling lo_unlink() after
consecutive lo_creat(), lo_close() calls. I found this out by looking at
the file system containing the database and seeing hundreds of xinvOID and
xinxOID files. After cleaning up these files I was able to run this program
without error.
> -----Original Message-----
> From: Barnes, Sandy (Sandra)
> Sent: Tuesday, August 29, 2000 11:06 AM
> To: 'pgsql-bugs@postgresql.org'; 'Tom Lane'
> Cc: Barnes, Sandy (Sandra)
> Subject: [BUG] calling lo_creat()
>
> Per Tom's suggestion I am submitting my problem to BUGS email list. Our
> project would like to use PostgreSQL in an embedded application that is
> highly reliant on creating, storing and accessing large objects. I had
> hoped that when lo_creat() returned a zero, I could test for this and call
> lo_creat() until a valid oid is returned. The Database log error tells me
> to recreate an index. Why ? How?... not sure what to do from here.
> Thank you in advance for the time you may spend on this !
>
> Platform: PostgreSQL 7.0.2 on RedHat6.2 Linux
> Test: Testing the creation of large objects. I was putting the large
> objects into a database table but this
> test program recreates the error for me without having to do that.
> Program Error: Can't create large objectoid [55592] 21
> Database Log Error: FATAL 1: my bits moved right off the end of the world!
> Recreate index
> pg_attribute_relid_attnum_index
>
>
>
>
> << File: testOid2.doc >>
>
>
> << File: output.doc >>
>
> Sandy Barnes
> email sandy.barnes@honeywell.com
>