View Single Post

   
  #8 (permalink)  
Old 04-17-2008, 04:26 PM
Andrei Kovalevski
 
Posts: n/a
Default Re: possible ODBC bug with '-infinity'

Richard Broersma Jr wrote:
> --- On Mon, 12/3/07, Andrei Kovalevski <andyk@commandprompt.com> wrote:
>
>
>> Also all Microsoft applications notify ODBC driver
>> by setting additional parameter during initialization. I
>> think ADO requests 'inifinity' value as SQL_C_CHAR and sure
>> it doesn't expect it to be 'infinity'.
>>

>
> Actually, postgresql doesn't actually have a (+/-) infinity value. Notice:
> http://www.postgresql.org/docs/8.3/s...e.html#AEN4999
>
> +infinity = 5874897 AD
> -infinity = 4713 BC
>

Are you sure these values are equal? Try this in PgAdmin:

create table t (t timestamp);
insert into t values ('-infinity');
insert into t values ('infinity');
insert into t values ('9999-12-31 23:59:59');
insert into t values ('5874897-12-31 23:59:59');
insert into t values ('5874897-12-31 23:59:59.999999999');
--insert into t values ('5874898-01-01 00:00:00');
select t::date, t::time, t::timestamp, t::varchar from t;

Cool behaviour: PostgreSQL 8.2.x thinks that 'infinity' = '-infinity' =
null if it was converted from timestamp to date or time....

By the way - you can't 'insert into t values ('5874898-01-01
00:00:00')', but you can 'insert into t values ('5874897-12-31
23:59:59.999999999')' - with interesting result
> so the problem must be that ADO doesn't know what to do with dates as small as 4713 BCE.
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: Don't 'kill -9' the postmaster
>



---------------------------(end of broadcast)---------------------------
TIP 7: You can help support the PostgreSQL project by donating at

http://www.postgresql.org/about/donate

Reply With Quote