Andreas Pflug <pgadmin@pse-consulting.de> writes:
> Tom Lane wrote:
>
> >
> >2. Throw an error if the expression doesn't return boolean.
> >
> I'd opt for 2.
> It's quite common that newer compilers will detect more bogus coding
> than older ones. There might be existing functions that break from
> this because they rely on the current "feature", but there are
> probably others that will throw an exception, revealing bad coding
> (and delivering correct results just by chance, I've seen this more
> than once...)
I agree, and option 2 also makes sure that "bad" code will fail
cleanly, rather than possibly changing behavior and causing data
loss/corruption.
I agree with another poster that deprecation in 7.4 and removal in
7.5 might make sense.
-Doug