Mike Bayer [Wed, 31 May 2006 06:22:06 +0000 (06:22 +0000)]
simplification/improvement to circular dependency sort (properly batches now)
mapper accepts add_property calls with columns that are not in its selectable (allows deferreds in, generally more lenient)
Mike Bayer [Tue, 30 May 2006 17:11:14 +0000 (17:11 +0000)]
further refinement of the polymorphic UOWTask idea. circular dependency sort has to be pretty much focused on the base mappers
of any inheritance chain, as it now takes part in pretty much any two dependent classes who share the same inherited parent.
Mike Bayer [Sat, 27 May 2006 16:39:05 +0000 (16:39 +0000)]
circular dependency sort will not create new UOWTasks/UOWDependencyProcessors mid-stream
further construction on migrating UOWTask to be fully polymorphic
Mike Bayer [Sat, 27 May 2006 05:45:21 +0000 (05:45 +0000)]
unitofwork more Set oriented now
MapperProperty now has "localparent" and "parent" attributes, which in the case of
inheritance represent the mapper the property is attached to, and the original mapper it was created on.
the unitofwork now keeps the dependency processors derived from those properties unique so inheritance
structures dont register redundant dependency processors.
Mike Bayer [Sat, 27 May 2006 01:19:56 +0000 (01:19 +0000)]
converted sqlsoup, got its doctests working (werent working in 0.1 either....), added doctest hook to testsuite
fix to selectone_by/selectone when zero rows returned
Mike Bayer [Sat, 27 May 2006 00:13:12 +0000 (00:13 +0000)]
added has_key to RowProxy, + caching of key lookups
fix for mapper translate_row for deferred columns
continuing with the "polymorph-tizing" of the unit of work, dependency processing accesses objects on each target task polymorphically
Mike Bayer [Thu, 25 May 2006 17:53:06 +0000 (17:53 +0000)]
pretty major change to inheritance topological sorting - mapper dependencies are calculated
based on their ultimate "base inherited" mapper, UOWTasks organized into recursive inheritance structures based on the inheritance of the mappers. this allows tasks across a class/mapper inheritance hierarchy to properly interact with other dependency processors and sub-tasks.
Mike Bayer [Sat, 29 Apr 2006 01:05:13 +0000 (01:05 +0000)]
*another* big types change....the old way was still wrong...this way is better (still need to go through it again since i am apparently type-impaired....)
Jonathan LaCour [Sun, 23 Apr 2006 21:41:36 +0000 (21:41 +0000)]
Got the unit tests running again, apart from the two that were not working in
the first place. The changes to process_relationships and to sqlachemy itself
were causing a double 'assign_mapper' call to cause issues. Now, we basically
defer calling assign_mapper until process_relationships in cases where there
are defined relationships.
Also, I moved ActiveMapper to always use the default engine, as there were a
lot of hacks inside ActiveMapper to allow for engine swapping. The use of the
default engine and the "global_connect" functionality significantly improves
the usability of ActiveMapper.
ActiveMapper will be getting a bit of a refactor/cleanup at some point in the
nearish future, as it has drifted a bit to complexity with the addition of some
features. For now, this should do the trick!
Jonathan LaCour [Thu, 20 Apr 2006 21:04:03 +0000 (21:04 +0000)]
Updates to ActiveMapper contributed by Gabriel Jacobo. The main purpose of the
changes is to ensure that relationships are properly detected and built in the
proper order. This should fix some problems that people were having with
ActiveMapper requiring classes to be declared in a specific order.