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