Re: Function call order dependency - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Function call order dependency
Date
Msg-id 20971.1220454319@sss.pgh.pa.us
Whole thread Raw
In response to Function call order dependency  (pgsql@mohawksoft.com)
Responses Re: Function call order dependency  (pgsql@mohawksoft.com)
Re: Function call order dependency  (pgsql@mohawksoft.com)
List pgsql-hackers
pgsql@mohawksoft.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


pgsql-hackers by date:

Previous
From: "Joshua D. Drake"
Date:
Subject: Re: [PATCH] Cleanup of GUC units code
Next
From: "Stephen R. van den Berg"
Date:
Subject: Re: Function call order dependency