Mike Bayer [Mon, 8 Jan 2007 19:09:02 +0000 (19:09 +0000)]
- the "op()" function is now treated as an "operation", rather than a "comparison".
the difference is, an operation produces a BinaryExpression from which further operations
can occur whereas comparison produces the more restrictive BooleanExpression
Mike Bayer [Sat, 6 Jan 2007 20:32:47 +0000 (20:32 +0000)]
- added a mutex to the mapper compilation step. ive been reluctant to add any kind
of threading anything to SA but this is one spot that its its really needed since mappers
are typically "global", and while their state does not change during normal operation, the
initial compilation step does modify internal state significantly, and this step usually
occurs not at module-level initialization time (unless you call compile()) but at first-request
time
- added "compile_mappers()" function as a shortcut to compiling all mappers
Mike Bayer [Fri, 5 Jan 2007 18:51:23 +0000 (18:51 +0000)]
- default "timezone" setting is now False. this corresponds to Python's datetime
behavior as well as Postgres' timestamp/time types (which is the only timezone-sensitive
dialect at the moment) [ticket:414]
Mike Bayer [Tue, 2 Jan 2007 03:43:09 +0000 (03:43 +0000)]
- added "none" to the list of cascades, although im not sure if we should really allow "none" since it currently doesnt do anything (what should it do, cancel out the other cascades?)
Mike Bayer [Mon, 1 Jan 2007 00:10:37 +0000 (00:10 +0000)]
- global "insure"->"ensure" change. in US english "insure" is actually
largely interchangeable with "ensure" (so says the dictionary), so I'm not
completely illiterate, but its definitely sub-optimal to "ensure" which is
non-ambiguous.
Mike Bayer [Thu, 28 Dec 2006 00:27:58 +0000 (00:27 +0000)]
- fix to correlation of subqueries when the column list of the select statement
is constructed with individual calls to append_column(); this fixes an ORM
bug whereby nested select statements were not getting correlated with the
main select generated by the Query object.
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 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