• Tom Lane's avatar
    Fix "unexpected relkind" error when denying permissions on toast tables. · a30531c5
    Tom Lane authored
    get_relkind_objtype, and hence get_object_type, failed when applied to a
    toast table.  This is not a good thing, because it prevents reporting of
    perfectly legitimate permissions errors.  (At present, these functions
    are in fact *only* used to determine the ObjectType argument for
    acl_error() calls.)  It seems best to have them fall back to returning
    OBJECT_TABLE in every case where they can't determine an object type
    for a pg_class entry, so do that.
    
    In passing, make some edits to alter.c to make it more obvious that
    those calls of get_object_type() are used only for error reporting.
    This might save a few cycles in the non-error code path, too.
    
    Back-patch to v11 where this issue originated.
    
    John Hsu, Michael Paquier, Tom Lane
    
    Discussion: https://postgr.es/m/C652D3DF-2B0C-4128-9420-FB5379F6B1E4@amazon.com
    a30531c5
create_index.sql 37.1 KB