Re: Filter sequence - Mailing list pgsql-general

From Tom Lane
Subject Re: Filter sequence
Date
Msg-id 26974.1194293223@sss.pgh.pa.us
Whole thread Raw
In response to Filter sequence  (André Volpato<andre.volpato@ecomtecnologia.com.br>)
List pgsql-general
=?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

pgsql-general by date:

Previous
From: Erik Jones
Date:
Subject: Re: Is there a way to tell how far along a COPY is in the process?
Next
From: andy
Date:
Subject: Re: Is there a way to tell how far along a COPY is in the process?