]> 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:26 +0000 (22:38 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 11 Feb 2015 03:38:26 +0000 (22:38 -0500)
commit14794f9b8ef9e555b93fd1d8f55594b821410f8e
tree956ea60a12ac8019a4c05fd96ecd2c6841a0e0a9
parent52579d507e624d3e24a062aba741b985b60c40b7
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