pgsql(at)mohawksoft(dot)com writes:
> For example I'll use the Oracle "contains" function, though this is not
> exactly what I'm doing, it just illustrates the issue clearly.
> select *, score(1) from mytable where contains(mytable.title, 'Winding
> Road', 1) order by score(1);
> The "contains" function does a match against mytable.title for the term
> 'Winding Road' and both returns and saves an integer score which may be
> retrieved later using the "score(...)" function.
This is just a bad, bad idea. Side-effects in a WHERE-clause function
are guaranteed to cause headaches. When (not if) it breaks, you get
to keep both pieces.
regards, tom lane