o
    Rh
                     @   s^   d dl Z d dlmZ d dlmZ G dd dZG dd dZG dd	 d	ZG d
d deZdS )    N)Sequence)ClauseElementc                   @   s*   e Zd Zd
ddZd
ddZddd	ZdS )DatabaseBackendreturnNc                       t  NNotImplementedErrorself r   V/home/air/sanwanet/backup_V2/venv/lib/python3.10/site-packages/databases/interfaces.pyconnect      zDatabaseBackend.connectc                    r   r   r   r
   r   r   r   
disconnect   r   zDatabaseBackend.disconnectConnectionBackendc                 C      t  r   r   r
   r   r   r   
connection      zDatabaseBackend.connectionr   N)r   r   )__name__
__module____qualname__r   r   r   r   r   r   r   r      s    

r   c                   @   s   e Zd ZdddZdddZdedejd fd	d
Zdedej	d fddZ
	ddedejdejfddZdedejfddZdeje ddfddZdedejejdf fddZdddZedejfddZdS ) r   r   Nc                    r   r   r   r
   r   r   r   acquire   r   zConnectionBackend.acquirec                    r   r   r   r
   r   r   r   release   r   zConnectionBackend.releasequeryRecordc                    r   r   r   r   r   r   r   r   	fetch_all   r   zConnectionBackend.fetch_allc                    r   r   r   r   r   r   r   	fetch_one   r   zConnectionBackend.fetch_oner   columnc                    s&   |  |I d H }|d u rd S || S r   )r   )r   r   r    rowr   r   r   	fetch_val   s   zConnectionBackend.fetch_valc                    r   r   r   r   r   r   r   execute%   r   zConnectionBackend.executequeriesc                    r   r   r   )r   r$   r   r   r   execute_many(   r   zConnectionBackend.execute_manyc                 C  s   t  r   r   r   r   r   r   iterate+      zConnectionBackend.iterateTransactionBackendc                 C   r   r   r   r
   r   r   r   transaction3   r   zConnectionBackend.transactionc                 C   r   r   r   r
   r   r   r   raw_connection6      z ConnectionBackend.raw_connectionr   )r   )r   r(   )r   r   r   r   r   r   typingListr   Optionalr   Anyr"   r#   r%   AsyncGeneratorMappingr&   r)   propertyr*   r   r   r   r   r      s.    




r   c                   @   sD   e Zd Zdedejejejf ddfddZdddZdd	d
Z	dS )r(   is_rootextra_optionsr   Nc                    r   r   r   )r   r3   r4   r   r   r   start<   r'   zTransactionBackend.startc                    r   r   r   r
   r   r   r   commitA   r   zTransactionBackend.commitc                    r   r   r   r
   r   r   r   rollbackD   r   zTransactionBackend.rollbackr   )
r   r   r   boolr,   Dictr/   r5   r6   r7   r   r   r   r   r(   ;   s    

r(   c                   @   s6   e Zd ZedejfddZdejdejfddZdS )r   r   c                 C   r   r   r   r
   r   r   r   _mappingI   r+   zRecord._mappingkeyc                 C   r   r   r   )r   r;   r   r   r   __getitem__M   r   zRecord.__getitem__N)	r   r   r   r2   r,   r1   r:   r/   r<   r   r   r   r   r   H   s    r   )	r,   collections.abcr   sqlalchemy.sqlr   r   r   r(   r   r   r   r   r   <module>   s    )