• Bruce Momjian's avatar
    oid is needed, it is added at the end of the struct (after the null · b0f5086e
    Bruce Momjian authored
    bitmap, if present).
    
    Per Tom Lane's suggestion the information whether a tuple has an oid
    or not is carried in the tuple descriptor.  For debugging reasons
    tdhasoid is of type char, not bool.  There are predefined values for
    WITHOID, WITHOUTOID and UNDEFOID.
    
    This patch has been generated against a cvs snapshot from last week
    and I don't expect it to apply cleanly to current sources.  While I
    post it here for public review, I'm working on a new version against a
    current snapshot.  (There's been heavy activity recently; hope to
    catch up some day ...)
    
    This is a long patch;  if it is too hard to swallow, I can provide it
    in smaller pieces:
    
    Part 1:  Accessor macros
    Part 2:  tdhasoid in TupDesc
    Part 3:  Regression test
    Part 4:  Parameter withoid to heap_addheader
    Part 5:  Eliminate t_oid from HeapTupleHeader
    
    Part 2 is the most hairy part because of changes in the executor and
    even in the parser;  the other parts are straightforward.
    
    Up to part 4 the patched postmaster stays binary compatible to
    databases created with an unpatched version.  Part 5 is small (100
    lines) and finally breaks compatibility.
    
    Manfred Koizar
    b0f5086e
trigger.c 56.5 KB