I am a past contributor to unixODBC.
I also work with the current maintainer of unixODBC (Nick Gorham).
I also currently maintain Perl DBD::ODBC.

I would be extremely grateful if something can be done to speed up the 
inclusion of a more recent unixODBC in debian. I can explain the change in 
version and the reason why I think you should consider taking the upstream 
version.

A previous comment on this bug suggests "the ODBC ABI has been fixed
for decades" however that is not true IF you accept the version of ODBC most 
important is the one Microsoft uses and distributes. As unixODBC's aim has always 
been to mirror ODBC on windows it has changed in the last few years as Microsoft has 
changed their ODBC.

When Microsoft only supported 32 bit platforms the ODBC API and documentation they 
distributed contained references to parameters for various APIs which were documented as 
a 32 bit values e.g., things like row counts. No one really knew what their intention was 
when they moved to 64 bit platforms and unixODBC had to support 64 bit platforms that 
were already being used on Unix. Many ODBC driver writers who were on new ground took 
independent decisions on what the ODBC API should be on 64 bit platforms and many took 
the "32 bit value" literally so it stayed 32 bit. It was pointless having a 
unixODBC which could not work with drivers built this way so for a long time unixODBC 
built by default with 32 bit values for some API arguments but could be switched to be 
built with 64 bit values.

When Microsoft moved to support 64 bit platforms they changed their ODBC API to 
introduce a SQLLEN and SQLULEN type that was defined as being 64 bit on 64 bit 
platforms and 32 bit on 32 bit platforms. They also changed some of the ODBC 
APIs to replace some of the arguments with SQLLEN/SQLULEN.

Shortly after this unixODBC changed its default to build with SQLLEN/SQLULEN 64 
bit on 64 bit platforms and at that stage the library version was changed to 2. 
According to Nick this was an attempt by him to push driver maintainers to move 
to the 64 bit version. Before that change it was around 50:50 for drivers built 
using 64 bit SQLLEN and 32 bit SQLLEN and Nick now believes it is almost 100% 
SQLLEN 64 bit now.

Since then Microsoft have bought out ODBC 3.8 which has added even more to ODBC.

A lot of serious issues have been fixed since 2.2.14 which is currently 
distributed and as the maintainer of DBD::ODBC I see these regularly.

Nick has also added slencheck to unixODBC to probe a driver library to see how 
it was built. This is in 2.3.2pre but I've spoken with him and he is happy to 
release 2.3.2 officially as it has been a few years since the last release.

If there is anything I can do to expedite debian taking the newest unixODBC 
version or if there is anything else you need from me please let me know.

Martin
--
Martin J. Evans
Wetherby, UK


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to