Thread

  1. newoid in invapi.c

    Maurice Gittens <mgittens@gits.nl> — 1998-03-06T15:30:56Z

    Hi,
    
    In the file large_object/inv_api.c there is a statement in the function
    inv_create
    which goes:
    
        file_oid=newoid() + 1;
    
    later on a heap_create_with_catalog call is performed to create a heap
    for the large object called xinv<file_oid>.
    
    According to code (and the comments in the code) the assumption is that the
    oid
    of the heap_relation will be equal to the value of the variable file_oid.
    
    This of course will only be the case if nobody else called newoid()
    before the heap relation is created.
    
    This might lead the large object implementation to confuse
    large object relations with other relations.
    
    According to me this is a bug. I'm I right?
    
    Thanks,
    Maurice
    
    
    
    
  2. Re: [HACKERS] newoid in invapi.c

    Peter T Mount <psqlhack@maidast.demon.co.uk> — 1998-03-08T19:43:25Z

    On Fri, 6 Mar 1998, Maurice Gittens wrote:
    
    > Hi,
    > 
    > In the file large_object/inv_api.c there is a statement in the function
    > inv_create
    > which goes:
    > 
    >     file_oid=newoid() + 1;
    > 
    > later on a heap_create_with_catalog call is performed to create a heap
    > for the large object called xinv<file_oid>.
    > 
    > According to code (and the comments in the code) the assumption is that the
    > oid
    > of the heap_relation will be equal to the value of the variable file_oid.
    > 
    > This of course will only be the case if nobody else called newoid()
    > before the heap relation is created.
    > 
    > This might lead the large object implementation to confuse
    > large object relations with other relations.
    > 
    > According to me this is a bug. I'm I right?
    
    Yes, and no. LargeObjects are supposed to run within a transaction (if you
    don't then some fun things happen), and (someone correct me if I'm wrong)
    if newoid() is called from within the transaction, it is safe? 
    
    -- 
    Peter T Mount  petermount@earthling.net or pmount@maidast.demon.co.uk
    Main Homepage: http://www.demon.co.uk/finder
    Work Homepage: http://www.maidstone.gov.uk Work EMail: peter@maidstone.gov.uk