Mike Bayer [Tue, 12 Dec 2006 19:22:28 +0000 (19:22 +0000)]
- fixes to passive_deletes flag, lazy=None (noload) flag
- added example/docs for dealing with large collections
- added object_session() method to sqlalchemy namespace
Mike Bayer [Sat, 9 Dec 2006 04:00:35 +0000 (04:00 +0000)]
- added onupdate and ondelete keyword arguments to ForeignKey; propigate
to underlying ForeignKeyConstraint if present. (dont propigate in the
other direction, however)
- patched attribute speed enhancement [ticket:389] courtesy Sébastien Lelong
Mike Bayer [Sat, 9 Dec 2006 01:08:25 +0000 (01:08 +0000)]
- identity map in Session is by default *no longer weak referencing*.
to have it be weak referencing, use create_session(weak_identity_map=True)
- some fixes to OrderedProperties
Mike Bayer [Tue, 5 Dec 2006 03:16:35 +0000 (03:16 +0000)]
made backrefs aware of "post_update" and "viewonly" so it doesnt have to be explicitly propigated; also backrefs shouldnt fire off in a post_update situation.
Mike Bayer [Sat, 2 Dec 2006 05:59:50 +0000 (05:59 +0000)]
- added "remote_side" argument to relation(), used only with self-referential
mappers to force the direction of the parent/child relationship. replaces
the usage of the "foreignkey" parameter for "switching" the direction;
while "foreignkey" can still be used to "switch" the direction of a parent/
child relationship, this usage is deprecated; "foreignkey" should always
indicate the actual foreign key columns from now on.
Mike Bayer [Wed, 29 Nov 2006 22:13:58 +0000 (22:13 +0000)]
- sending a selectable to an IN no longer creates a "union" out of multiple
selects; only one selectable to an IN is allowed now (make a union yourself
if union is needed; explicit better than implicit, dont guess, etc.)
Mike Bayer [Sun, 26 Nov 2006 02:36:27 +0000 (02:36 +0000)]
- made kwargs parsing to Table strict; removed various obsoluete "redefine=True" kw's from the unit tests
- documented instance variables in ANSICompiler
- fixed [ticket:120], adds "inline_params" set to ANSICompiler which DefaultDialect picks up on when
determining defaults. added unittests to query.py
- additionally fixed up the behavior of the "values" parameter on _Insert/_Update
- more cleanup to sql/Select - more succinct organization of FROM clauses, removed silly _process_from_dict
methods and JoinMarker object
Mike Bayer [Sat, 25 Nov 2006 21:32:26 +0000 (21:32 +0000)]
- cleanup on some instance vars in Select (is_scalar, is_subquery, _froms is __froms, removed unused 'nowait', '_text', etc)
- cleaned up __repr__ on Column, AbstractTypeEngine
- added standalone intersect(_all), except(_all) functions, unit tests illustrating nesting patterns [ticket:247]
Mike Bayer [Sun, 12 Nov 2006 20:50:51 +0000 (20:50 +0000)]
- create_engine() reworked to be strict about incoming **kwargs. all keyword
arguments must be consumed by one of the dialect, connection pool, and engine
constructors, else a TypeError is thrown which describes the full set of
invalid kwargs in relation to the selected dialect/pool/engine configuration.
Mike Bayer [Fri, 10 Nov 2006 00:46:57 +0000 (00:46 +0000)]
- "delete-orphan" for a certain type can be set on more than one parent class;
the instance is an "orphan" only if its not attached to *any* of those parents
- better check for endless recursion in eagerloader.process_row
Mike Bayer [Fri, 3 Nov 2006 01:17:28 +0000 (01:17 +0000)]
- added an assertion within the "cascade" step of ORM relationships to check
that the class of object attached to a parent object is appropriate
(i.e. if A.items stores B objects, raise an error if a C is appended to A.items)
- new extension sqlalchemy.ext.associationproxy, provides transparent "association object"
mappings. new example examples/association/proxied_association.py illustrates.
- some example cleanup
Mike Bayer [Wed, 1 Nov 2006 03:30:16 +0000 (03:30 +0000)]
- fixed bug in circular dependency sorting at flush time; if object A
contained a cyclical many-to-one relationship to object B, and object B
was just attached to object A, *but* object B itself wasnt changed,
the many-to-one synchronize of B's primary key attribute to A's foreign key
attribute wouldnt occur. [ticket:360]
Mike Bayer [Tue, 24 Oct 2006 22:19:31 +0000 (22:19 +0000)]
- SingletonConnectionPool must use the "threadlocal" pooling behavior
- the "delete" cascade will load in all child objects, if they were not
loaded already. this can be turned off (i.e. the old behavior) by setting
passive_deletes=True on a relation().