On Tue, May 10, 2011 at 1:52 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> 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.
Eh, I'm confused. Explain further?
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company