> -----Original Message-----
> From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
> Sent: Wednesday, March 16, 2005 5:42 PM
> To: Tambet Matiisen
> Cc: ch@rodos.fzk.de; pgsql-sql@postgresql.org
> Subject: Re: [SQL] How to force subquery scan?
>
>
> "Tambet Matiisen" <t.matiisen@aprote.ee> writes:
> > It seems that subquery scan is only used, when the query can not be
> > translated into single flat query. Which is mostly good, I assume.
>
> The planner thinks so anyway ;-)
>
> If you're desperate you can put in an optimization fence, for
> instance LIMIT or OFFSET.
>
> SELECT * FROM (SELECT ... OFFSET 0) ss;
>
> In principle the planner could figure out that this offset is
> a no-op, throw it away, and then flatten the query. But it
> doesn't at the moment, and I doubt we'll teach it to do so in
> the future.
>
> regards, tom lane
>
Thanks, that did the trick. It was a bit more strict than expected,
because WHERE of the outer query is not optimized into subquery. But
considering the semantics of OFFSET that seems reasonable and I can work
around it for now.
Tambet