+
    ˜h©j�  ã                  óØ   € ^ RI Ht ^ RIt^ RIt^ RIHt ^ RIHt ]P                  '       d   ^RIHt ^RI	H
t
 ^RI	Ht  ! R R	]P                  4      t ! R
 R]4      t ! R R]4      tR# )é    )ÚannotationsN)ÚAny)ÚClassVar)Ú
Connection)ÚDBAPIConnection)ÚDialectc                  óÄ   € ] tR t^t$ RtRtRtR]R&   ]P                  R R l4       t
]P                  R R l4       tR	 R
 lt]P                  R R l4       tR R ltRtR# )Ú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]Útransactionalc               ó$   € V ^8„  d   QhRRRRRR/# ©é   Údialectr   Ú
dbapi_connr   ÚreturnÚNone© )Úformats   "Ú\/var/www/html/bestweb/venv/lib/python3.14/site-packages/sqlalchemy/engine/characteristics.pyÚ__annotate__Ú%ConnectionCharacteristic.__annotate__-   s$   € ÷ ñ ØðØ,;ðà	ñó    c                ó   € R# )zFReset the characteristic on the DBAPI connection to its default
value.Nr   ©Úselfr   r   s   &&&r   Úreset_characteristicÚ-ConnectionCharacteristic.reset_characteristic,   ó   ‚ r   c               ó(   € V ^8„  d   QhRRRRRRRR/# ©	r   r   r   r   r   Úvaluer   r   r   r   )r   s   "r   r   r   4   s2   € ÷ Kñ KØðKØ,;ðKØDGðKà	ñKr   c                ó   € R# )z<set characteristic on the DBAPI connection to a given value.Nr   ©r   r   r   r"   s   &&&&r   Úset_characteristicÚ+ConnectionCharacteristic.set_characteristic3   r   r   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# ©r   r   r   Úconnr   r   r   r"   r   r   r   r   )r   s   "r   r   r   9   s<   € ÷ <ñ <àð<ð ð<ð $ð	<ð
 ð<ð 
ñ<r   c                ó*   € V P                  WV4       R# )z¼set characteristic on the :class:`_engine.Connection` to a given
value.

.. versionadded:: 2.0.30 - added to support elements that are local
   to the :class:`_engine.Connection` itself.

N)r%   ©r   r   r)   r   r"   s   &&&&&r   Úset_connection_characteristicÚ6ConnectionCharacteristic.set_connection_characteristic9   s   € ð 	×Ñ °UÖ;r   c               ó$   € V ^8„  d   QhRRRRRR/# ©r   r   r   r   r   r   r   r   )r   s   "r   r   r   J   s$   € ÷ ñ ØðØ,;ðà	ñr   c                ó   € R# )zHGiven a DBAPI connection, get the current value of the
characteristic.

Nr   r   s   &&&r   Úget_characteristicÚ+ConnectionCharacteristic.get_characteristicI   r   r   c               ó(   € V ^8„  d   QhRRRRRRRR/# ©	r   r   r   r)   r   r   r   r   r   r   )r   s   "r   r   r   R   s,   € ÷ 
<ñ 
<Øð
<Ø&0ð
<Ø>Mð
<à	ñ
<r   c                ó$   € V P                  W4      # )zÆGiven a :class:`_engine.Connection`, get the current value of the
characteristic.

.. versionadded:: 2.0.30 - added to support elements that are local
   to the :class:`_engine.Connection` itself.

)r1   ©r   r   r)   r   s   &&&&r   Úget_connection_characteristicÚ6ConnectionCharacteristic.get_connection_characteristicR   s   € ð ×&Ñ& wÓ;Ð;r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú	__slots__r   Ú__annotations__ÚabcÚabstractmethodr   r%   r,   r1   r7   Ú__static_attributes__r   r   r   r
   r
      su   ‡ ñð& €Ià$)€M�>Ó)à×Ñôó ðð 	×ÑôKó ðKõ
<ð  	×Ñôó ð÷
<ñ 
<r   r
   c                  óN   € ] tR t^_t$ RtRtR]R&   R R ltR R ltR	 R
 lt	Rt
R# )ÚIsolationLevelCharacteristicz0Manage the isolation level on a DBAPI connectionTr   r   c               ó$   € V ^8„  d   QhRRRRRR/# r   r   )r   s   "r   r   Ú)IsolationLevelCharacteristic.__annotate__d   s$   € ÷ 2ñ 2Øð2Ø,;ð2à	ñ2r   c                	ó(   € VP                  V4       R # ©N)Úreset_isolation_levelr   s   &&&r   r   Ú1IsolationLevelCharacteristic.reset_characteristicd   s   € ð 	×%Ñ% jÖ1r   c               ó(   € V ^8„  d   QhRRRRRRRR/# r!   r   )r   s   "r   r   rF   i   s2   € ÷ Cñ CØðCØ,;ðCØDGðCà	ñCr   c                	ó(   € VP                  W#4       R # rH   )Ú_assert_and_set_isolation_levelr$   s   &&&&r   r%   Ú/IsolationLevelCharacteristic.set_characteristici   s   € ð 	×/Ñ/°
ÖBr   c               ó$   € V ^8„  d   QhRRRRRR/# r/   r   )r   s   "r   r   rF   n   s$   € ÷ 7ñ 7Øð7Ø,;ð7à	ñ7r   c                	ó$   € VP                  V4      # rH   )Úget_isolation_levelr   s   &&&r   r1   Ú/IsolationLevelCharacteristic.get_characteristicn   s   € ð ×*Ñ*¨:Ó6Ð6r   r   N)r9   r:   r;   r<   r=   r   r?   r   r%   r1   rB   r   r   r   rD   rD   _   s$   ‡ Ù:à$(€M�>Ó(õ2õ
C÷
7ñ 7r   rD   c                  óf   € ] tR t^tt$ RtRtR]R&   R R ltR R ltR	 R
 lt	R R lt
R R ltRtR# )ÚLoggingTokenCharacteristicz_Manage the 'logging_token' option of a :class:`_engine.Connection`.

.. versionadded:: 2.0.30

Fr   r   c               ó$   € V ^8„  d   QhRRRRRR/# r   r   )r   s   "r   r   Ú'LoggingTokenCharacteristic.__annotate__}   s$   € ÷ ñ ØðØ,;ðà	ñr   c                	ó   € R # rH   r   r   s   &&&r   r   Ú/LoggingTokenCharacteristic.reset_characteristic}   s   € ñ 	r   c               ó(   € V ^8„  d   QhRRRRRRRR/# r!   r   )r   s   "r   r   rV   ‚   s,   € ÷ $ñ $Øð$Ø,;ð$ØDGð$à	ñ$r   c                	ó   € \        4       hrH   ©ÚNotImplementedErrorr$   s   &&&&r   r%   Ú-LoggingTokenCharacteristic.set_characteristic‚   ó   € ô "Ó#Ð#r   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# r(   r   )r   s   "r   r   rV   ‡   s<   € ÷ 
(ñ 
(àð
(ð ð
(ð $ð	
(ð
 ð
(ð 
ñ
(r   c                	ó6   a€ S'       d   V3R  lVn         R# V= R# )c                ó   <€ R S: RV : 2# )Ú[z] r   )Úmsgr"   s   &€r   Ú<lambda>ÚJLoggingTokenCharacteristic.set_connection_characteristic.<locals>.<lambda>�   s
   ø� »uÂcÑ2Jr   N)Ú_message_formatterr+   s   &&&&fr   r,   Ú8LoggingTokenCharacteristic.set_connection_characteristic‡   s   ø€ ÷ Ü&JˆDÖ#àÒ'r   c               ó$   € V ^8„  d   QhRRRRRR/# r/   r   )r   s   "r   r   rV   “   s$   € ÷ $ñ $Øð$Ø,;ð$à	ñ$r   c                	ó   € \        4       hrH   r[   r   s   &&&r   r1   Ú-LoggingTokenCharacteristic.get_characteristic“   r^   r   c               ó(   € V ^8„  d   QhRRRRRRRR/# r4   r   )r   s   "r   r   rV   ˜   s2   € ÷ Bñ BØðBØ&0ðBØ>MðBà	ñBr   c                	ó:   € VP                   P                  R R4      # )Úlogging_tokenN)Ú_execution_optionsÚgetr6   s   &&&&r   r7   Ú8LoggingTokenCharacteristic.get_connection_characteristic˜   s   € ð ×&Ñ&×*Ñ*¨?¸DÓAÐAr   r   N)r9   r:   r;   r<   r=   r   r?   r   r%   r,   r1   r7   rB   r   r   r   rT   rT   t   s3   ‡ ñð %*€M�>Ó)õõ
$õ

(õ$÷
Bñ Br   rT   )Ú
__future__r   r@   Útypingr   r   ÚTYPE_CHECKINGÚbaser   Ú
interfacesr   r   ÚABCr
   rD   rT   r   r   r   Ú<module>rw      sZ   ðõ #ã 
Û Ý Ý à	××ÐÝ Ý+Ý#ôH<˜sŸw™wô H<ôV7Ð#;ô 7ô*'BÐ!9ö 'Br   