Tom Lane wrote:
> Part of the reason for being conservative about changing here
> is that we've got a mix of standard and nonstandard behaviors
>
> A lot of this is legacy behavior that would never have passed muster
> if it had been newly proposed in the last few years --- we have gotten
> *far* stricter about SQL compliance than we used to be. But at this
> point backwards compatibility also has to weigh heavily.
Has there been any thought to eventually phasing them out?
Perhaps a GUC to give warnings in the log file when
they're encountered. I guess we'd need 3 levels of
warnings, "off, "reasonable" and "pedantic". When set
to the reasonable level it could only give smart warning
messages like Warning: Use of frivolous nonstandard behavior XXX. Hint: Use the standard YYY instead.
and when set to pedantic it would point out every
non-standard SQL statement - useful only for someone
to be aware of how much postgresql dependent behavior
they might have.
Then a farther future release could deprecate the
frivolous non-standard pieces presumably leading to
simpler code in the long run.