Robert Haas <robertmhaas@gmail.com> writes:
> On Fri, Jun 15, 2018 at 10:53 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> I'm a bit hesitant to muck with this behavior, given that it's stood
>> for ~20 years. However, if we did want to touch it, maybe the right
>> thing would be to give up the absolutist position that f(x) and x.f
>> are exactly interchangeable. We could say instead that we prefer the
>> function interpretation if function syntax is used, and the column
>> interpretation if column syntax is used. I don't know how likely
>> that is to break existing apps ... perhaps not very, but I wouldn't
>> risk back-patching it in any case.
> For the record, I fear that this change (committed as
> b97a3465d73bfc2a9f5bcf5def1983dbaa0a26f8) is going to break more
> things than have been foreseen in this thread. I do not have a
> specific theory about how that's going to happen, just vague unease.
Yeah, that's why I wouldn't back-patch it. But certainly the behavior
Neil complained of is pretty bad as well, and it's only going to get
worse as we invent more functions taking record. I think the new
behavior is a clear improvement. If it breaks any apps that were
relying on interpreting f(x) as a column, they can fix it by writing
x.f instead. We inflict worse upgrade pain than that on a regular
basis.
regards, tom lane