• Noah Misch's avatar
    Fix pg_dump for GRANT OPTION among initial privileges. · f713ff7c
    Noah Misch authored
    The context is an object that no longer bears some aclitem that it bore
    initially.  (A user issued REVOKE or GRANT statements upon the object.)
    pg_dump is forming SQL to reproduce the object ACL.  Since initdb
    creates no ACL bearing GRANT OPTION, reaching this bug requires an
    extension where the creation script establishes such an ACL.  No PGXN
    extension does that.  If an installation did reach the bug, pg_dump
    would have omitted a semicolon, causing a REVOKE and the next SQL
    statement to fail.  Separately, since the affected code exists to
    eliminate an entire aclitem, it wants plain REVOKE, not REVOKE GRANT
    OPTION FOR.  Back-patch to 9.6, where commit
    23f34fa4 first appeared.
    
    Discussion: https://postgr.es/m/20210109102423.GA160022@rfd.leadboat.com
    f713ff7c
001_base.pl 21.9 KB