:released: Sat Jun 17 2006
.. change::
:tags:
:tickets:
overhaul to mapper compilation to be deferred. this allows mappers
to be constructed in any order, and their relationships to each
other are compiled when the mappers are first used.
.. change::
:tags:
:tickets:
fixed a pretty big speed bottleneck in cascading behavior particularly
when backrefs were in use
.. change::
:tags:
:tickets:
the attribute instrumentation module has been completely rewritten; its
now a large degree simpler and clearer, slightly faster. the "history"
of an attribute is no longer micromanaged with each change and is
instead part of a "CommittedState" object created when the
instance is first loaded. HistoryArraySet is gone, the behavior of
list attributes is now more open ended (i.e. they're not sets anymore).
.. change::
:tags:
:tickets:
py2.4 "set" construct used internally, falls back to sets.Set when
"set" not available/ordering is needed.
.. change::
:tags:
:tickets:
fix to transaction control, so that repeated rollback() calls
don't fail (was failing pretty badly when flush() would raise
an exception in a larger try/except transaction block)
.. change::
:tags:
:tickets: 151
"foreignkey" argument to relation() can also be a list. fixed
auto-foreignkey detection
.. change::
:tags:
:tickets:
fixed bug where tables with schema names weren't getting indexed in
the MetaData object properly
.. change::
:tags:
:tickets: 207
fixed bug where Column with redefined "key" property wasn't getting
type conversion happening in the ResultProxy
.. change::
:tags:
:tickets:
fixed 'port' attribute of URL to be an integer if present
.. change::
:tags:
:tickets:
fixed old bug where if a many-to-many table mapped as "secondary"
had extra columns, delete operations didn't work
.. change::
:tags:
:tickets:
bugfixes for mapping against UNION queries
.. change::
:tags:
:tickets:
fixed incorrect exception class thrown when no DB driver present
.. change::
:tags:
:tickets: 138
added NonExistentTable exception thrown when reflecting a table
that doesn't exist
.. change::
:tags:
:tickets:
small fix to ActiveMapper regarding one-to-one backrefs, other
refactorings
.. change::
:tags:
:tickets:
overridden constructor in mapped classes gets __name__ and
__doc__ from the original class
.. change::
:tags:
:tickets: 200
fixed small bug in selectresult.py regarding mapper extension
.. change::
:tags:
:tickets:
small tweak to cascade_mappers, not very strongly supported
function at the moment
.. change::
:tags:
:tickets: 202
some fixes to between(), column.between() to propagate typing
information better
.. change::
:tags:
:tickets: 203
if an object fails to be constructed, is not added to the
session
.. change::
:tags:
:tickets:
CAST function has been made into its own clause object with
its own compilation function in ansicompiler; allows MySQL
to silently ignore most CAST calls since MySQL
seems to only support the standard CAST syntax with Date types.
MySQL-compatible CAST support for strings, ints, etc. a TODO
.. changelog::