> 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?
That embeds a temporary hack in the application code indefinitely.
If only we had Guido's (Python) time machine. We could go back and start accepting "AS MATERIALIZED" as noise words starting from version 7 or something.