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
-~----------~----~----~----~------~----~------~--~---

Reply via email to