From: Mike Bayer Date: Sun, 5 Jan 2014 21:47:15 +0000 (-0500) Subject: Merge branch 'automap' X-Git-Tag: rel_0_9_1~6 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=daafd63c3ac28dac5b670765c64109a1405d3af5;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git Merge branch 'automap' Conflicts: doc/build/changelog/changelog_09.rst --- daafd63c3ac28dac5b670765c64109a1405d3af5 diff --cc doc/build/changelog/changelog_09.rst index c35da31202,9e4bf803bf..ea3849934e --- a/doc/build/changelog/changelog_09.rst +++ b/doc/build/changelog/changelog_09.rst @@@ -14,19 -14,39 +14,53 @@@ .. changelog:: :version: 0.9.1 + .. change:: + :tags: bug, orm, events + :tickets: 2905 + + Fixed regression where using a ``functools.partial()`` with the event + system would cause a recursion overflow due to usage of inspect.getargspec() + on it in order to detect a legacy calling signature for certain events, + and apparently there's no way to do this with a partial object. Instead + we skip the legacy check and assume the modern style; the check itself + now only occurs for the SessionEvents.after_bulk_update and + SessionEvents.after_bulk_delete events. Those two events will require + the new signature style if assigned to a "partial" event listener. + + .. change:: + :tags: feature, orm, extensions + + A new, **experimental** extension :mod:`sqlalchemy.ext.automap` is added. + This extension expands upon the functionality of Declarative as well as + the :class:`.DeferredReflection` class to produce a base class which + automatically generates mapped classes *and relationships* based on + table metadata. + + .. seealso:: + + :ref:`feature_automap` + + :ref:`automap_toplevel` + + .. change:: + :tags: feature, core + + Conjunctions like :func:`.and_` and :func:`.or_` can now accept + Python generators as a single argument, e.g.:: + + and_(x == y for x, y in tuples) + + The logic here looks for a single argument ``*args`` where the first + element is an instance of ``types.GeneratorType``. + + .. change:: + :tags: feature, core + + The :paramref:`.Table.extend_existing` and :paramref:`.Table.autoload_replace` + parameters are now available on the :meth:`.MetaData.reflect` + method. ++>>>>>>> automap + .. change:: :tags: bug, orm, declarative