This release fixes a critical SQLite bug introduced by a backwards incompatible change in Pysqlite 2.5.0, which seems to be packaged in the latest Debian Release as well as Python 2.6.
There are additionally many bugfixes to the 0.5 series as we approach the final 0.5 release. Download SQLAlchemy 0.5.0rc2 at: http://www.sqlalchemy.org/download.html 0.5.0rc2 ======== - orm - Fixed bug involving read/write relation()s that contain literal or other non-column expressions within their primaryjoin condition equated to a foreign key column. - "non-batch" mode in mapper(), a feature which allows mapper extension methods to be called as each instance is updated/inserted, now honors the insert order of the objects given. - Fixed RLock-related bug in mapper which could deadlock upon reentrant mapper compile() calls, something that occurs when using declarative constructs inside of ForeignKey objects. - ScopedSession.query_property now accepts a query_cls factory, overriding the session's configured query_cls. - Fixed shared state bug interfering with ScopedSession.mapper's ability to apply default __init__ implementations on object subclasses. - Fixed up slices on Query (i.e. query[x:y]) to work properly for zero length slices, slices with None on either end. [ticket:1177] - Added an example illustrating Celko's "nested sets" as a SQLA mapping. - contains_eager() with an alias argument works even when the alias is embedded in a SELECT, as when sent to the Query via query.select_from(). - contains_eager() usage is now compatible with a Query that also contains a regular eager load and limit/offset, in that the columns are added to the Query-generated subquery. [ticket:1180] - session.execute() will execute a Sequence object passed to it (regression from 0.4). - Removed the "raiseerror" keyword argument from object_mapper() and class_mapper(). These functions raise in all cases if the given class/instance is not mapped. - Fixed session.transaction.commit() on a autocommit=False session not starting a new transaction. - Some adjustments to Session.identity_map's weak referencing behavior to reduce asynchronous GC side effects. - Adjustment to Session's post-flush accounting of newly "clean" objects to better protect against operating on objects as they're asynchronously gc'ed. [ticket:1182] - "not equals" comparisons of simple many-to-one relation to an instance will not drop into an EXISTS clause and will compare foreign key columns instead. - removed not-really-working use cases of comparing a collection to an iterable. Use contains() to test for collection membership. - sql - column.in_(someselect) can now be used as a columns-clause expression without the subquery bleeding into the FROM clause [ticket:1074] - sqlite - Overhauled SQLite date/time bind/result processing to use regular expressions and format strings, rather than strptime/strftime, to generically support pre-1900 dates, dates with microseconds. [ticket:968] - String's (and Unicode's, UnicodeText's, etc.) convert_unicode logic disabled in the sqlite dialect, to adjust for pysqlite 2.5.0's new requirement that only Python unicode objects are accepted; http://itsystementwicklung.de/pipermail/list-pysqlite/2008-March/000018.html - mysql - Temporary tables are now reflectable. - oracle - Oracle will detect string-based statements which contain comments at the front before a SELECT as SELECT statements. [ticket:1187] --~--~---------~--~----~------------~-------~--~----~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---