Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Re: possible ODBC bug with '-infinity'



Richard Broersma Jr wrote:
--- On Mon, 12/3/07, Andrei Kovalevski <andyk(at)commandprompt(dot)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/static/datatype-datetime.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




Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group