Re: Indices and time spans - Mailing list pgsql-sql

From Itai Zukerman
Subject Re: Indices and time spans
Date
Msg-id 878zui1dwx.fsf@matt.w80.math-hat.com
Whole thread Raw
In response to Indices and time spans  (Itai Zukerman <zukerman@math-hat.com>)
List pgsql-sql
> You need to recast the clause as something like
> 
>       WHERE posted >= (CURRENT_TIMESTAMP - '5 minutes'::TIMESPAN)
> 
> Then you still have the problem of persuading Postgres that it should
> treat the right side of this as a constant and not something to
> re-evaluate at each row.  In 7.0 and later it's possible to do that
> with creative use of a user-defined function marked "iscachable"
> (for details see the archives for the last time this question came up,
> a few months back).

That did the trick, thanks!

Just for reference:
 CREATE FUNCTION time_machine ( TIMESPAN ) RETURNS TIMESTAMP AS 'SELECT CURRENT_TIMESTAMP - $1' LANGUAGE 'sql' WITH
(iscachable);

seems to work.  Perhaps it's more complicated than that, though?

-itai


pgsql-sql by date:

Previous
From: Jerome Raupach
Date:
Subject: result in a variable?
Next
From: "Sandis"
Date:
Subject: Simple concatenation in select query