On Sun, 26 Dec 1999, Mike Mascari wrote:

> Howie wrote:
> 
> > will this function/index problem be fixed in 7.x ?
> >
> > ircbot=> explain select * from logins where dttime = NOW();
> [SNIP]
> emptoris=> explain select * from sales where saledate = 'now'::datetime;
> NOTICE:  QUERY PLAN:
> 
> Index Scan using k_sales4 on sales  (cost=2.80 rows=17 width=140)
> 
> EXPLAIN
> emptoris=> explain select * from sales where saledate='now';
> NOTICE:  QUERY PLAN:
> 
> Index Scan using k_sales4 on sales  (cost=2.80 rows=17 width=140)
> [SNIP]

not really; just confuses me a bit more.  is 'now()' not the same
datatype as 'now' ?

ircbot=> select now(),'now'::datetime,now()::datetime;
now                   |?column?                    |datetime                    
----------------------+----------------------------+----------------------------
1999-12-27 04:25:35-05|Mon Dec 27 04:25:35 1999 EST|Mon Dec 27 04:25:35 1999 EST
(1 row)

ircbot=> explain select * from logins where dttime = now()::datetime;
Seq Scan on logins  (cost=33530.89 rows=71043 width=52)

ircbot=> explain select * from logins where dttime = 'now'::datetime;
Index Scan using logins_dttime_idx on logins  (cost=2.54 rows=11 width=52)

ircbot=> select now()::datetime = 'now'::datetime;
?column?
--------
t       

isnt 'NOW()' supposed to return a datetime by default?  regardless,
shouldnt 'now()::datetime' be a datetime ?  if so, why isnt my index on
dttime being used when its a direct comparison ? 

---
Howie <[EMAIL PROTECTED]>   URL: http://www.toodarkpark.org    
"I've learned that you cannot make someone love you.  
 All you can do is stalk them and hope they panic and give in."


************

Reply via email to