Author Login
Post Reply
Den Monday 16 June 2008 01:59:52 skrev Anssi Hannula:
> Hi!
>
> I see that we have freetds and freetds_mssql packages separately.
>
> The freetds_mssql package contains this:
> > cat > README.MDK << EOF
> > This package is based on the freetds-0.62.4-5mdk.src.rpm source
> > rpm package with only three major differences:
> >
> > o This package passes "--enable-msdblib" to the configure line
> > while building the software to make it work with MSSQL servers.
> > Sybase uses 0-11 and MSSQL uses 1-12 to define months...
> >
> > o The freetds-0.63-mssql.diff patch that adds "_mssql" to
> > every library name. This should make it possible to have
> > the plain freetds and the freetds_mssql packages installed
> > at the same time.
> >
> > o The config, binaries and man page files are renamed to use the
> > _mssql suffix.
> > EOF
>
> However, the documentation says it just changes the API, is usually only
> needed for porting, and that it only changes the *default* value!:
>
> <clip>
> --enable-msdblib
>
> Enable Microsoft behavior in the db-lib API where it diverges from
> Sybase's. (For instance, Microsoft uses different names for the members
> of its date structure.) Typically needed only for porting Win32
> applications to Unix.
>
> As of version 0.63, this option specifies just the default behavior.
> Programs can change the default at compile time by defining MSDBLIB or
> SYBDBLIB (for Microsoft or Sybase behavior, respectively) .
> </clip>
>
> I also confirmed this by grepping the source tree. The three changes are:
> 1) different names in DBDATEREC structure.
> 2) dbopen(x,y) assumes 'msdblib' mode, and as mentioned in README.MDK,
> dbdatetrack() returns different values for month and week. This only
> affects the application<=>freetds API, not the way freetds communicates
> with the server
> 3) #define SQLCHAR SYBCHAR
>
> We have 4 packages depending on freetds[_mssql]-devel:
>
> libdbi-drivers:
> - has patch to use freetds_mssql-devel
> - does not use DBDATEREC, dbopen, nor SQLCHAR, so it works the same way
> with both freetds_mssql and freetds.
>
> php (php-mssql):
> - has patch to use freetds_mssql-devel
> - uses dbopen()
> - defines MSDBLIB, so works the same way with both freetds_mssql and
> freetds
>
> php-sybase:
> - uses freetds-devel
>
> asterisk:
> - has patch to use freetds_mssql-devel
> - does not use DBDATEREQ, dbopen, nor SQLCHAR, so it works the same way
> with both freetds_mssql and freetds.
>
>
> That said, I don't see any point in keeping freetds_mssql anymore, and I
> propose to remove it. I can fix the dependent packages.
>
> Oden or anyone else, any comments?
I don't have the Microsoft softwares anymore so I can test this, but please go
ahead. Thanks man.