calculated expressions and index use - Mailing list pgsql-sql

From Pavel Hlavnicka
Subject calculated expressions and index use
Date
Msg-id 3E394AA6.8080400@gingerall.cz
Whole thread Raw
Responses Re: calculated expressions and index use  (Arjen van der Meijden <acm@tweakers.net>)
Re: calculated expressions and index use  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-sql
Hi all,

I use simple sql statement like this

select * from foo
where created_at >= 'now'::timestamp - '1 hour'::interval;

My table is indexed on created_at field. The query above doesn't use it, 
but if I use

select * from foo where created_at >= 'now'

the index is used.

It looks like if the engine finds some expression to be evaluated it 
gets rid of any index use (due the possible dependency?).

Is it possible to do something to 'precompute' some value in the query 
condition, so planner understand is as a constant value?

(... and I've got some reason NOT to use a parameter in my Perl DBI code...)

Maybe my conclusions are wrong, of course.

Thank you very much in advance

Pavel

-- 
Pavel Hlavnicka
Ginger Alliance
www.gingerall.com



pgsql-sql by date:

Previous
From: Tom Lane
Date:
Subject: Re: Question about passing User defined types to functions
Next
From: Arjen van der Meijden
Date:
Subject: Re: calculated expressions and index use