Discussion:
index not used for boolean
(too old to reply)
Gaetano Mendola
2004-05-04 07:04:39 UTC
Permalink
Hi all,
is it normal that in a select like:

select * from foo where expired;

the index on expired is not used?

If I rewrite that query:

select * from foo where expired = true;

then the index is used!

I'm using postrgres 7.4.2


Regards
Gaetano Mendola
Greg Johnson
2004-05-04 14:31:42 UTC
Permalink
I just ran into this yesterday also. I was trying
select * from foo where expired IS TRUE
and the index was not used, but when I switched it to expired = true it
worked... Very frustrating bug.. wasted about 3 hours planning and
analyzing the simple query.
Post by Gaetano Mendola
Hi all,
select * from foo where expired;
the index on expired is not used?
select * from foo where expired = true;
then the index is used!
I'm using postrgres 7.4.2
Regards
Gaetano Mendola
---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?
http://archives.postgresql.org
Bruce Momjian
2004-05-20 02:00:59 UTC
Permalink
OK, TODO updated:

* Allow col IS TRUE/FALSE use an index like col = TRUE/FALSE

---------------------------------------------------------------------------
Post by Greg Johnson
I just ran into this yesterday also. I was trying
select * from foo where expired IS TRUE
and the index was not used, but when I switched it to expired = true it
worked... Very frustrating bug.. wasted about 3 hours planning and
analyzing the simple query.
Post by Gaetano Mendola
Hi all,
select * from foo where expired;
the index on expired is not used?
select * from foo where expired = true;
then the index is used!
I'm using postrgres 7.4.2
Regards
Gaetano Mendola
---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?
http://archives.postgresql.org
--
Bruce Momjian | http://candle.pha.pa.us
***@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073

---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings
Loading...