Mike Bayer [Wed, 1 Mar 2006 21:20:59 +0000 (21:20 +0000)]
made SchemaEngine more prominent as the base of Table association
BaseProxyEngine descends from SchemaEngine
fixes to sqlite/postgres reflection to use the correct engine for table lookups
Table engine can be none which will default to schema.default_engine (although its
still positional for now, so still needs to be explicit to make room for Columns)
__init__ sets default_engine to be a blank ProxyEngine
fixes to test suite to allow --db proxy.<dbname> to really test proxyengine
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