]> granicus.if.org Git - postgresql/commit
Fix pg_dump's heuristic for deciding which casts to dump.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 11 Feb 2015 03:38:17 +0000 (22:38 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 11 Feb 2015 03:38:17 +0000 (22:38 -0500)
commita592e5883529b7a73188d1b325c30a5a4eee65e4
tree70ce5152558aaea55582abe2b6d92b9801935054
parent433c79d2c88009e4f4a053bc4e32a18719136611
Fix pg_dump's heuristic for deciding which casts to dump.

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 a6790ce85752b67ad994f55fdf1a450262ccc32e).  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.
src/bin/pg_dump/pg_dump.c