• Robert Haas's avatar
    Improve behavior of concurrent ALTER TABLE, and do some refactoring. · 1489e2f2
    Robert Haas authored
    ALTER TABLE (and ALTER VIEW, ALTER SEQUENCE, etc.) now use a
    RangeVarGetRelid callback to check permissions before acquiring a table
    lock.  We also now use the same callback for all forms of ALTER TABLE,
    rather than having separate, almost-identical callbacks for ALTER TABLE
    .. SET SCHEMA and ALTER TABLE .. RENAME, and no callback at all for
    everything else.
    
    I went ahead and changed the code so that no form of ALTER TABLE works
    on foreign tables; you must use ALTER FOREIGN TABLE instead.  In 9.1,
    it was possible to use ALTER TABLE .. SET SCHEMA or ALTER TABLE ..
    RENAME on a foreign table, but not any other form of ALTER TABLE, which
    did not seem terribly useful or consistent.
    
    Patch by me; review by Noah Misch.
    1489e2f2
tablecmds.c 297 KB