Re: possible ODBC bug with '-infinity' - Mailing list pgsql-odbc

From Andrei Kovalevski
Subject Re: possible ODBC bug with '-infinity'
Date
Msg-id 477D0E5F.9040705@commandprompt.com
Whole thread Raw
In response to Re: possible ODBC bug with '-infinity'  (Richard Broersma Jr <rabroersma@yahoo.com>)
List pgsql-odbc
Hello, Happy New Year!

Richard Broersma Jr wrote:
> --- On Mon, 12/3/07, Andrei Kovalevski <andyk@commandprompt.com> wrote:
>
>
>> 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;
>>
>
> Now the real question is, "What does and ODBC client do with these value?".
>
> Also, don't forget to include values for -infinity and other timestamps that are smaller than what the client side
applicationcan display. 
>

ODBC supports dates and timestamps as:
    typedef struct tagTIMESTAMP_STRUCT
    {
        SQLSMALLINT    year;
        ..........
    } TIMESTAMP_STRUCT;

So, it can't show dates bigger then 32,767 or smaller then -32,768.

I think - correct driver behavour should be:
1) driver returns NULL value for SQL_DATE_STRUCT and SQL_TIMESTAMP_STRUCT
2) function return value should be SQL_SUCCESS_WITH_INFO;
3) driver also sets Informative Description for this error with actual
value - if possible.

--
Andrei Kovalevski
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
Managed Services, Shared and Dedicated Hosting
Co-Authors: plPHP, ODBCng - http://www.commandprompt.com/


pgsql-odbc by date:

Previous
From: FabijanicA@nucorsteel.com
Date:
Subject: Linux Unicode character size
Next
From: Andrei Kovalevski
Date:
Subject: Re: Linux Unicode character size