Tom Lane wrote:
>Here are some possible responses, roughly in order of difficulty
>to implement:
>
>1. Leave well enough alone (and perhaps document the behavior).
>
>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...)
Regards,
Andreas