Re: PostgreSQL 9.6 behavior change with set returning (funct).*

From: "Regina Obe" <lr(at)pcorp(dot)us>
To: "'Merlin Moncure'" <mmoncure(at)gmail(dot)com>, "'Tom Lane'" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: "'PostgreSQL-development'" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: PostgreSQL 9.6 behavior change with set returning (funct).*
Date: 2016-03-23 23:29:17
Message-ID: 001901d1855b$d1efd910$75cf8b30$@pcorp.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


> I'm something of a backwards compatibility zealot, but I've become one for very good reasons. Personally, I'd rather we'd define precisely the usages that are deprecated (I guess SRF-tlist in the presence of
> FROM) and force them to error out with an appropriate HINT rather than give a different answer than they used to. The problem here is that LATERAL is still fairly new and there is a huge body of code out there leveraging the 'bad' way, as it was for years > and years the only way to do a number of useful things.

> merlin

FWIW: I prefer Merlin's solution of erroring out rather than returning an unexpected answer and if it's a buggy behavior it should be eradicated.

The reason is this. For many the (..).* ORDER BY .. looks equivalent to the lateral.
More than a trivial amount of my time has been spent explaining to people why their raster queries are so slow because the SRF is called multiple times and they should switch to LATERAL usage.

So if the old solution is still going to have the same penalty's I would much assume just scrap it and break people's code in a clear and noticeable way they can't ignore.

There is nothing more frustrating than code that still works but gives you an answer different than what you are expecting. Those kind of bugs stay buried for a while.

I think as long as it's noted in the release notes of the breaking change it's fine and called for if it makes your code cleaner and more manageable.

Thanks,
Regina

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2016-03-23 23:58:33 Re: Rationalizing code-sharing among src/bin/ directories
Previous Message Tom Lane 2016-03-23 22:34:08 Re: PostgreSQL 9.6 behavior change with set returning (funct).*