Robert Haas <robertmhaas@gmail.com> writes:
> On Mon, May 9, 2011 at 11:32 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> So we basically had three alternatives to make it better:
>> * downcast to the array type, which would possibly silently
>> break applications that were relying on the function result
>> being considered of the domain type
>> * re-apply domain checks on the function result, which would be
>> a performance hit and possibly again result in unobvious
>> breakage
>> * explicitly break it by throwing a parse error until you
>> downcast (and then upcast the function result if you want)
>> I realize that #3 is a bit unpleasant, but are either of the other two
>> better? At least #3 shows you where you need to check for problems.
> Aren't any applications that would be broken by #1 broken already?
My point is that doing #1 would break them *silently* --- if you did
have a problem, figuring out what it was could require a great deal
of sleuthing.
regards, tom lane