• Alvaro Herrera's avatar
    Rework order of checks in ALTER / SET SCHEMA · 7ac5760f
    Alvaro Herrera authored
    When attempting to move an object into the schema in which it already
    was, for most objects classes we were correctly complaining about
    exactly that ("object is already in schema"); but for some other object
    classes, such as functions, we were instead complaining of a name
    collision ("object already exists in schema").  The latter is wrong and
    misleading, per complaint from Robert Haas in
    CA+TgmoZ0+gNf7RDKRc3u5rHXffP=QjqPZKGxb4BsPz65k7qnHQ@mail.gmail.com
    
    To fix, refactor the way these checks are done.  As a bonus, the
    resulting code is smaller and can also share some code with Rename
    cases.
    
    While at it, remove use of getObjectDescriptionOids() in error messages.
    These are normally disallowed because of translatability considerations,
    but this one had slipped through since 9.1.  (Not sure that this is
    worth backpatching, though, as it would create some untranslated
    messages in back branches.)
    
    This is loosely based on a patch by KaiGai Kohei, heavily reworked by
    me.
    7ac5760f
collationcmds.h 723 Bytes