=?ISO-8859-1?Q?Andr=E9_Volpato?= <andre.volpato@ecomtecnologia.com.br> writes:
> select u2.cod, u2.name
> from
> (
> select u.cod, u.name
> from users u
> where age between 0 and 44 and sex='F'
> group by u.cod, u.name
> ) u2
> group by u2.cod, u2.name
> having
> getSalaryPeriod(1997,1999,u2.cod) > 1000
> I want the planner to filter the user age and sex (wich restricts the
> results and groups the user cod), and after that, run getSalaryPeriod
> ONLY in the results of the subquery u2. Instead, its filtering the age,
> sex and the salary in the same point :
The standard hack is to add "OFFSET 0" to the subquery --- this will
serve as an "optimization fence" without actually changing its results.
regards, tom lane