Обсуждение: BUG #1984: automatic casting for using indexes on bigint

Поиск
Список
Период
Сортировка

BUG #1984: automatic casting for using indexes on bigint

От
"Atanas Hristov"
Дата:
The following bug has been logged online:

Bug reference:      1984
Logged by:          Atanas Hristov
Email address:      atanashristov@hotmail.com
PostgreSQL version: 8.1
Operating system:   FreeBSD5
Description:        automatic casting for using indexes on bigint
Details:

Maybe it is more convient to cast automaticly in sich a case? :

personalities=> create table foo (id bigint);
CREATE TABLE
personalities=> explain analyze select * from foo where id = 0;
                                         QUERY PLAN
----------------------------------------------------------------------------
-----------------
 Seq Scan on foo  (cost=0.00..0.00 rows=1 width=8) (actual time=0.007..0.007
rows=0 loops=1)
   Filter: (id = 0)
 Total runtime: 21.140 ms
(3 rows)

personalities=> explain analyze select * from foo where cast(id as bigint) =
0;
                                         QUERY PLAN
----------------------------------------------------------------------------
-----------------
 Seq Scan on foo  (cost=0.00..0.00 rows=1 width=8) (actual time=0.006..0.006
rows=0 loops=1)
   Filter: (id = 0)
 Total runtime: 0.077 ms
(3 rows)


best regards and thank you for the great database!!!

Re: BUG #1984: automatic casting for using indexes on bigint

От
Tom Lane
Дата:
"Atanas Hristov" <atanashristov@hotmail.com> writes:
> Maybe it is more convient to cast automaticly in sich a case? :

These are the same query.  I think you've forgotten to consider the
effects of caching on repeated execution of a query.

            regards, tom lane