Merlin Moncure <mmoncure@gmail.com> writes:
> On Thu, Nov 4, 2010 at 12:14 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> "Kevin Grittner" <Kevin.Grittner@wicourts.gov> writes:
>>> Merlin Moncure <mmoncure@gmail.com> wrote:
>>>> create type x as (a int, b int);
>>>> select f((1,2));
>> I think Merlin probably meant to write "select x((1,2))", but that
>> doesn't work out-of-the-box either. What would be affected is
>> something like
> Actually I didn't -- I left out that there was a function f taking x.
Ah. No, that would still work after the change. The case that I'm
proposing to break is using function-ish notation to invoke a cast
from a composite type to some other type whose name you use as if it
were a function. Even there, if you've created such a cast following
the usual convention of naming the cast function after the target type,
it'll still act the same. It's just the built-in I/O-based casts that
will stop working this way (for lack of a matching underlying function).
regards, tom lane