• Robert Haas's avatar
    Improve behavior of concurrent rename statements. · 74a1d4fe
    Robert Haas authored
    Previously, renaming a table, sequence, view, index, foreign table,
    column, or trigger checked permissions before locking the object, which
    meant that if permissions were revoked during the lock wait, we would
    still allow the operation.  Similarly, if the original object is dropped
    and a new one with the same name is created, the operation will be allowed
    if we had permissions on the old object; the permissions on the new
    object don't matter.  All this is now fixed.
    
    Along the way, attempting to rename a trigger on a foreign table now gives
    the same error message as trying to create one there in the first place
    (i.e. that it's not a table or view) rather than simply stating that no
    trigger by that name exists.
    
    Patch by me; review by Noah Misch.
    74a1d4fe
tablecmds.h 2.3 KB