On Thu, May 14, 2009 at 4:52 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> "Brad Jorsch" <programmer@protech1inc.com> writes:
>> But if I add a constant-valued column to indicate which branch of the
>> union each result came from:
>
>> explain analyze select * from baz join (
>> select id, val, 'foo'::text as source from foo
>> union all
>> select id, val, 'bar'::text as source from bar
>> ) as foobar on(baz.id2=foobar.id) where baz.id1=42;
>
>> All of a sudden it insists on a sequential scan (and takes 800 times as
>> long to run) even when enable_seqscan is set false. Is there a good
>> reason for this, or is it just a missed opportunity in the optimizer?
>
> It's an ancient and fundamental limitation that is fixed in 8.4.
> Do not expect to see it fixed in 8.3.x.
Does this also apply to the case of a join on an inherited table ?
example: http://archives.postgresql.org/pgsql-performance/2003-10/msg00018.php
Kind regards,
Mathieu