pg.ddx.io  pgsql-interfaces@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Gene Sokolov <hook@aktrad.ru>
To: pgsql-interfaces@hub.org
Subject: ODBC (6.40.0006): SQL_TIME binary format (bug? feature?)
Date: Thu, 12 Aug 1999 11:01:30 +0400
Message-ID: <02ae01bee490$81251ff0$0d8cdac3@aktrad.ru> (raw)

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.





view thread (2+ messages)  latest in thread

Message-ID: <02ae01bee490$81251ff0$0d8cdac3@aktrad.ru>
Permalink:  ../02ae01bee490$81251ff0$0d8cdac3@aktrad.ru/
Also on:    postgresql.org/message-id/02ae01bee490$81251ff0$0d8cdac3@aktrad.ru

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-interfaces@postgresql.org
  Cc: hook@aktrad.ru, pgsql-interfaces@hub.org
  Subject: Re: ODBC (6.40.0006): SQL_TIME binary format (bug? feature?)
  In-Reply-To: <02ae01bee490$81251ff0$0d8cdac3@aktrad.ru>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox