mxODBC Plone/Zope DA Change Log

mxODBC Zope Database Adapter Change Log

The change log includes a detailed description of all changes to this package in the recent releases.
Version: 2.2.3

Changes from 2.2.2 to 2.2.3

Feature Updates:

  • We have integrated a new option to force serialized connects on a per Zope connection object basis. This can be used to work around bugs in ODBC drivers which are not fully thread-safe in the connect phase. The option is disabled per default.

Driver Compatibility Enhancements:

Installation Enhancements:

  • Added pip install compatibility to mxODBC Zope DA by creating prebuilt archives and uploading a web installer to PyPI. This can be useful if you are installing Zope or Plone using a requirements.txt type approach, e.g. using
pip install ThreadLock Products.ZSQLMethods egenix-mxodbc-zopeda
  • Enabled creating wheels from the prebuilt archives, which helps when running pip with the wheels package installed. pip then tries to build wheels during installation and caches them for future reuse.

Changes from 2.2.1 to 2.2.2

Driver Compatibility Enhancements:

  • Reenabled returning cursor.rowcount for FreeTDS >= 0.91. In previous versions, FreeTDS could return wrong data for .rowcount when using SELECTs.

Fixes:

  • Removed exists() built-in from mxODBC Zope DA's implicit addition of new built-ins via mxTools.

    This resolves a hard to track bug where the new built-in could potentially override the TAL python:exists function (in e.g. tal:condition="exists:something"). See this Products.CMFEditions fix for an example where the problem surfaced. This is a bug in TAL (it shouldn't give preference to built-ins over its own helpers), but we're providing the fix as easy work-around.

Changes from 2.2.0 to 2.2.1

Feature Updates:

  • Fully compatible with Zope External Methods and Zope's built-in transaction mechanism: use Connection Objects in Python modules set up as Zope External Methods to all the features of the mxODBC Zope DA from Python and even tap into the low-level features of mxODBC within Zope's transaction mechanism.
  • Full support of Stored Procedures: when using Zope External Methods, you have full access to SQL stored procedures, which allows direct integration with external database APIs.

Driver Compatibility Enhancements:

Fixes:

  • Documented use of allow_hosts in buildout.cfg

Changes from 2.1.2 to 2.2.0

Feature Enhancements:

  • Compatible with Plone 4.0 - 4.3.
  • Compatible with upcoming Plone 5.0.
  • Added documentation on how to use External Methods to access and use the mxODBC Zope DA connection objects.
  • Added support for input, output and input/output parameters to the .callproc() method for calling stored procedures.
  • Added documentation on how to call stored procedures from Plone / Zope.
  • ThreadLock egg distribution provided by eGenix to avoid having a compiler installed for the installation buildout run. Please see our ThreadLock distribution release announcement for details.

Fast Cursor Types

  • Switched to forward-only cursor types for all database backends, since this provides a much better performance for MS SQL Server and IBM DB2 drivers.

Updated mxODBC API

Driver Compatibility Enhancements:

  • ODBC driver compatibility updated. By upgrading to the latest mxODBC 3.3 release, we are bringing all compatibility enhancements added to mxODBC 3.3 to the mxODBC Zope DA. This includes updated support for Oracle, MS SQL Server, Sybase ASE, IBM DB2, PostgreSQL and MySQL. See the mxODBC 3.3.0 and 3.3.1 release announcements for full details.
  • ODBC manager compatibility updated. Built against unixODBC 2.3.2, iODBC 3.52.8, DataDirect 7.1.2 on Unix. Built against the MS Windows Manager ODBC on Windows. Built against iODBC 3.52.8 on Mac OS X.

Changes from 2.1.1 to 2.1.2

Compatibility Enhancements:

  • 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.
  • Upgraded the underlying mxODBC library to version 3.2.3. See the mxODBC 3.2.3 release announcement for additional details.

Changes from 2.1.0 to 2.1.1

Feature Enhancements:

  • 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.

Changes from 2.0.2 to 2.1.0

Updated Plone Support

  • 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.
  • The "Security" tab now also works in Zope 2.13.

Changes from 2.0.1 to 2.0.2

Compatibility Features:

  • 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.

Changes from 2.0.0 to 2.0.1

Compatibility Features:

  • 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.

Changes from 1.0.10 to 2.0.0

  • 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.12 support.
  • 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.
Contact : Impressum : Terms & Conditions : Privacy Policy : Trademarks 2018-12-13