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

From pgsql@mohawksoft.com
Subject Re: Function call order dependency
Date
Msg-id 45309.64.119.130.186.1220458259.squirrel@mail.mohawksoft.com
Whole thread Raw
In response to Re: Function call order dependency  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Function call order dependency  ("Robert Haas" <robertmhaas@gmail.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.

I was kind of afraid of that. So, how could one implement such a function
set?


pgsql-hackers by date:

Previous
From: Joshua Drake
Date:
Subject: Re: [PATCH] Cleanup of GUC units code
Next
From: Alvaro Herrera
Date:
Subject: Re: libpq object hooks (libpq events)