| From: | pgsql(at)mohawksoft(dot)com | 
|---|---|
| To: | "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us> | 
| Cc: | pgsql-hackers(at)postgresql(dot)org | 
| Subject: | Re: Function call order dependency | 
| Date: | 2008-09-03 16:10:59 | 
| Message-ID: | 45309.64.119.130.186.1220458259.squirrel@mail.mohawksoft.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
> 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.
I was kind of afraid of that. So, how could one implement such a function
set?
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Andrew Chernow | 2008-09-03 16:26:43 | libpq events patch | 
| Previous Message | Joshua Drake | 2008-09-03 16:10:18 | Re: [PATCH] Cleanup of GUC units code |