
    -h                     D    S SK r SSKJr   " S S\5      r " S S\5      rg)    N   )ABCc                       \ rS rSrSrSrSr\R                  S 5       r	\R                  S 5       r
\R                  S 5       rSrg)	ConnectionCharacteristic   a  An abstract base for an object that can set, get and reset a
per-connection characteristic, typically one that gets reset when the
connection is returned to the connection pool.

transaction isolation is the canonical example, and the
``IsolationLevelCharacteristic`` implementation provides this for the
``DefaultDialect``.

The ``ConnectionCharacteristic`` class should call upon the ``Dialect`` for
the implementation of each method.   The object exists strictly to serve as
a dialect visitor that can be placed into the
``DefaultDialect.connection_characteristics`` dictionary where it will take
effect for calls to :meth:`_engine.Connection.execution_options` and
related APIs.

.. versionadded:: 1.4

 Fc                     g)z@Reset the characteristic on the connection to its default value.Nr   selfdialect
dbapi_conns      vC:\Users\ROHAN GUPTA\OneDrive\Desktop\mathbuddy-assessment\venv\Lib\site-packages\sqlalchemy/engine/characteristics.pyreset_characteristic-ConnectionCharacteristic.reset_characteristic$           c                     g)z6set characteristic on the connection to a given value.Nr   r   r   r   values       r   set_characteristic+ConnectionCharacteristic.set_characteristic(   r   r   c                     g)zHGiven a DBAPI connection, get the current value of the
characteristic.

Nr   r
   s      r   get_characteristic+ConnectionCharacteristic.get_characteristic,   r   r   N)__name__
__module____qualname____firstlineno____doc__	__slots__transactionalabcabstractmethodr   r   r   __static_attributes__r   r   r   r   r      sc    & IMO O 	E E 	 r   r   c                   *    \ rS rSrSrS rS rS rSrg)IsolationLevelCharacteristic4   Tc                 &    UR                  U5        g N)reset_isolation_levelr
   s      r   r   1IsolationLevelCharacteristic.reset_characteristic7   s    %%j1r   c                 &    UR                  X#5        g r)   )set_isolation_levelr   s       r   r   /IsolationLevelCharacteristic.set_characteristic:   s    ##J6r   c                 $    UR                  U5      $ r)   )get_isolation_levelr
   s      r   r   /IsolationLevelCharacteristic.get_characteristic=   s    **:66r   r   N)	r   r   r   r   r!   r   r   r   r$   r   r   r   r&   r&   4   s    M277r   r&   )r"   utilr   r   r&   r   r   r   <module>r3      s'     %s %P
7#; 
7r   