Can I add a bit of history to this (with my unixODBC hat on). The
default SQLLEN for 64 bit platforms changed with the 2.3.0 release of
unixODBC, (20th April 2010) from 32 bit to 64 bit. The version number
also changed from 1 to 2 to reflect this API change.

A lot of distributions were slow to upgrade their version of unixODBC
(Debian changed some time ago, and most are now following or have
already done so). Ubuntu has changed in utopic to 2.3.1 as the base
which has 64 as the default SQLLEN. Before that the base was 2.2.14
which was released 19th November 2008.

But other than unixODBC versions which may be manageable because of the
library version change, the real problem is the driver. Even if by some
convoluted manner you had one module linked against libodbc.so.1 and the
other libodbc.so.2, if they both wanted to use the same ODBC driver,
then you would hit the same problem there.

When I released 2.3.0 it was my hope that driver writers would use it as
a opportunity to change from 32 to 64 bit SQLLEN and the problem would
just disappear over time. This has happened and most drivers are 64 bit
SQLLEN. But any attempt to fix this in PHP in a way that will also just
work for older installation will be (IMHO) problematic.

Also FYI, the original cause of the 32/64 problem was Microsoft changing
their mind about the size of SQLLEN.

-- 
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to php5 in Ubuntu.
https://bugs.launchpad.net/bugs/1319701

Title:
  ODBC apps different SQLLEN sizes linked against same DM

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/php5/+bug/1319701/+subscriptions

-- 
Ubuntu-server-bugs mailing list
Ubuntu-server-bugs@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs

Reply via email to