BUG #1984: automatic casting for using indexes on bigint

Started by Atanas Hristovover 20 years ago2 messagesbugs
Jump to latest
#1Atanas Hristov
atanashristov@hotmail.com

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!!!

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Atanas Hristov (#1)
Re: BUG #1984: automatic casting for using indexes on bigint

"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