Skip to Content.
Sympa Menu

freetds - Re: [freetds] BUG?: incorrect struct tds_microsoft_dbdaterec

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: Frediano Ziglio <freddy77 AT gmail.com>
  • To: FreeTDS Development Group <freetds AT lists.ibiblio.org>
  • Subject: Re: [freetds] BUG?: incorrect struct tds_microsoft_dbdaterec
  • Date: Sun, 22 Aug 2010 15:34:54 +0200

Il giorno 20/ago/2010, alle ore 10.03, LacaK <lacak AT zoznam.sk> ha scritto:

Hi,
I am not sure if this is right place to report bug or not, but I do not know if bug-tracker on sourceforge.net is active.
(if there is active bug tracke, let me know please)

There is in sybdb.h defined:

struct tds_microsoft_dbdaterec
{
DBINT year; /* 1753 - 9999 */
DBINT quarter; /* 1 - 4 */
DBINT month; /* 1 - 12 */
DBINT day; /* 1 - 31 */
DBINT dayofyear; /* 1 - 366 */
DBINT week; /* 1 - 54 (for leap years) */
DBINT weekday; /* 1 - 7 (Mon. - Sun.) */
DBINT hour; /* 0 - 23 */
DBINT minute; /* 0 - 59 */
DBINT second; /* 0 - 59 */
DBINT millisecond; /* 0 - 999 */
DBINT tzone; /* 0 - 127 (Sybase only) */ };
But Microsoft uses slightly different format, see:
http://msdn.microsoft.com/en-us/library/aa937027(v=SQL.80).aspx

|typedef struct dbdaterec
{
int year; // 1753 - 9999 int quarter; // 1 - 4 int month; // 1 - 12 int dayofyear; // 1 - 366 int day; // 1 - 31 int week; // 1 - 54 (for leap years) int weekday; // 1 - 7 (Mon. - Sun.) int hour; // 0 - 23 int minute; // 0 - 59 int second; // 0 - 59 int millisecond; // 0 - 999 } DBDATEREC;|

*
"day" and "dayofyear" are exchanged !!!*
So I think, that struct tds_microsoft_dbdaterec and function dbdatecrack (which only uses dbdaterec) must be adjusted:
(to keep "binnary" compatibilty with Microsoft implementation in ntwdblib.dll)
...
if (dbproc ? dbproc->msdblib : msdblib) {
++di->quarter;
++di->datemonth;
++di->datedweek;
//add these two lines:
di->datedmonth = dr.dayofyear;
di->datedyear = dr.day;
}

...

-Laco.

Current there is no binary compatibility between our lib and MS one. Bug reporting in sf is not that used but active.

Freddy77




Archive powered by MHonArc 2.6.24.

Top of Page