Stephen Frost <sfrost@snowman.net> writes:
> * Tom Lane (tgl@sss.pgh.pa.us) wrote:
>> I have a vague feeling that the code for dumping casts and/or transforms
>> may have some assumptions that the underlying function is also being
>> dumped. Although maybe the assumption was really only what's fixed here,
>> ie that there be a DumpableObject for the function. Anyway, take a close
>> look for that.
> I'll look around and see, though my hunch is that, at some point, we
> were just pulling all functions and then an optimization was added to
> exclude pg_catalog and no one noticed that it broke casts using built-in
> functions.
Nah, that's historical revisionism --- the exclusion for system functions
is very ancient. It certainly predates transforms altogether, and
probably predates the cast-dumping code in anything like its current form.
I think the expectation was that casts using built-in functions were
also built-in and so needn't be dumped. There may be a comment about it
somewhere, which would need to be revised now.
(Actually, the most likely way in which this would break things is if
it started causing built-in casts to get dumped ... have you checked?)
regards, tom lane