• Tom Lane's avatar
    Fix pg_dump's heuristic for deciding which casts to dump. · 9feefedf
    Tom Lane authored
    Back in 2003 we had a discussion about how to decide which casts to dump.
    At the time pg_dump really only considered an object's containing schema
    to decide what to dump (ie, dump whatever's not in pg_catalog), and so
    we chose a complicated idea involving whether the underlying types were to
    be dumped (cf commit a6790ce8).  But users
    are allowed to create casts between built-in types, and we failed to dump
    such casts.  Let's get rid of that heuristic, which has accreted even more
    ugliness since then, in favor of just looking at the cast's OID to decide
    if it's a built-in cast or not.
    
    In passing, also fix some really ancient code that supposed that it had to
    manufacture a dependency for the cast on its cast function; that's only
    true when dumping from a pre-7.3 server.  This just resulted in some wasted
    cycles and duplicate dependency-list entries with newer servers, but we
    might as well improve it.
    
    Per gripes from a number of people, most recently Greg Sabino Mullane.
    Back-patch to all supported branches.
    9feefedf
common.c 22.7 KB