Added a work-around for a regression in Python 2.7.4
that results in a segfault when exiting Zope/Plone after loading the mxODBC Zope DA.
The regression will be fixed in Python 2.7.5, but we don't want to
expose our users to segfaults, so added a work-around.
Added a new connection property "ODBC cursor type" which allows easily adjusting the ODBC cursor type to be used for mxODBC Zope DA connection objects.
This new property allows enhancing the performance of the
adapter significantly, when using it with MS SQL Server or IBM DB2
database backends. Please see below for details.
Driver Compatibility:
MS SQL Server performance can now be much enhanced,
and increased to levels beyond that of previous mxODBC Zope DA
releases, by adjusting the connection ODBC cursor type to "Forward only
cursors".
The performance increase compared to mxODBC Zope DA 2.1.0 is enormous: from 2-3x faster executes/fetches for average queries, up to 300x faster for simple cases.
In mxODBC Zope DA 2.2, we will switch to using "Forward only cursors" per default for all database backends.
IBM DB2 can benefit from the same performance enhancements using "Forward only cursors".
The effect is a lot smaller, but still noticeable: up to 2x faster executes/fetches with forward-only cursors, compared to mxODBC Zope DA 2.1.0.
Added documentation to explain the different cursor types,
compatibility with different database backends and effects on
performance. The Zope DA documentation comes with high level
documentation regarding the cursor types. The included mxODBC
documentation has the technical details.
Fixes:
Fixed the installation instructions to be more generic and easily
adaptable to Plone and Zope installations on both Windows and Unix
platforms.
Simplified zc.buildout deployment as used in Plone 4.x and the latest Zope 2.13 releases.
Readded compatibility with all recent Plone versions.
Enhanced ODBC Driver Support
We have also updated the integrated mxODBC Python Extension to the latest 3.2 release, which includes a number of important new features and ODBC driver compatibility enhancements:
Added support for the DataDirect ODBC manager on Linux which is used by several data warehouse database backends
Added MS SQL Server ODBC Driver 1.0 for Linux support
Added Teradata support
Added Netezza support
Switched to unixODBC 2.3.1+ API for better 64-bit support on Linux
Enhanced Oracle Instance Client support
Enhanced IBM DB2 driver support
Enhanced Sybase ASE driver support
Enhanced FreeTDS ODBC driver support
Enhanced PostgreSQL driver support
Enhanced generic support for many other ODBC compatible databases
Please see the mxODBC 3.2 release announcement for a complete set of changes available in the underlying mxODBC 3.2 package used in mxODBC Zope/Plone DA 2.1.
Minor other changes
Error screens have been changed to plain text after the recent hot fix which disabled showing HTML in error messages.
Updated the integrated mxODBC Python Extension to the latest 3.1.1 release, which includes a number of important workarounds for these ODBC drivers:
Oracle 10gR1 and 10gR2
Oracle 11gR1 and 11gR2
Teradata 13
Netezza
Added instructions on how to install mxODBC Zope DA 2.0 with Plone 4.1 and Zope 2.13 - even though this combination is not officially supported by the mxODBC Zope DA 2.0 series.
Backported the mxODBC Zope DA product to
also run on Zope 2.10, 2.11 as well as Python 2.4. This was done to
meet popular demand, since Plone 3 still uses these Zope and Python
versions.
The mxODBC Zope DA is now fully compatible with all recent Plone versions, including the upcoming Plone 4.0 release.
Includes mxODBC 3.1 with
updated support for many current ODBC drivers, giving you more
portability and features for a wider range of database backends.
Mac OS X 10.6 (Snow Leopard) support.
Python 2.5 and 2.6 support.
Zope 2.12support.
Zero maintenance support to automatically reconnect the Zope connection after a network or database problem.
More flexible Unicode support with options to work with pure Unicode, plain strings or mixed setups - even for databases that don't support Unicode
Automatic and transparent text encoding and decoding.
More flexible date/time support including options to work with Python datetime objects, mxDateTime, strings or tuples
New decimal support to have the Zope DA return decimal column values using Python's decimal objects.
Fully eggified to simplify easy_install and zc.buildout based installation.