Re: Using the same condition twice - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Using the same condition twice
Date
Msg-id 5000.1038174969@sss.pgh.pa.us
Whole thread Raw
In response to Re: Using the same condition twice  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
I wrote:
> Interesting.  We seem to recognize the fact that the extra clause is
> redundant in nearly all places ... but not in indexscan plan generation.

> I tried this simplified test case:

> create table t_wert(werttypid int);
> create table t_werttyp(id int);
> create index idx_wert_werttypid on t_wert(werttypid);

> explain select * from
> t_wert JOIN t_werttyp ON (t_werttyp.id = t_wert.werttypid)
> where t_werttyp.id = t_wert.werttypid;

> explain select * from
> t_wert JOIN t_werttyp ON (t_werttyp.id = t_wert.werttypid);


FYI, I have committed changes that seem to fix this problem in CVS tip.

regression=# set enable_mergejoin to 0;
SET
regression=# set enable_hashjoin to 0;
SET
regression=# explain select * from
regression-# t_wert JOIN t_werttyp ON (t_werttyp.id = t_wert.werttypid)
regression-# where t_werttyp.id = t_wert.werttypid;                                      QUERY PLAN
----------------------------------------------------------------------------------------Nested Loop
(cost=0.00..17150.00rows=5000 width=8)  ->  Seq Scan on t_werttyp  (cost=0.00..20.00 rows=1000 width=4)  ->  Index Scan
usingidx_wert_werttypid on t_wert  (cost=0.00..17.07 rows=5 width=4)        Index Cond: ("outer".id =
t_wert.werttypid)
(4 rows)

regression=# explain select * from
regression-# t_wert JOIN t_werttyp ON (t_werttyp.id = t_wert.werttypid);                                      QUERY
PLAN
----------------------------------------------------------------------------------------Nested Loop
(cost=0.00..17150.00rows=5000 width=8)  ->  Seq Scan on t_werttyp  (cost=0.00..20.00 rows=1000 width=4)  ->  Index Scan
usingidx_wert_werttypid on t_wert  (cost=0.00..17.07 rows=5 width=4)        Index Cond: ("outer".id =
t_wert.werttypid)
(4 rows)

        regards, tom lane


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Help with ADD COLUMN
Next
From: Larry Rosenman
Date:
Subject: pg_atoi: zero length string