• Alvaro Herrera's avatar
    Support user mappings in get_object_address · 890192e9
    Alvaro Herrera authored
    Since commit 72dd233d we were trying to obtain object addressing
    information in sql_drop event triggers, but that caused failures when
    the drops involved user mappings.  This addition enables that to work
    again.  Naturally, pg_get_object_address can work with these objects
    now, too.
    
    I toyed with the idea of removing DropUserMappingStmt as a node and
    using DropStmt instead in the DropUserMappingStmt grammar production,
    but that didn't go very well: for one thing the messages thrown by the
    specific code are specialized (you get "server not found" if you specify
    the wrong server, instead of a generic "user mapping for ... not found"
    which you'd get it we were to merge this with RemoveObjects --- unless
    we added even more special cases).  For another thing, it would require
    to pass RoleSpec nodes through the objname/objargs representation used
    by RemoveObjects, which works in isolation, but gets messy when
    pg_get_object_address is involved.  So I dropped this part for now.
    
    Reviewed by Stephen Frost.
    890192e9
event_trigger.out 22.8 KB