Re: possible ODBC bug with '-infinity'
От | Andrei Kovalevski |
---|---|
Тема | Re: possible ODBC bug with '-infinity' |
Дата | |
Msg-id | 47541770.4070206@commandprompt.com обсуждение исходный текст |
Ответ на | Re: possible ODBC bug with '-infinity' (Richard Broersma Jr <rabroersma@yahoo.com>) |
Ответы |
Re: possible ODBC bug with '-infinity'
|
Список | pgsql-odbc |
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/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 >
В списке pgsql-odbc по дате отправления: