• Tom Lane's avatar
    Silently ignore any nonexistent schemas that are listed in search_path. · 880bfc32
    Tom Lane authored
    Previously we attempted to throw an error or at least warning for missing
    schemas, but this was done inconsistently because of implementation
    restrictions (in many cases, GUC settings are applied outside transactions
    so that we can't do system catalog lookups).  Furthermore, there were
    exceptions to the rule even in the beginning, and we'd been poking more
    and more holes in it as time went on, because it turns out that there are
    lots of use-cases for having some irrelevant items in a common search_path
    value.  It seems better to just adopt a philosophy similar to what's always
    been done with Unix PATH settings, wherein nonexistent or unreadable
    directories are silently ignored.
    
    This commit also fixes the documentation to point out that schemas for
    which the user lacks USAGE privilege are silently ignored.  That's always
    been true but was previously not documented.
    
    This is mostly in response to Robert Haas' complaint that 9.1 started to
    throw errors or warnings for missing schemas in cases where prior releases
    had not.  We won't adopt such a significant behavioral change in a back
    branch, so something different will be needed in 9.1.
    880bfc32
namespace.c 112 KB