Mike Bayer [Sun, 26 Feb 2006 19:09:42 +0000 (19:09 +0000)]
fixed exception import. check for objects being present in the identity map occurs not just
at commit time but also when its logged as "dirty" or "deleted".
Mike Bayer [Sun, 26 Feb 2006 06:14:12 +0000 (06:14 +0000)]
adjustment to compile synchronizers which allows many-to-many synchronize to work even when one side of the relation has both tables in it (new unittest will be added to inheritance.py to show this...)
Mike Bayer [Sun, 26 Feb 2006 02:25:42 +0000 (02:25 +0000)]
fixed ticket 72, where a copied clause was using the identical bind param object thereby screwing up a generated statement that included both the original clause and the copied clause, when positional parameters were used
jeff [Sat, 25 Feb 2006 17:50:46 +0000 (17:50 +0000)]
Refactored ProxyEngine into BaseProxyEngine and ProxyEngine. Also added an AutoConnectProxyEngine to late bind to a particular dburi. I ran the proxy_engine test, however, I don't have postgresql installed so not all tests worked. Also, I don't have an WSGI package installed to run the wsgi tests.
Mike Bayer [Sat, 25 Feb 2006 07:12:50 +0000 (07:12 +0000)]
merged sql_rearrangement branch , refactors sql package to work standalone with
clause elements including tables and columns, schema package deals with "physical"
representations
Mike Bayer [Mon, 20 Feb 2006 19:45:08 +0000 (19:45 +0000)]
merged eager loading overhaul rev 1001:1009
this includes:
sql.Alias object keeps track of the immediate thing it aliased as well
as the ultimate non-aliased (usually a Table) object, so that proxied columns can have
a "parent" attribute
some cleanup to SelectBaseMixin.order_by_clause to allow easier access, needs more cleanup
engine has been making two ResultProxies all this time, added "return_raw" quickie flag to
disable that
some cleanup to _get_col_by_original so that it also works for oid columns, new eager load stuff
more aggressively aliaseses orderby's so this was needed
EagerLoader now makes "chains" of unique aliased eager loaders in all cases. no need for
use_alias/selectalias anymore since it aliases every time.
properly detects recursive eager loads and terminates them with a lazyloader, instead of
raising an exception. totally simplified setup() and init() is more straightforward and has
a single codepath now instead of two or three.
Mike Bayer [Sun, 19 Feb 2006 00:26:22 +0000 (00:26 +0000)]
exceptions added
postgres last_inserted_ids will raise an error unless OID's are turned on
(INSERT with PK defaults + no OIDs wont fail unless this method is called)
Mike Bayer [Sat, 18 Feb 2006 20:33:20 +0000 (20:33 +0000)]
added indexes to schema/ansisql/engine
slightly different index syntax for mysql
fixed mysql Time type to convert from a timedelta to time
tweaks to date unit tests for mysql
Mike Bayer [Thu, 16 Feb 2006 06:13:16 +0000 (06:13 +0000)]
Join object wasnt exporting foreign keys correctly
compile_synchronizers in PropertyLoader needed to take into account the full list of tables for each mapper when looking for synchronization rules, not just primary table
Mike Bayer [Mon, 13 Feb 2006 00:51:37 +0000 (00:51 +0000)]
added 'post_update' attribute to PropertyLoader, means to defer processing of this property until after the object has been saved, and then to re-sync and force an update. used to break otherwise intra-row cycles. added for "many-to-one" so far.
Mike Bayer [Sun, 12 Feb 2006 06:32:11 +0000 (06:32 +0000)]
cleanup and organization of code mostly in properties, making SyncRules clearer,
also "foreignkey" property can be a list, particularly for a self-referential table with a multi-column join condition
Mike Bayer [Sun, 12 Feb 2006 06:29:57 +0000 (06:29 +0000)]
slight glitch when the same clause is compiled repeatedly and contains redundant bind parameters...this fix prevents the binds from stepping on each other....
Mike Bayer [Sat, 11 Feb 2006 20:50:41 +0000 (20:50 +0000)]
streamlined engine.schemagenerator and engine.schemadropper methodology
added support for creating PassiveDefault (i.e. regular DEFAULT) on table columns
postgres can reflect default values via information_schema
added unittests for PassiveDefault values getting created, inserted, coming back in result sets
Mike Bayer [Fri, 10 Feb 2006 23:46:42 +0000 (23:46 +0000)]
objectstore refactored to have more flexible scopes for UnitOfWork
central access point is now a Session object which maintains different
kinds of scopes for collections of one or more UnitOfWork objects
individual object instances get bound to a specific Session
Mike Bayer [Thu, 9 Feb 2006 00:33:26 +0000 (00:33 +0000)]
deprecated "selectalias" argument on eager loader, do use_alias=True
"eager alias" flag will propigate to child eager loaders so the full query comes
out OK. mappers/properties have overhauled "copy" methodology. mappers
are no longer "singleton" and no longer have elaborate "hash_key" methods - there
is a primary mapper associated with a class which is done via direct dictionary
relationship, and the options() method on mapper does its own lighter-weight caching
of created mappers. the unitofwork does extra work with the mappers it receives
to insure its dealing with "the primary" mapper, so that properties can be more liberal
about which mapper they reference (i.e. not the primary one).
options() works better but still could use a looking-at to see that
its not wasteful. simplified mapper() method in __init__.
Mike Bayer [Tue, 7 Feb 2006 02:54:26 +0000 (02:54 +0000)]
trying to get mappers to support having versions against different tables for the same class,
that dont affect the original class mapper and create objects with the correct identity key
support in EagerLoader to better handle "selectalias" when the eager mapper hits another eager mapper, etc