ODBC (6.40.0006): SQL_TIME binary format (bug? feature?)

From: "Gene Sokolov" <hook(at)aktrad(dot)ru>
To: <pgsql-interfaces(at)hub(dot)org>
Subject: ODBC (6.40.0006): SQL_TIME binary format (bug? feature?)
Date: 1999-08-12 07:01:30
Message-ID: 02ae01bee490$81251ff0$0d8cdac3@aktrad.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

I have a table (PGSQL 6.5.0):

CREATE TABLE TimePeriods (
ID SERIAL PRIMARY KEY ,
MarketID INT NOT NULL REFERENCES Markets ,
WeekDay INT NOT NULL , /* 1-7, Sun-Mon */
TimeOpen TIME NOT NULL ,
TimeClose TIME NOT NULL
);

I do (WinNT 4.0 sp 4, ODBC v. 6.40.0006)

select * from timeperiods

The TimeOpen and TimeClose are stored as 4 byte values in the database. But
the ODBC driver returns them as 8 byte values in a completely unexpected
format! The usual binary representation of an SQL_TIME is (high to low) 1
byte hours, 1 byte minutes, 1 byte seconds and the lowest byte 1/100s of a
second.

Here I get (low to high): int16 hours, int16 minutes, int16 seconds, and
int16 0xCDCD. The result - 1/100s are lost and a lot of wasted network
bandwidth. What is the point of formatting TIME like that? Why does it clip
fractions of a second? Is it a bug or a feature? If it's a bug, how can I
help fixing it? If it's a feature, why is it needed?

Gene Sokolov.

Responses

Browse pgsql-interfaces by date

  From Date Subject
Next Message Margarita Barvinok 1999-08-12 13:21:54 Re: [INTERFACES] Web, PostgreSQL, C
Previous Message Constantin Teodorescu 1999-08-12 06:30:33 Re: [INTERFACES] RE: PgAccess 0.97 - final preview