Hey all - SQLAlchemy 0.7.8 is released. This is a maintenance release containing significant bug fixes applied to both the 0.7 and 0.8 SQLAlchemy series.
Significant issues resolved include a memory leak identified when the C extensions were installed in conjunction with usage of the Pyodbc DBAPI driver, and possibly other drivers that use a custom non-tuple for result rows; as well as a Python 3 issue where the execute() method of Engine and Connection would not interpret positional arguments correctly. Users who are using the Pyodbc driver in conjunction with the C extensions on any platform are encouraged to upgrade. There's also a new dialect added that should allow usage of the new MySQL engine provided by Google App Engine. Overall, 0.7.8 has few changes versus 0.7.7, particularly within the ORM component, save for a few fixes. Users are advised to fully test existing applications before upgrading in any case. Download SQLAlchemy 0.7.8 at: http://www.sqlalchemy.org/download.html 0.7.8 ===== - orm - [bug] Fixed bug whereby subqueryload() from a polymorphic mapping to a target would incur a new invocation of the query for each distinct class encountered in the polymorphic result. [ticket:2480] - [bug] Fixed bug in declarative whereby the precedence of columns in a joined-table, composite column (typically for id) would fail to be correct if the columns contained names distinct from their attribute names. This would cause things like primaryjoin conditions made against the entity attributes to be incorrect. Related to [ticket:1892] as this was supposed to be part of that, this is [ticket:2491]. - [feature] The 'objects' argument to flush() is no longer deprecated, as some valid use cases have been identified. - [bug] Fixed identity_key() function which was not accepting a scalar argument for the identity. [ticket:2508]. - [bug] Fixed bug whereby populate_existing option would not propagate to subquery eager loaders. [ticket:2497]. - sql - [bug] added BIGINT to types.__all__, BIGINT, BINARY, VARBINARY to sqlalchemy module namespace, plus test to ensure this breakage doesn't occur again. [ticket:2499] - [bug] Repaired common table expression rendering to function correctly when the SELECT statement contains UNION or other compound expressions, courtesy btbuilder. [ticket:2490] - [bug] Fixed bug whereby append_column() wouldn't function correctly on a cloned select() construct, courtesy Gunnlaugur Þór Briem. [ticket:2482] - engine - [bug] Fixed memory leak in C version of result proxy whereby DBAPIs which don't deliver pure Python tuples for result rows would fail to decrement refcounts correctly. The most prominently affected DBAPI is pyodbc. [ticket:2489] - [bug] Fixed bug affecting Py3K whereby string positional parameters passed to engine/connection execute() would fail to be interpreted correctly, due to __iter__ being present on Py3K string. [ticket:2503]. - postgresql - [bug] removed unnecessary table clause when reflecting enums, [ticket:2510]. Courtesy Gunnlaugur Þór Briem. - oracle - [bug] Added ROWID to oracle.*, [ticket:2483] - mysql - [feature] Added a new dialect for Google App Engine. Courtesy Richie Foreman. [ticket:2484] -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@googlegroups.com. To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en.