I'm a bit unsatisfied with this output because it doesn't tell me the
plan it used to construct the CTE being scanned.

rhaas=# explain with wumpus as (select * from foo where id < 200)
select * from foo f, wumpus c, wumpus u where f.creator_id = c.id and
f.last_updater_id = u.id;
                                 QUERY PLAN
-----------------------------------------------------------------------------
 Hash Join  (cost=31.44..74.94 rows=1000 width=36)
   Hash Cond: (f.creator_id = c.id)
   InitPlan
     ->  Seq Scan on foo  (cost=0.00..18.50 rows=199 width=12)
           Filter: (id < 200)
   ->  Hash Join  (cost=6.47..36.22 rows=1000 width=24)
         Hash Cond: (f.last_updater_id = u.id)
         ->  Seq Scan on foo f  (cost=0.00..16.00 rows=1000 width=12)
         ->  Hash  (cost=3.98..3.98 rows=199 width=12)
               ->  CTE Scan on wumpus u  (cost=0.00..3.98 rows=199 width=12)
   ->  Hash  (cost=3.98..3.98 rows=199 width=12)
         ->  CTE Scan on wumpus c  (cost=0.00..3.98 rows=199 width=12)
(12 rows)

I haven't looked at what would be required to fix this, but I think we
should fix it before releasing 8.4.

...Robert

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to