Re: CTE optimization fence on the todo list?

From: Jim Nasby <Jim(dot)Nasby(at)BlueTreble(dot)com>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Josh Berkus <josh(at)agliodbs(dot)com>, <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: CTE optimization fence on the todo list?
Date: 2015-05-04 02:03:15
Message-ID: 5546D363.6090307@BlueTreble.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 5/3/15 11:59 AM, Andrew Dunstan wrote:
>
> On 05/03/2015 11:49 AM, Tom Lane wrote:
>> Andrew Dunstan <andrew(at)dunslane(dot)net> writes:
>>> On 05/01/2015 07:24 PM, Josh Berkus wrote:
>>>>> (A possible compromise position would be to offer a new GUC to
>>>>> enable/disable the optimization globally; that would add only a
>>>>> reasonably
>>>>> small amount of control code, and people who were afraid of the change
>>>>> breaking their apps would probably want a global disable anyway.)
>>> This could be a very bad, almost impossible to catch, behaviour break.
>>> Even if we add the GUC, we're probably going to be imposing very
>>> significant code audit costs on some users.
>> On what grounds do you claim it'd be a behavior break? It's possible
>> that the subquery flattening would result in less-desirable plans not
>> more-desirable ones, but the results should still be correct.
>
> I meant w.r.t. performance. Sorry if that wasn't clear.

To put this in perspective... I've seen things like this take query
runtime from minutes to multiple hours or worse; bad enough that
"behavior break" becomes a valid description.

We definitely need to highlight this in the release notes, and I think
the GUC would be mandatory.
--
Jim Nasby, Data Architect, Blue Treble Consulting
Data in Trouble? Get it in Treble! http://BlueTreble.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jim Nasby 2015-05-04 02:10:02 Re: [HACKERS] optimization join on random value
Previous Message Tom Lane 2015-05-04 00:54:08 Re: Cast has higher precedence than -