• Marc G. Fournier's avatar
    Here's a patch for Versions 1 and 2 that fixes the following bug: · 5e773a4f
    Marc G. Fournier authored
    When you try to do any UPDATE of the catalog class pg_class, such as
    to change ownership of a class, the backend crashes.
    
    This is really two serial bugs: 1) there is a hardcoded copy of the
    schema of pg_class in the postgres program, and it doesn't match the
    actual class that initdb creates in the database; 2) Parts of postgres
    determine whether to pass an attribute value by value or by reference
    based on the attbyval attribute of the attribute in class
    pg_attribute.  Other parts of postgres have it hardcoded.  For the
    relacl[] attribute in class pg_class, attbyval does not match the
    hardcoded expectation.
    
    The fix is to correct the hardcoded schema for pg_attribute and to
    change the fetchatt macro so it ignores attbyval for all variable
    length attributes.  The fix also adds a bunch of logic documentation and
    extends genbki.sh so it allows source files to contain such documentation.
    
    --
    Bryan Henderson                                    Phone 408-227-6803
    San Jose, California
    5e773a4f
tupmacs.h 2.06 KB