bD
& d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ej Z G d d
e
Z G d de Z
G d
de Z e Zej xZZej xZZej xZZd Zd Zd Zd ZdS )a Defines SQLAlchemy's system of class instrumentation.
This module is usually not directly visible to user applications, but
defines a large part of the ORM's interactivity.
instrumentation.py deals with registration of end-user classes
for state tracking. It interacts closely with state.py
and attributes.py which establish per-instance and per-class-attribute
instrumentation, respectively.
The class instrumentation system can be customized on a per-class
or global basis using the :mod:`sqlalchemy.ext.instrumentation`
module, which provides the means to build and specify
alternate instrumentation forms.
.. versionchanged: 0.8
The instrumentation extension system was moved out of the
ORM and into the external :mod:`sqlalchemy.ext.instrumentation`
package. When that package is imported, it installs
itself within sqlalchemy.orm so that its more comprehensive
resolution mechanics take effect.
)base)collections)exc)
interfaces)state )utilc ^ e Zd ZdZej Zej Z e e
j e ZdZ
ej ZdZd Zd Zd Zed Zed Zed Zed Ze
j d
Zd/dZd/dZd
Zd Zd Z d Z!e
j d Z"d Z#d Z$e
j% d Z&e
j% d Z'e
j% d Z(d0dZ)d Z*d Z+d0dZ,d Z-d Z.d Z/d Z0d Z1d! Z2d" Z3d0d#Z4d$ Z5ed% Z6d/d&Z7d/d'Z8d( Z9d) Z:d* Z;d+ Z