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.
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
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.
Fixed the installation instructions to be more generic and easily
adaptable to Plone and Zope installations on both Windows and Unix