Re: help: now() + N is now failing! - Mailing list pgsql-novice

From Dmitry Tkach
Subject Re: help: now() + N is now failing!
Date
Msg-id 3F2685A5.9060901@openratings.com
Whole thread Raw
In response to help: now() + N is now failing!  ("Mel Jamero" <mel@gmanmi.tv>)
Responses Re: help: now() + N is now failing!  (Stephan Szabo <sszabo@megazone.bigpanda.com>)
Re: help: now() + N is now failing!  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-novice
Yeah... Looks weird.
For some reason, even  date_pli(now(), 2) doesn't work any more - you
have to do date_pli(now()::date,2)
I guess, the now()+2 has the same problem - for some reason, it fails to
coerce timestamptz into date automatically :-(
Why is that? There is only one function called date_pli(), and there is
an unambigous conversion date(timestamptz)... Why does it now force the
user to cast explicitly???

Dima

Mel Jamero wrote:

>help.  does anybody know how, without using date_pli, i can make now() + N
>work in newer versions of postgres?
>
>we ported our old data to a new db.
>
>VALUE = NULL doesn't work anymore, had to use IS NULL.  had to modify
>hundred liners of scripts :(
>
>i don't wanna go about modifying all the scripts again to modify now() + N
>in my old scripts.
>
>i've been a victim of backwards compatibility issue and late side-effect of
>my DB infancy sydrome years ago :(
>
>TIA!
>
>--OLD postgres
>
>old_postgres=# select now();
>          now
>------------------------
> 2003-07-29 16:11:11+08
>(1 row)
>
>old_postgres=# select now() + 2;
>  ?column?
>------------
> 2003-07-31
>(1 row)
>
>-- NEW postgres
>
>new_postgres=# select now();
>              now
>-------------------------------
> 2003-07-29 16:31:39.494534+08
>(1 row)
>
>new_postgres=# select now() + 2;
>ERROR:  Unable to identify an operator '+' for types 'timestamp with time
>zone' and 'integer'
>        You will have to retype this query using an explicit cast
>
>
>---------------------------(end of broadcast)---------------------------
>TIP 2: you can get off all lists at once with the unregister command
>    (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
>
>



pgsql-novice by date:

Previous
From: Tom Lane
Date:
Subject: Re: help: now() + N is now failing!
Next
From: Tom Lane
Date:
Subject: Re: any idea regarding this error?