summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/orm/instrumentation.py
Commit message (Collapse)AuthorAgeFilesLines
* - with InstanceState more public, underscore all its methodsMike Bayer2012-07-181-7/+7
| | | | | that change object state as these aren't intended for public use.
* - [moved] The InstrumentationManager interfaceMike Bayer2012-06-241-316/+79
| | | | | | | | | | | | | and the entire related system of alternate class implementation is now moved out to sqlalchemy.ext.instrumentation. This is a seldom used system that adds significant complexity and overhead to the mechanics of class instrumentation. The new architecture allows it to remain unused until InstrumentationManager is actually imported, at which point it is bootstrapped into the core.
* - move all of orm to use absolute importsMike Bayer2012-06-231-4/+3
| | | | | | | | - break out key mechanics of loading objects into new "orm.loading" module, removing implementation details from both mapper.py and query.py. is analogous to persistence.py - some other cleanup and old cruft removal
* - [removed] The legacy "mutable" system of theMike Bayer2012-04-231-7/+1
| | | | | | | | | | | | | | ORM, including the MutableType class as well as the mutable=True flag on PickleType and postgresql.ARRAY has been removed. In-place mutations are detected by the ORM using the sqlalchemy.ext.mutable extension, introduced in 0.7. The removal of MutableType and associated constructs removes a great deal of complexity from SQLAlchemy's internals. The approach performed poorly as it would incur a scan of the full contents of the Session when in use. [ticket:2442]
* begin implementing inspection system for #2208Mike Bayer2012-04-031-1/+1
|
* happy new yearMike Bayer2012-01-041-1/+1
|
* - Enhanced the instrumentation in the ORM to supportMike Bayer2011-09-281-0/+4
| | | | | | | | Py3K's new argument style of "required kw arguments", i.e. fn(a, b, *, c, d), fn(a, b, *args, c, d). Argument signatures of mapped object's __init__ method will be preserved, including required kw rules. [ticket:2237]
* take out a little cruft. Spend two hours trying to make things simpler,Mike Bayer2011-06-011-23/+1
| | | | | maybe we dont need state.callables (nope we do), maybe we can move populate_state out (nope we lose speed that way), things are the way they are...
* - add a comment regarding why __init__ has a return valueMike Bayer2011-05-281-1/+2
|
* - whitespace removal bonanzaMike Bayer2011-01-021-51/+51
|
* - clean up copyright, update for 2011, stamp every file withMike Bayer2011-01-021-0/+6
| | | | | a consistent tag - AUTHORS file
* - removes the "on_" prefix.Mike Bayer2010-12-301-4/+4
|
* - another heap of inlinings and now I really have to be done with thisMike Bayer2010-12-211-7/+9
|
* - propagate flag on event.listen() results in the listener being placedMike Bayer2010-11-071-6/+19
| | | | | | | | | | | in a separate collection. this collection also propagates during update() - ClassManager now handles bases, subclasses collections. - ClassManager looks at __bases__ instead of __mro__ for superclasses. It's assumed ClassManagers are in an unbroken chain upwards through __mro__. - trying to get a clear() that makes sense on cls.dispatch - implemented propagate for attribute events, plus permutation-based test - implemented propagate for mapper / instance events with rudimentary test - some pool events tests are failing for some reason
* a little cleanup, but we probably need a generalized "propagate" mechanismMike Bayer2010-11-061-2/+3
|
* - begin adding tests for event registration and dispatch standaloneMike Bayer2010-10-021-1/+1
| | | | | - fix pickling again - other test fixes
* - add instrumentation eventsMike Bayer2010-10-021-2/+10
| | | | | | | | | - simplify listen_for_events example with new system - add "propagate", "retval", "raw" flags to attribute events. this solves the "return value" issue as well as the "subclass" issue. - begin thinking about event removal. Each listen() method will have a corresponding remove(). Custom listen() methods will have to package all the info onto the event function that is needed to remove its state.
* - reorganizationMike Bayer2010-09-141-0/+661
- attrbutes.py splits into attribtes.py and instrumentation.py - all the various Event subclasses go into events.py modules - some ideas for orm events - move *Extension out to deprecated_interfaces