jeff [Mon, 27 Feb 2006 15:36:48 +0000 (15:36 +0000)]
Added code to make foreignkey on ActiveMapper accept a string and create the ForeignKey object on the fly. Also added ability to pass args and kwargs to Column constructor. ActiveMapper columns can have keyword args indexed and unique which will automatically create a index or a unique index. dburi in AutoConnectEngine can be a callable.
Mike Bayer [Sun, 26 Feb 2006 22:23:01 +0000 (22:23 +0000)]
implemented SyncRules for mapper with inheritance relationship, fixes [ticket:81]
TableFinder becomes a list-implementing object (should probably create clauseutils or sqlutils for these little helper visitors)
Mike Bayer [Sun, 26 Feb 2006 21:45:10 +0000 (21:45 +0000)]
factored out "syncrule" logic to a separate package, so mapper will be able to make use of it as well as properties. also clarifies the "synchronization" idea
Mike Bayer [Sun, 26 Feb 2006 21:39:14 +0000 (21:39 +0000)]
place _instance_key on object only when objectstore finally register_clean's on it, to make
room for more aggressive "identity map" assertion when modifying objects incoming from a result set
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