File: //opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/orm/instrumentation.pyc
�
���ec @ s@ d Z d d l Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z d d
l m Z d d l m Z e j
d � Z d
e e f d � � YZ
d e f d � � YZ d e f d � � YZ e � Z e j Z Z e j Z Z e j Z Z e e e e e e d � Z d � Z d � Z d � Z d S( s� 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.
i����Ni ( t base( t collections( t exc( t
interfaces( t statei ( t util( t HasMemoizedt DEL_ATTRt ClassManagerc B s� e Z d Z e j Z e j Z e e j
e � � Z d2 Z
d2 Z d2 Z d2 Z d2 Z d2 Z e e j d d d �d � � � Z e j e j d d d �d � � � Z d � Z e d2 d2 d2 d2 d2 d � Z d � Z d � Z d
� Z e d � � Z e j d � � Z e j d
� � Z! e j d � � Z"