Re: query plan optimizer bug

Поиск
Список
Период
Сортировка
От Kevin Brown
Тема Re: query plan optimizer bug
Дата
Msg-id 20001122212924.02484@frobozz.sysexperts.com
обсуждение исходный текст
Ответ на query plan optimizer bug  ("xuyifeng" <jamexu@telekbird.com.cn>)
Список pgsql-hackers
xuyifeng (<jamexu@telekbird.com.cn>) wrote:

> it's obviously there is a query plan optimizer bug, if int2 type used
> in fields, the plan generator just use sequence scan, it's stupid, i
> am using PG7.03, this is my log file:
> 
> ---------
> stock# drop table a;
> DROP
> stock# create table  a(i int2, j int);
> CREATE
> stock# create unique index idx_a on a(i, j);
> CREATE
> stock# explain select * from a where i=1 and j=0;
> psql:test.sql:4: NOTICE:  QUERY PLAN:
> 
> Seq Scan on a  (cost=0.00..25.00 rows=1 width=6)
> 
> EXPLAIN
> stock# drop table a;
> create table  a(i int, j int);
> CREATE
> stock# create unique index idx_a on a(i, j);
> CREATE
> stock# explain select * from a where i=1 and j=0;
> psql:test.sql:8: NOTICE:  QUERY PLAN:
> 
> Index Scan using idx_a on a  (cost=0.00..2.02 rows=1 width=8)
> 
> EXPLAIN
> -----------


This actually appears to be a bug in the auto-casting mechanism (or
the parser, or something):

kevin=# explain select * from a where i = 1 and j = 0;
NOTICE:  QUERY PLAN:

Seq Scan on a  (cost=0.00..25.00 rows=1 width=6)

EXPLAIN
kevin=# explain select * from a where i = '1' and j = '0';
NOTICE:  QUERY PLAN:

Index Scan using idx_a on a  (cost=0.00..2.02 rows=1 width=6)

EXPLAIN



This behavior appears to happen for int8 as well.



-- 
Kevin Brown                          kevin@sysexperts.com
   It's really hard to define what "anomalous behavior" means when you're                      talking about Windows.


В списке pgsql-hackers по дате отправления:

Предыдущее
От: "Dan Wilson"
Дата:
Сообщение: Fw: DB and Table Permissions
Следующее
От: Don Baccus
Дата:
Сообщение: Re: Re: [GENERAL] PHPBuilder article -- Postgres vs MySQL