Re: Backport "WITH ... AS MATERIALIZED" syntax to <12? - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: Backport "WITH ... AS MATERIALIZED" syntax to <12?
Date
Msg-id e6e51f23-9e4a-12db-1771-45aa9e61fbbf@2ndQuadrant.com
Whole thread Raw
In response to Re: Backport "WITH ... AS MATERIALIZED" syntax to <12?  (Tomas Vondra <tomas.vondra@2ndquadrant.com>)
Responses Re: Backport "WITH ... AS MATERIALIZED" syntax to <12?
Re: Backport "WITH ... AS MATERIALIZED" syntax to <12?
List pgsql-hackers
On 10/19/19 6:48 AM, Tomas Vondra wrote:
> On Sat, Oct 19, 2019 at 11:56:56AM +0200, Andres Freund wrote:
>> Hi,
>>
>> On October 19, 2019 6:01:04 AM GMT+02:00, Andrew Gierth
>> <andrew@tao11.riddles.org.uk> wrote:
>>>>>>>> "Michael" == Michael Paquier <michael@paquier.xyz> writes:
>>>
>>> > On Fri, Oct 18, 2019 at 02:21:30PM +0100, Colin Watson wrote:
>>> >> However, an alternative would be to backport the new syntax to some
>>> >> earlier versions. "WITH ... AS MATERIALIZED" can easily just be
>>> >> synonymous with "WITH ... AS" in versions prior to 12; there's no
>>> >> need to support "NOT MATERIALIZED" since that's explicitly
>>> >> requesting the new query-folding feature that only exists in 12.
>>> >> Would something like the attached patch against REL_11_STABLE be
>>> >> acceptable? I'd like to backpatch it at least as far as PostgreSQL
>>> >> 10.
>>>
>>> Michael> I am afraid that new features don't gain a backpatch. This is
>>> Michael> a project policy. Back-branches should just include bug fixes.
>>>
>>> I do think an argument can be made for making an exception in this
>>> particular case. This wouldn't be backpatching a feature, just
>>> accepting
>>> and ignoring some of the new syntax to make upgrading easier.
>>
>> +1
>>
>
> +0.5
>
> In general, I'm not opposed to accepting and ignoring the MATERIALIZED
> syntax (assuming we'd only accept AS MATERIALIZED, but not the negative
> variant).
>
> FWIW I'm not sure the "we don't want to upgrade application code at the
> same time as the database" is really tenable. 



I'm -1 for exactly this reason.


In any case, if you insist on using the same code with pre-12 and
post-12 releases, this should be achievable (at least in most cases) by
using the "offset 0" trick, shouldn't it?


cheers


andrew


-- 
Andrew Dunstan                https://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services




pgsql-hackers by date:

Previous
From: Alexander Lakhin
Date:
Subject: Remove obsolete options for createuser
Next
From: Adrien Nayrat
Date:
Subject: Log statement sample - take two