§
    
 @g(	  ã                  ó¢   — d dl mZ d dlZd dlZd dlmZ d dlmZ ej        rddlmZ ddlm	Z	  G d„ d	ej
        ¦  «        Z G d
„ de¦  «        ZdS )é    )ÚannotationsN)ÚAny)ÚClassVaré   )ÚDBAPIConnection)ÚDialectc                  óŒ   — e Zd ZU dZdZdZded<   ej        dd„¦   «         Z	ej        dd„¦   «         Z
ej        dd„¦   «         ZdS )ÚConnectionCharacteristica÷  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

    © FúClassVar[bool]ÚtransactionalÚdialectr   Ú
dbapi_connr   ÚreturnÚNonec                ó   — dS )z@Reset the characteristic on the connection to its default value.Nr   ©Úselfr   r   s      úU/var/www/piapp/venv/lib/python3.11/site-packages/sqlalchemy/engine/characteristics.pyÚreset_characteristicz-ConnectionCharacteristic.reset_characteristic%   ó   € € € ó    Úvaluer   c                ó   — dS )z6set characteristic on the connection to a given value.Nr   ©r   r   r   r   s       r   Úset_characteristicz+ConnectionCharacteristic.set_characteristic+   r   r   c                ó   — dS )zXGiven a DBAPI connection, get the current value of the
        characteristic.

        Nr   r   s      r   Úget_characteristicz+ConnectionCharacteristic.get_characteristic1   r   r   N©r   r   r   r   r   r   ©r   r   r   r   r   r   r   r   ©r   r   r   r   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__r   Ú__annotations__ÚabcÚabstractmethodr   r   r   r   r   r   r
   r
      sª   € € € € € € ðð ð& €Ià$)€MÐ)Ð)Ð)Ñ)àÔðOð Oð Oñ ÔðOð
 	ÔðEð Eð Eñ ÔðEð
 	Ôðð ð ñ Ôðð ð r   r
   c                  ó6   — e Zd ZU dZded<   dd
„Zdd„Zdd„ZdS )ÚIsolationLevelCharacteristicTr   r   r   r   r   r   r   r   c                ó0   — |                      |¦  «         d S ©N)Úreset_isolation_levelr   s      r   r   z1IsolationLevelCharacteristic.reset_characteristic>   s   € ð 	×%Ò% jÑ1Ô1Ð1Ð1Ð1r   r   r   c                ó2   — |                      ||¦  «         d S r-   )Ú_assert_and_set_isolation_levelr   s       r   r   z/IsolationLevelCharacteristic.set_characteristicC   s    € ð 	×/Ò/°
¸EÑBÔBÐBÐBÐBr   c                ó,   — |                      |¦  «        S r-   )Úget_isolation_levelr   s      r   r   z/IsolationLevelCharacteristic.get_characteristicH   s   € ð ×*Ò*¨:Ñ6Ô6Ð6r   Nr   r    r!   )r"   r#   r$   r   r'   r   r   r   r   r   r   r+   r+   ;   sg   € € € € € € Ø$(€MÐ(Ð(Ð(Ñ(ð2ð 2ð 2ð 2ð
Cð Cð Cð Cð
7ð 7ð 7ð 7ð 7ð 7r   r+   )Ú
__future__r   r(   Útypingr   r   ÚTYPE_CHECKINGÚ
interfacesr   r   ÚABCr
   r+   r   r   r   ú<module>r8      sÞ   ðØ "Ð "Ð "Ð "Ð "Ð "à 
€
€
€
Ø €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à	Ôð $Ø+Ð+Ð+Ð+Ð+Ð+Ø#Ð#Ð#Ð#Ð#Ð#ð+ð +ð +ð +ð +˜sœwñ +ô +ð +ð\7ð 7ð 7ð 7ð 7Ð#;ñ 7ô 7ð 7ð 7ð 7r   